語音編碼,得到每幀訊號的lpc係數和基音頻率,就能**出語音。
該方法可算出共振峰等引數,方便做變調的時候,對共振峰進行調整。
通過lp-psola演算法,學習基音檢測的原理和演算法,方便開展更多工作。
1.聲學引數,如共振峰頻率,基頻,主要由聲道差異決定。
2.韻律學引數,如說話快慢,節奏,口音不同。
把語音在時間上縮短或者拉長,而語音的取樣頻率/基頻/共振峰不改變。
如圖,上半軸表示原始語音,下半軸表示變速後的語音。上半軸大圓點表示每一幀的起始位置,下半軸小圓點表示變速後的每一幀起始位置。
語音時間減少,語速增加,縮短語音幀數fn』比原幀數少,因此要對幀數fn進行插值。
縮短語音每一幀對應的原始訊號的時間,並不是原始訊號的時刻,因此要對基音週期進行插值。
同樣要對線性**係數進行插值。
ps. 這裡講一下插值函式interp1函式的使用:
matlab hep:1-d data interpolation (table lookup)
既然有interp1,那一定也有interp2/interp3,interp1用來對一維陣列進行插值,但是,interp1也可用用來做二維陣列的插值,也是一維一維地處理。
說明: 注意橫座標,原始訊號得時間長度大概為2.5秒,速度放慢一倍,語音長度變為5秒,在相同取樣頻率fs = 8000hz下,語音速度就變慢了。
[1] 宋知用. matlab在語音頻號分析與合成中的應用[m]. 北京:北京航空航天大學出版社:2013.
LP PSOLA演算法之(二) 語音變調
1.聲學引數,如共振峰頻率,基頻,主要由聲道差異決定。2.韻律學引數,如說話快慢,節奏,口音不同。改變語音基音頻率 pitch pitch變大 男聲變女生,pitch變小,女聲變男聲。所以問題就變得很簡單,只要在語音合成之前,根據變調要求改變pitch大小,合成後得語音就能達到變調得效果。值得注意得...
Haskell函式式程式設計之一 語言初體驗
如果你是使用面向對像語言進行程式設計的程式設計師,那麼你應該去了解掌握一門動態語言。而動態語言的魔力之一就是函式式程式設計。而要學習了解函式式程式設計,那麼haskell是乙個不錯的選擇。haskell是是一門純函式式程式語言 purely functional programming langua...
重寫排序演算法之一
1.快速排序 def partition a,p,q x a p i p for j in xrange p 1,q 1 if a j 0 and a j key a j 1 a j j 1 a j 1 key a 32,5,46,57,68,34,5,768,3,234,123,35,2,1 in...