一段聲音可以理解為多種頻率正弦波的疊加[1],而音調就是一段聲音的主要頻率。改變了主要頻率,就是改變了音調——提高了主要頻率,就是公升調,反之亦然。
「同步交疊相加方法」(synchronized overlap-add method, sola) 是一種常見的時域法。在 sox 中的 pitch 音效使用的就是這種方法。這種方法應該是計算複雜度最低的演算法了,對於實時性要求高、計算能力差(如移動裝置)的場景下可以考慮。
文獻[3]是頻域法的乙個具體實現方式,其c++實現的**也公開了出來(見文獻[3]的鏈結)。頻域法的主體思想是把頻域中的幅度做整體平移(左移就是降調,右移同理),然後在恢復成時域訊號。頻域法需要做傅利葉變換或者小波變換等頻譜變換,計算複雜度往往比時域法高。
· sox:
· soundtouch:
· smbpitchshift.cpp :
1. 疊加原理:
2. 變速變調原理與方法總結:
3. pitch shifting using the fourier transform:
· audio time-scale/pitch modification:
· pitch shifting:
· guitar pitch shifter:
· real-time pitch-shifting of musical signals by a time-varying factor using normalized filtered correlation time-scale modification (nfc-tsm):
· pitch shifting of voices in real-time:
· 分段語音時長規整演算法:
· time and pitch scaling in audio processing:
音訊變調演算法總結
一段聲音可以理解為多種頻率正弦波的疊加 1 而音調就是一段聲音的主要頻率。改變了主要頻率,就是改變了音調 提高了主要頻率,就是公升調,反之亦然。同步交疊相加方法 synchronized overlap add method,sola 是一種常見的時域法。在 sox 中的 pitch 音效使用的就是...
LP PSOLA演算法之(二) 語音變調
1.聲學引數,如共振峰頻率,基頻,主要由聲道差異決定。2.韻律學引數,如說話快慢,節奏,口音不同。改變語音基音頻率 pitch pitch變大 男聲變女生,pitch變小,女聲變男聲。所以問題就變得很簡單,只要在語音合成之前,根據變調要求改變pitch大小,合成後得語音就能達到變調得效果。值得注意得...
iPhone 音訊總結
id initsession void interruptionlistenercallback void inuserdata,uint32 interruptionstate else if interruptionstate kaudiosessionendinterruption ad re...