Version: 5.4
Method group is Obsolete
GetSpectrumData returning a float[] is deprecated, use GetSpectrumData passing a pre allocated array instead.

AudioSource.GetSpectrumData

マニュアルに切り替える
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 ); } } }

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.