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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

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

發布時間:2024/9/27 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 频谱扩展 matlab,语音信号频谱扩展 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

%

% pr10_3_1

clear all; clc; close all;

filedir=[];? ?? ?? ?? ?? ?? ?? ?? ?? ???% 設置路徑

filename='colorcloud.wav';? ?? ?? ?? ???% 設置文件名

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

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

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

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

xl=length(x);? ?? ?? ?? ?? ?? ?? ?? ?? ?% 數據長度

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

p=12;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???% LPC的階數為12

wlen=200; inc=80;? ?? ?? ?? ?? ?? ?? ???% 幀長和幀移

msoverlap = wlen - inc;? ?? ?? ?? ?? ???% 每幀重疊部分的長度

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

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

% 語音分析:求每一幀的LPC系數和預測誤差

for i=1 : fn

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

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

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

errSig = filter(A,1,u);? ?? ?? ?? ? % 計算預測誤差序列

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

end

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

%這個地方添加了程序

%對預測系數和預測誤差進行上采樣

aCoeff=upsample(aCoeff,2);

resid=upsample(resid,2);

%當采樣率是8k的時,將參數進行修改,以擴展到16k

fn=size(aCoeff,2);

inc=inc*2;

wlen=wlen*2;

xl=xl*2;

fs=fs*2;

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

% 語音合成:求每一幀的合成語音疊接成連續語音信號

for i=1:fn

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

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

synFrame = filter(1, A', residFrame); % 預測誤差激勵,合成語音

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

% 如果是最后一幀,把inc后的數據補上

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

% 發聲

% wavplay(x,fs);

% pause(1)

wavplay(outspeech,fs);

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

% 作圖

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

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

% title('原始語音信號')

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

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

% title('合成的語音信號')

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。