質問編集履歴

2

比較したので修正

2022/11/30 16:28

投稿

Kuragenomori
Kuragenomori

スコア1

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 * ((double)count / SampleData_ChannelCount))) + (0.14128 * Math.Cos(2.0 * ((double)count / SampleData_ChannelCount))) - (0.01168 * Math.Cos(3.0 * ((double)count / SampleData_ChannelCount)));
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
- 上の計算式はBlackmanHarrisですがn/N「count/Sampling周波数」と書くのは、音階を表示させたい場合、合っていますか?
34
+ 音階は上の計算式を直せばそれも恐らくn/Nを直せば表示できるような気がします
25
-
26
- また、音階Debug.DrawLineで表示方法がわかりません。
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

一部修正

2022/11/30 15:52

投稿

Kuragenomori
Kuragenomori

スコア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
  しかし横位置は、大きくは動いているように見えません。