回答編集履歴

3

一部修正

2020/11/24 23:28

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
 
16
16
 
17
- 上記修正後に時間幅が異なって見えるのは、wavファイルがステレオであるため、dataの前半が1番目のチャネル、後半が2番目のチャネル、となっているためです。単純修正するに以下ようにして1番目チャネルだけ取り出すとよいでしょう
17
+ 上記修正後に時間幅が異なって見えるのは、wavファイルがステレオであるため、dataの前半が1番目のチャネル、後半が2番目のチャネル、となっているためです。dataをもと変換逆変換をして作ったx2、y2のグラフは、2つのチャネルを時間軸で追記していなるためx1、y1グラフして、倍時間がかかっているうに見えてしまます
18
+
19
+
20
+
21
+ 単純に修正するには、x1、y1を計算する前に、以下のようにして1番目のチャネルだけ取り出すとよいでしょう。本来であればチャネルごとに別のグラフにあらわすようにするとよいでしょう。
18
22
 
19
23
 
20
24
 

2

間違った回答の修正

2020/11/24 23:28

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -14,14 +14,12 @@
14
14
 
15
15
 
16
16
 
17
- 上記修正後に時間幅が異なって見えるのは、x1y1の計算間違っているためと思います。y1はstftかけ前のdataそのもの、x1は、duration(録音時間)とdata長さをもと、生成ればよいで
17
+ 上記修正後に時間幅が異なって見えるのは、wavファイルがステレオであるためdataの前半が1番目チャネル、後半2番目のチャネル、となっているためす。単純に修正すは、以下ようして1番目のチャネルだけ取り出よいでしょう
18
18
 
19
19
 
20
20
 
21
21
  ```Python
22
22
 
23
- x1=np.linspace(0, duration, len(data))
23
+ data = data[:file.getnframes()]
24
-
25
- y1=data
26
24
 
27
25
  ```

1

補足追記

2020/11/24 23:22

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -7,3 +7,21 @@
7
7
 
8
8
 
9
9
  特にlogにより全体的に音量を潰しているため、逆変換が平板な形になっているように思えます。
10
+
11
+
12
+
13
+ 追記
14
+
15
+
16
+
17
+ 上記修正後に時間幅が異なって見えるのは、x1、y1の計算が間違っているためと思います。y1はstftかける前のdataそのもの、x1は、duration(録音時間)とdataの長さをもとに、生成すればよいです。
18
+
19
+
20
+
21
+ ```Python
22
+
23
+ x1=np.linspace(0, duration, len(data))
24
+
25
+ y1=data
26
+
27
+ ```