質問編集履歴
2
比較したので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,28 +7,36 @@
|
|
7
7
|
|
8
8
|
特定のチャンネルを、forで回して[count * 対象のチャンネル]で取り出し、[unity公式](https://docs.unity3d.com/ja/2019.4/ScriptReference/FFTWindow.html)を参考に以下の式で変換するところまで書けてます。
|
9
9
|
```
|
10
|
+
//BlackmanHarris
|
10
11
|
for(int count = 0;count < data.Length;++count)
|
11
|
-
data[count] *= 0.35875 - (0.48829 * Math.Cos(1.0 * (
|
12
|
+
data[count] *= 0.35875 - (0.48829 * Math.Cos(1.0 * (【n/N】))) + (0.14128 * Math.Cos(2.0 * (【n/N】))) - (0.01168 * Math.Cos(3.0 * (【n/N】)));
|
12
13
|
```
|
13
14
|
|
14
15
|
### 発生している問題
|
15
16
|
ここまで書けたので、AudioSourceにAudioClipとして読ませて、再生位置に合わせて表示させてみました。
|
16
|
-
[GetSpectrumData](https://docs.unity3d.com/ja/2019.4/ScriptReference/AudioSource.GetSpectrumData.html)の
|
17
|
+
[GetSpectrumData](https://docs.unity3d.com/ja/2019.4/ScriptReference/AudioSource.GetSpectrumData.html)の各線でテストします。
|
18
|
+
音階を示しているようなので、緑線を特に注視します。
|
19
|
+
|
20
|
+
- 「n/N」=「(2.0 * Math.PI / (double)data.Length) * count」
|
21
|
+
参考にした処理そのままです。
|
22
|
+
明らかに音階を反映していません。
|
23
|
+
まったく揃っておらず、ぶれぶれ。
|
24
|
+
縦位置は後半に進むにつれて高くなっています。
|
25
|
+
横位置は、完全にぶれぶれです。
|
26
|
+
|
27
|
+
- 「n/N」=「count/Sampling周波数」
|
28
|
+
明らかに音階を反映していません。
|
29
|
+
きれいに揃っています。
|
17
30
|
縦位置は曲に合わせて動いています。
|
18
|
-
しかし横位置は、大きくは動いて
|
31
|
+
しかし横位置は、大きくは動いてません。
|
19
|
-
|
20
|
-
不自然なくらいきれいな気もします。
|
21
|
-
(そもそも緑線がどういう表示かわかってません。)
|
22
32
|
|
23
33
|
### わからないこと
|
24
|
-
上の計算式
|
34
|
+
音階は上の計算式を直せば、それも恐らくn/Nを直せば表示できるような気がします。
|
25
|
-
|
26
|
-
|
35
|
+
しかしどんな式を入れればAudioSource.GetSpectrumDataと同じ表示になるのかが全くわかりません。
|
27
36
|
|
28
37
|
### 実現したいこと
|
29
38
|
- [ ] ~~サンプルデータをfloat[]を取得~~
|
30
|
-
- [ ] フーリエ変換の処理を完成させる
|
31
|
-
- [ ] 音階をDebug.DrawLineで表示
|
39
|
+
- [ ] フーリエ変換の処理を完成させ、音階をDebug.DrawLineで表示させる
|
32
40
|
- [ ] ~~画像化?~~
|
33
41
|
- [ ] ~~wavetoneのように音階を表示~~
|
34
42
|
|
1
一部修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
```
|
13
13
|
|
14
14
|
### 発生している問題
|
15
|
-
ここまで書けたので、AudioSourceにAudioClipとして読ませて、
|
15
|
+
ここまで書けたので、AudioSourceにAudioClipとして読ませて、再生位置に合わせて表示させてみました。
|
16
16
|
[GetSpectrumData](https://docs.unity3d.com/ja/2019.4/ScriptReference/AudioSource.GetSpectrumData.html)の緑線で、きれいに表示されています。
|
17
17
|
縦位置は曲に合わせて動いています。
|
18
18
|
しかし横位置は、大きくは動いているように見えません。
|