Version: 2017.3
public void GetSpectrumData (float[] samples, int channel, FFTWindow window);

パラメーター

samples オーディオサンプルとともに格納する配列です。その長さは 2 の累乗でなければなりません。
channel サンプルする元のチャンネル
window サンプリング時に使用する FFTWindow のタイプ

説明

現在再生されている Audio source のスペクトラムデータのブロックを提供します。

サンプルのパラメーターで指定された配列は、リクエストされたデータで埋められます。

Number of values (the length of the samples array provided) must be a power of 2. (ie 128/256/512 etc). Min = 64. Max = 8192. Use window to reduce leakage between frequency bins/bands. Note, the more complex window type, the better the quality, but reduced speed.

この関数は、オーディオクリップに指定されたサンプリングレートではなく、 AudioSettings.outputSampleRate で指定されたサンプリングレートを使用します。

See Also: AudioSource.GetOutputData, AudioListener.GetSpectrumData, AudioListener.GetOutputData.

using UnityEngine;

[RequireComponent(typeof(AudioSource))] public class AudioSourceGetSpectrumDataExample : MonoBehaviour { void Update() { float[] spectrum = new float[256];

AudioListener.GetSpectrumData(spectrum, 0, FFTWindow.Rectangular);

for (int i = 1; i < spectrum.Length - 1; i++) { Debug.DrawLine(new Vector3(i - 1, spectrum[i] + 10, 0), new Vector3(i, spectrum[i + 1] + 10, 0), Color.red); Debug.DrawLine(new Vector3(i - 1, Mathf.Log(spectrum[i - 1]) + 10, 2), new Vector3(i, Mathf.Log(spectrum[i]) + 10, 2), Color.cyan); Debug.DrawLine(new Vector3(Mathf.Log(i - 1), spectrum[i - 1] - 10, 1), new Vector3(Mathf.Log(i), spectrum[i] - 10, 1), Color.green); Debug.DrawLine(new Vector3(Mathf.Log(i - 1), Mathf.Log(spectrum[i - 1]), 3), new Vector3(Mathf.Log(i), Mathf.Log(spectrum[i]), 3), Color.blue); } } }

Obsolete public float[] GetSpectrumData (int numSamples, int channel, FFTWindow window);

パラメーター

numSamples 検索するサンプル数。その長さは 2 のべき乗でなければなりません。
channel サンプルする元のチャンネル
window サンプリング時に使用する FFTWindow のタイプ

説明

廃止されたバージョン。現在再生されているソースのスペクトラムデータのブロックを返します。

この関数のバリエーションは、呼び出されるたびに新しい配列を割り当てます。パフォーマンスを向上させるには、代わりに Non-alloc バージョンを使用してください。

Number of values (numSamples) must be a power of 2. (ie 128/256/512 etc). Min = 64. Max = 8192. Use window to reduce leakage between frequency bins/bands. Note, the more complex window type, the better the quality, but reduced speed.