前提・実現したいこと
Unityでマイクから音をとってフーリエ変換したいです。
発生している問題
AudioSourceをミュートにすると、うまく動きません
ミュートにしないと、うまく動くがハウリングします
そこでVolumeを下げたが、下げるにつれて感度が悪くなります
下のソースコード
「aud.mute= true;//ここがfalseだとうまく動きます。」の部分です。
こちらの解決策をご存知ではないでしょうか
現在、空のオブジェクトsoundObjを作り、そこにAudioSourceコンポーネントを追加し、AudioSourceコンポーネントに下のスクリプトをアタッチしています。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Example : MonoBehaviour { 6 7 // Use this for initialization 8 void Start () { 9 AudioSource aud=GetComponent<AudioSource>(); 10 aud.clip=Microphone.Start(null,true,1,44100); 11 aud.loop = true; 12 aud.mute= true;//ここがfalseだとうまく動きます。 13 while (!(Microphone.GetPosition("") > 0)){} 14 aud.Play(); 15 } 16 17 // Update is called once per frame 18 void Update () { 19 float[] spectrum = new float[256]; 20 AudioListener.GetSpectrumData(spectrum,0,FFTWindow.Rectangular); 21 Debug.Log(spectrum[10]); 22 } 23}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/11 02:17