2011-06-21 87 views
1

我正在爲iPhone製作一個音調校正軟件。我目前正處於有趣的音頻隊列部分,而且我還有一些關於改變音調的問題。我目前的想法是增加採樣率並刪除其他每一幀。我把它設置爲記錄到一個文件,並使用LPCM格式從該文件播放。如果我理解正確lpcm每個數據包有一幀,所以刪除其他每一幀應該是小菜一碟。我在嘗試解決這部分代碼之前想知道的是,如果我使用lpcm,我可以在文件的不同部分中使用不同的採樣率嗎?如果不是,是否有另一種格式可以支持文件不同部分的多個採樣率?iPhone音頻隊列採樣率問題

+1

警告:這可能聽起來很糟糕。這是爲了演講,音樂還是什麼? –

+0

這是爲了改變它應該使用的任何聲音的音調。可能會更好地唱歌,因爲如果一個音調正在舉行,可以通過這種方式進行調整(我在這裏猜測)。這段代碼是一個實驗。但是我相信有一些方法可以改變音樂的效果,比音效更好,反之亦然。 –

+0

看到我的答案下面 - 也看到許多以前的問題和答案SO有關的變調,PSOLA,相位聲碼器等。 –

回答

1

您可能希望首先在合適的環境中(例如,MATLAB/Octave,或者甚至只是您在桌面系統上的首選語言)嘗試使用音高偏移算法本身。如果它需要爲音樂和言語而工作,那麼你可能要考慮實施phase vocoder

+0

我會研究,但我需要知道我的原始問題的答案,以加快/通過改變採樣率來減慢音頻文件的不同部分。 –

+0

@Daniel:我認爲這可能是錯誤的方法 - 相位聲碼器可以進行音高轉換和時間壓縮/拉伸,因此您可以在一個經過驗證的實現中獲得所需的全部內容,而不是訴諸於可疑的黑客攻擊在飛行中,這可能會引入一些討厭的文物。 –

+0

當然,我可能最終會這樣做。我並不是故意煩人,但是在實時採樣率上搞亂了實際的lpcm文件不能控制採樣率?如果是的話,所有的音頻格式是這樣嗎?我對音頻軟件很陌生。是lpcm蘋果名稱wav或任何(我只是扔出一個聲音文件類型)?我找不到lpcm的RFC。我從iOS開發人員庫的音頻數據格式標識符枚舉中獲取lpcm。我真的不知道這是不是一個標準的文件類型。但我聽說過pcm。 –