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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

语音幅度统计-matlab-有问题

發布時間:2025/3/15 循环神经网络 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语音幅度统计-matlab-有问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

語音信號的統計特性

幅度分布的概率密度

歸一化:均值為0,方差為1.

可實現歸一化的matlab函數 zscore: z-score 標準化(正太標準化)是基于原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化。將A的原始值x使用z-score標準化到x’。

(matlab的歸一化函數為mapminmax,此處以A=[100 200 300 400 500]為例,使用mapminmax函數進行歸一化,調用格式為[A1,PS]=mapminmax(A)。A1為歸一化后的數值。PS是一種對應關系,包含數據的最大值最小值等,如下圖所示。歸一化函數的對應關系為y=(ymax-ymin)*(x-xmin)/(xmax-xmin)+ymin。此處以200驗證某一個元素的值,那么y=2*(200-100)/(500-100)+(-1)=-1/2=-0.5)

均值 mean

方差 var

標準差 std

幅度分布

αX\alpha_XαX?是語音信號的標準差

x是語音信號的幅度

1.修正伽瑪(Gamma)概率密度
PG(x)=k2π?e?k∣x∣∣x∣P_G(x)=\frac{\sqrt k}{2 \sqrt \pi} \cdot \frac{e^{-k|x|}}{\sqrt{|x|}} PG?(x)=2π?k???x?e?kx?

k=32αXk=\frac{\sqrt 3}{2\alpha_X} k=2αX?3??

2.拉普拉斯(Laplacian)分布
PL(x)=0.5αe?α∣x∣P_L(x)=0.5\alpha e^{-\alpha|x|} PL?(x)=0.5αe?αx
$\alpha 是語音信號的標準差是語音信號的標準差\alpha_x$決定的常數
α=2σx\alpha=\frac{\sqrt{2}}{\sigma_x} α=σx?2??
3.高斯密度分布
Pg(x)=12πσxexp(?x22σx2)P_g(x)=\frac{1}{\sqrt{2\pi}\sigma_x}exp(-\frac{x^2}{2 \sigma_x^2}) Pg?(x)=2π?σx?1?exp(?2σx2?x2?)
x是語音信號的幅度,αx\alpha_xαx?是語音信號的標準差

matlab

畫出語音信號的幅度概率密度圖

1.畫出直方圖

用函數hist()可以得出每個區間的頻數

[n,x]=hist(data1,100);%計算小區間內的頻數及區間中點值

2.在畫出幅度概率密度函數圖

用每個區間的頻數除以數據,可以得出每個區間的頻率

3.matlab代碼

close all; clear; clc; [data1,fs]=audioread('soo2.wav'); data=abs(data1); % %histogram(data1);hold on % u=mean(data);%均值 % v=std(data);%標準差 % h=max(data)-min(data);%極差 % d=0.01;%根據直方圖,得到每個區間的長度為0.1[n,x]=hist(data1,100);%計算小區間內的頻數及區間中點值 % hold on % plot(x,n); % hold on % % xlabel('每個區間中點值'); subplot(211)hist(data1,100)%畫出直方圖,xlabel('幅度'); ylabel('頻數');title('幅度直方圖');hold on % ylabel('頻數'); % n為每個區間內的頻數 %f=data/length(data);%計算頻率 %f1=f/d;%頻率除以分割區間的長度 % x1=min(data):0.01:max(data); % y=normpdf(x1,u,v); % plot(x1,y,'r','linewidth',2); subplot(212) fi=n/sum(n); plot( x,fi); xlabel('幅值'); ylabel('概率'); title('幅度概率密度曲線'); hold on

4.導入不同的類型的音頻對比

man

women

music


speak

帶入其他概率密度曲線對比

只導入語音信號(即只有講話的聲音speak.wav)

分別用高斯,拉普拉斯,伽瑪帶入對比。

沒法把數據歸一化為均值為0,方差為1的數據。

都是字均值為0的附近,方差為1的附近。

man

musci


women

speak

完全說話-普通話標準考試說話

對比起來,拉普拉斯好像好點

代碼:

clear; clc [data1,fs]=audioread('man.wav'); [n,x]=hist(data1,100);%計算小區間內的頻數及區間中點值 v=std(x);%標準差 j=abs(x);%絕對值 fi=n/sum(n); y=mapminmax(fi); plot( x,y,'linewidth',3); xlabel('幅值'); ylabel('概率'); title('幅度概率密度曲線'); hold on %gasi gs=(1/sqrt(2pi)v)exp(-1x.^2/2v^2); g=mapminmax(gs); plot(x,g,'linewidth',3); hold on %la a=sqrt(2)/v;%公式 pl=0.5aexp(-aj);%公式 p2=zscore(pl); plot(x,p2,'linewidth',3); %gama j=j'; k=sqrt(3)/(2v); gm1=sqrt(k)/(2sqrt(pi)); gm2=exp(-kj)/sqrt(j); gm=gm1gm2; gam=zscore(gm); plot(x,gm(:,1),'linewidth',3); %這里因為計算時j只被當成一個數,算出來的gm2為一個數 %轉制了j,使得為一列數據 %得出的結果只取第一列,函數為a(:,1) %man.wav,數據為最后一列,即為第一百列 hold on legend('語音信號','高斯','拉普拉斯','伽瑪');

#問題
1.數據太少?
2.乖乖的?

總結

以上是生活随笔為你收集整理的语音幅度统计-matlab-有问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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