Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Obsolete
GetSpectrumData returning a float[] is deprecated, use GetSpectrumData passing a pre allocated array instead.

AudioSource.GetSpectrumData

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function GetSpectrumData(samples: float[], channel: int, window: FFTWindow): void;
public void GetSpectrumData(float[] samples, int channel, FFTWindow window);

パラメーター

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

説明

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

サンプルのパラメーターに指定された配列は要求されたデータでいっぱいになります。

値の数( 提供されるサンプルの配列の長さ )は常に 2 のべき乗である必要があります。(例えば 128/256/512 )最小が 64 で最大が 8192 です。 bins/bands 周波数の間での漏れを軽減するために window を使用します。 より複雑なウィンドウタイプやよりよい品質を出す場合は減速に注意してください。

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

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


        
using UnityEngine;
using System.Collections;

public class GetSpectrumDataExample : MonoBehaviour { AudioSource audio; float[] spectrum = new float[256];

void Start() { audio = GetComponent<AudioSource>(); }

void Update() { audio.GetSpectrumData(spectrum, 0, FFTWindow.BlackmanHarris); int i = 1; while (i < spectrum.Length-1) { 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.yellow); i++; } } }

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

パラメーター

説明

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

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

値の数( numSamples )は常に 2 のべき乗である必要があります。(例えば 128/256/512 )最小が 64 で最大が 8192 です。 bins/bands 周波数の間での漏れを軽減するために window を使用します。 より複雑なウィンドウタイプやよりよい品質を出す場合は減速に注意してください。