0
我想製作一個Android應用程序,用於收聽麥克風,並向揚聲器播放完全相同的聲音,但只改變頻率。 說我想玩總是加倍頻率相比,輸入。 我嘗試使用調音器,並使用該頻率使用AudioTrack類播放新音符,但聽起來與輸入無關。 (我猜是因爲泛音消失了。)Android - 從不同頻率的麥克風播放聲音
所以我已經知道輸入的頻率,但是我想改變頻率而不是僅僅發揮一個新音符,因爲它聽起來會有很大的不同。
有誰知道如何做到這一點? 在此先感謝, Jeroen D.
謝謝,我想出了一個想法:如果我知道特定時間的振幅,我可以使用正弦迴歸來獲得正弦方程,從而得到頻率。但這是否也能解決泛音問題?我假設麥克風確實記錄了所有泛音,因此只需計算每個幅度的所有正弦函數就可以給出正確的解決方案? – JeroenD
你完全正確。任何音調都可以由多個正弦/餘弦波的組合來表示。獲得正弦/餘弦波係數的最有效方法是fft。您需要將音頻數據樣本分組來做fft,而不是按樣本進行抽樣。單個數據點不包含任何頻率平均值,只有一部分數據。 – Daniel