我正在努力處理與PCM數據播放時間有關的簡單概念。我會很感激你的反饋。
我正在開發的應用程序會從音樂表中彈奏吉他筆記。
我已經實現了Jaffe-Smith算法,用於吉他撥片。
https://ccrma.stanford.edu/~jos/Mohonk05/Extended_Karplus_Strong_EKS_Algorithm.html。
假設我計算一秒鐘音符A(440 Hz)的採樣。
在採樣率爲11025時,我將存儲11025個樣本,可以將這些樣本作爲PCM音頻發送到計算機揚聲器。
對於吉他上的所有獨特音符,計算所有音符的樣本需要相當長的一段時間。我想我會預先計算並將它們保存爲二進制數據,並在應用程序運行時加載它們。
到目前爲止這麼好。
現在,假設我想播放一首歌曲(各種音符清單)。假設這首歌曲需要以每分鐘100次的速度播放。比方說,我必須打一個節拍或0.6秒(60/100)的音符A.
重新計算樣本0.6秒可能需要相當長的一段時間。
我可以直接播放(11025 * 0.6)樣本嗎?這會產生副作用嗎?
有沒有更好的方法來實現我想要做的?
非常感謝您的幫助。
問候, 彼得