日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

频谱扩展 matlab,语音信号频谱扩展

發(fā)布時(shí)間:2024/9/27 循环神经网络 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 频谱扩展 matlab,语音信号频谱扩展 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

%

% pr10_3_1

clear all; clc; close all;

filedir=[];? ?? ?? ?? ?? ?? ?? ?? ?? ???% 設(shè)置路徑

filename='colorcloud.wav';? ?? ?? ?? ???% 設(shè)置文件名

fle=[filedir filename];? ?? ?? ?? ?? ???% 構(gòu)成完整的路徑和文件名

[x, fs, bits] = wavread(fle);? ?? ?? ???% 讀入數(shù)據(jù)文件

x=x-mean(x);? ?? ?? ?? ?? ?? ?? ?? ?? ? % 消除直流分量

x=x/max(abs(x));? ?? ?? ?? ?? ?? ?? ?? ?% 幅值歸一

xl=length(x);? ?? ?? ?? ?? ?? ?? ?? ?? ?% 數(shù)據(jù)長(zhǎng)度

time=(0:xl-1)/fs;? ?? ?? ?? ?? ?? ?? ???% 計(jì)算出時(shí)間刻度

p=12;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% LPC的階數(shù)為12

wlen=200; inc=80;? ?? ?? ?? ?? ?? ?? ???% 幀長(zhǎng)和幀移

msoverlap = wlen - inc;? ?? ?? ?? ?? ???% 每幀重疊部分的長(zhǎng)度

y=enframe(x,wlen,inc)';? ?? ?? ?? ?? ???% 分幀

fn=size(y,2);? ?? ?? ?? ?? ?? ?? ?? ?? ?% 取幀數(shù)

% 語(yǔ)音分析:求每一幀的LPC系數(shù)和預(yù)測(cè)誤差

for i=1 : fn

u=y(:,i);? ?? ?? ?? ?? ?? ?? ?? ?? ?% 取來(lái)一幀

A=lpc(u,p);? ?? ?? ?? ?? ?? ?? ?? ? % LPC求得系數(shù)

aCoeff(:,i)=A;? ?? ?? ?? ?? ?? ?? ? % 存放在aCoeff數(shù)組中

errSig = filter(A,1,u);? ?? ?? ?? ? % 計(jì)算預(yù)測(cè)誤差序列

resid(:,i) = errSig;? ?? ?? ?? ?? ? % 存放在resid數(shù)組中

end

%%%%%%%%%%%%%%%%%%%%%

%這個(gè)地方添加了程序

%對(duì)預(yù)測(cè)系數(shù)和預(yù)測(cè)誤差進(jìn)行上采樣

aCoeff=upsample(aCoeff,2);

resid=upsample(resid,2);

%當(dāng)采樣率是8k的時(shí),將參數(shù)進(jìn)行修改,以擴(kuò)展到16k

fn=size(aCoeff,2);

inc=inc*2;

wlen=wlen*2;

xl=xl*2;

fs=fs*2;

%%%%%%%%%%%%%%%%%%%%%

% 語(yǔ)音合成:求每一幀的合成語(yǔ)音疊接成連續(xù)語(yǔ)音信號(hào)

for i=1:fn

A = aCoeff(:,i);? ?? ?? ?? ?? ?? ???% 取得該幀的預(yù)測(cè)系數(shù)

residFrame = resid(:,i);? ?? ?? ?? ?% 取得該幀的預(yù)測(cè)誤差

synFrame = filter(1, A', residFrame); % 預(yù)測(cè)誤差激勵(lì),合成語(yǔ)音

outspeech((i-1)*inc+1:i*inc)=synFrame(1:inc);??% 重疊存儲(chǔ)法存放數(shù)據(jù)

% 如果是最后一幀,把inc后的數(shù)據(jù)補(bǔ)上

if i==fn

outspeech(fn*inc+1:(fn-1)*inc+wlen)=synFrame(inc+1:wlen);

end

end;

ol=length(outspeech);

if ol

outspeech=[outspeech zeros(1,xl-ol)];

end

% 發(fā)聲

% wavplay(x,fs);

% pause(1)

wavplay(outspeech,fs);

wavwrite(outspeech,fs,'bandwidth_audio.wav');

% 作圖

% subplot 211; plot(time,x,'k');

% xlabel(['時(shí)間/s' 10 '(a)']); ylabel('幅值'); ylim([-1 1.1]);

% title('原始語(yǔ)音信號(hào)')

% subplot 212; plot(time,outspeech,'k');

% xlabel(['時(shí)間/s' 10 '(b)']); ylabel('幅值'); ylim([-1 1.1]);

% title('合成的語(yǔ)音信號(hào)')

總結(jié)

以上是生活随笔為你收集整理的频谱扩展 matlab,语音信号频谱扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。