資源簡(jiǎn)介
本程序基于線(xiàn)性預(yù)測(cè)編碼(LPC)來(lái)實(shí)現(xiàn)對(duì)輸入語(yǔ)音信號(hào)的線(xiàn)性編碼(尋找預(yù)測(cè)器參數(shù))以及通過(guò)預(yù)測(cè)器參數(shù)完成對(duì)信號(hào)的重組回復(fù)
代碼片段和文件信息
%%?清空運(yùn)行環(huán)境
clear
clc
close?all
%%?讀取語(yǔ)音信號(hào)
I?=?audioread(‘錄音文件.wav‘);%讀入原始語(yǔ)音
%對(duì)指定幀位置進(jìn)行加窗處理
Q?=?I‘;
N?=?256;???????????%?窗長(zhǎng)
Hamm?=?hamming(N);?%?生成漢明窗,加窗之后僅處理窗中的數(shù)據(jù)
frame?=?70;????????%?需要處理的幀位置
M?=?Q(((frame?-?1)?*?(N?/?2)?+?1):((frame?-?1)?*?(N?/?2)?+?N));?%?截取指定位置的語(yǔ)音數(shù)據(jù)
frame?=?M?.*?Hamm‘;%?加窗后的語(yǔ)音
P?=?input(‘請(qǐng)輸入預(yù)測(cè)器階數(shù)?=?‘);?
ai?=?lpc(frame‘P);???????????????????%?計(jì)算lpc系數(shù)
LP?=?filter([0?-ai(2:end)]1frame);?%?建立語(yǔ)音幀的正則方程數(shù)據(jù)為frame濾波器參數(shù)為[0?-ai(2:end)]
E?=?frame?-?LP;?%?預(yù)測(cè)誤差
figure(1)
subplot(211)plot(1:Nframe1:NLP‘-r‘);grid;
title(‘原始語(yǔ)音和預(yù)測(cè)語(yǔ)音波形(經(jīng)過(guò)漢明窗截取)‘)
subplot(212)plot(E);grid;
title(‘預(yù)測(cè)誤差(經(jīng)過(guò)漢明窗截取)‘);
%%?畫(huà)出語(yǔ)譜圖
ai1?=?lpc(IP);?%?計(jì)算原始語(yǔ)音lpc系數(shù)
LP1?=?filter([0?-ai(2:end)]1I);?%?建立
評(píng)論
共有 條評(píng)論