matlab自帶了lpc計算函式
為了驗證lpc譜與短時傅利葉譜的逼近程度,首先計算stft,再計算lpc譜
,最後在一張圖上畫出來
matlab**片段如下:
framedata = z_frame(idx,:);
[ar,g] = lpc(framedata,p);
fft_mag = abs(fft(framedata, n));
lpc_mag = abs(fft(ar,n));
plot(20*log10(sqrt(g)./lpc_mag(1:81)),'--r');hold on;
plot(20*log10(fft_mag(1:81)));hold off;
legend('lpc spectrum','stft');
得到如下圖所示的譜,lpc譜的形狀倒是與stft一致,只是增益gain貌似差的有點大,百思不得其解……
再用voicebox裡面的lpcauto函式試試
matlab**中的lpc函式替換成lpcauto,得到如下結果,哈哈,差不多就是了
matlab自帶的lpc函式和voicebox的lpcauto函式均是採用自相關法實現的,怎會有這麼大的差距?
到lpc函式裡面去看個究竟,原來有這麼一行
x = fft(x,2^nextpow2(2*size(x,1)-1));
r = ifft(abs(x).^2);
r = r./m; % biased autocorrelation estimate !!!
[a,e] = levinson(r,n);
m不就是幀長麼,那就將該函式得到的g乘m就得到想要的結果
通過對比發現,matlab自帶的lpc函式和voicebox的lpcauto函式計算的lpc係數存在一定的誤差,但將階數p增加到50可以看到lpc函式得到的lpc譜貌似更逼近stft。
語音頻號處理
濁音的聲帶振動基本頻率 fundamental frequency 稱為基音頻率。濁音的基音頻率 pitch 語音生成系統和語音感知系統 語音頻號生成的數學模型 語音頻號的特性分析 語音頻號處理是以語音語言學和數字訊號處理為基礎的綜合性學科,是用數字訊號處理技術對語音頻號進行處理的一門學科。說話人識...
語音頻號的預處理
2014年09月05日 綜合 共 1116字 字型大小 小 中 大 回顧上兩次的內容 上次主要說了音訊檔案的讀取 主要是matlab和c語言 感覺有幾個概念有點混淆 語音 音訊 語音英文是speech,音訊是audio,是music。據我的理解是音訊包括語音和 不知道這麼理解對不?此外,讀取音訊其實...
語音頻號處理共振峰
首先,什麼是語譜圖。最通常的,就是語音短時傅利葉變換的幅度畫出的2d圖。之所以是通常的,是因為可以不是傅利葉變換。窄帶 顧名思義,頻寬小,則時寬大,則短時窗長,窄帶語譜圖就是長窗條件下畫出的語譜圖。寬頻 正好相反。至於 橫豎條紋 窄帶語譜圖的帶寬窄,那麼在頻率上就 分得開 即能將語音各次諧波 看得很...