質問編集履歴

1

誤字

2018/10/14 08:36

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 音をフーリエ変換した時に、各音階のy軸の値のを無くしたい
1
+ 音をフーリエ変換した各音階の差
test CHANGED
@@ -1,12 +1,12 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- MATLABで3つの音の和音(AとCsとE)を鳴らした後、フーリエ変換してグラフにプロットしています。
3
+ MATLABで3つの音の和音を鳴らした後、フーリエ変換してグラフにプロットしています。
4
4
 
5
5
 
6
6
 
7
7
  ###発生している問題・エラーメッセージ
8
8
 
9
- 各音階のy軸の値に差が出ています。なぜフーリエ変換をすると、音の大きさに差が出てしまうのか原因がわからないため、各音階のy軸の値を同一にする方法がわかりません。
9
+ 各音階のy軸の値に差が出ています。
10
10
 
11
11
 
12
12
 
@@ -14,31 +14,7 @@
14
14
 
15
15
  ```MATLAB
16
16
 
17
- Fs = 8000; %サンプリングレート
18
17
 
19
- A = 440; %Aの周波数
20
-
21
- period = 0.02; %1秒間の信号の長さ
22
-
23
- t = (0:1/Fs:period-1/Fs);
24
-
25
- f = (1/period:1/period:Fs);
26
-
27
- sep = power(2, 1/12);
28
-
29
- Cs = A*power(sep, 4) %C#の周波数
30
-
31
- E = Cs*power(sep, 3) %Eの周波数
32
-
33
-
34
-
35
- % 〔信号の〕ひずみをなくすために0.2を各音に掛ける
36
-
37
- y = 0.2*sin(2*pi*(A)*t) + 0.2*sin(2*pi*Cs*t) + 0.2*sin(2*pi*E*t);
38
-
39
- sound(y, Fs);
40
-
41
- fy = fft(y); %フーリエ変換
42
18
 
43
19
 
44
20