再生中のSourceのスペクトルデータのブロックを返します。
リスナーのスペクトルデータをfloat型の配列で返します。配列の長さは2 のべき乗でなければいけません。最小は64、最大は8192です。 周波数のbins/bandsの漏れを軽減するためにwindowを使用してください。 より複雑なウィンドウタイプ、より良い品質は減速してしまうことに注意してください。
再生中のSourceのスペクトルデータのブロックを返します。
リスナーのスペクトルデータをfloat型の配列で返します。配列の長さは2 のべき乗でなければいけません。最小は64、最大は8192です。 周波数のbins/bandsの漏れを軽減するためにwindowを使用してください。 より複雑なウィンドウタイプ、より良い品質は減速してしまうことに注意してください。
function Update () { var spectrum : float[] = audio.GetSpectrumData (1024, 0, FFTWindow.BlackmanHarris); for (var i = 1; i < 1023; 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.yellow); } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { float[] spectrum = audio.GetSpectrumData(1024, 0, FFTWindow.BlackmanHarris); int i = 1; while (i < 1023) { 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++; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Update() as void: spectrum as (float) = audio.GetSpectrumData(1024, 0, FFTWindow.BlackmanHarris) i as int = 1 while i < 1023: Debug.DrawLine(Vector3((i - 1), (spectrum[i] + 10), 0), Vector3(i, (spectrum[(i + 1)] + 10), 0), Color.red) Debug.DrawLine(Vector3((i - 1), (Mathf.Log(spectrum[(i - 1)]) + 10), 2), Vector3(i, (Mathf.Log(spectrum[i]) + 10), 2), Color.cyan) Debug.DrawLine(Vector3(Mathf.Log((i - 1)), (spectrum[(i - 1)] - 10), 1), Vector3(Mathf.Log(i), (spectrum[i] - 10), 1), Color.green) Debug.DrawLine(Vector3(Mathf.Log((i - 1)), Mathf.Log(spectrum[(i - 1)]), 3), Vector3(Mathf.Log(i), Mathf.Log(spectrum[i]), 3), Color.yellow) i++