語音頻號LPC譜估計

2021-06-21 20:26:54 字數 1194 閱讀 3512

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圖。之所以是通常的,是因為可以不是傅利葉變換。窄帶 顧名思義,頻寬小,則時寬大,則短時窗長,窄帶語譜圖就是長窗條件下畫出的語譜圖。寬頻 正好相反。至於 橫豎條紋 窄帶語譜圖的帶寬窄,那麼在頻率上就 分得開 即能將語音各次諧波 看得很...