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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

语音处理-自相关-端点

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语音处理-自相关-端点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于自相關法的端點檢測原理

個人理解
噪聲信號和含噪語音的自相關函數存在極大的差異。

根據噪聲的情況,設置兩個閾值T1和T2,當相關函數最大值大于T2時,便判定是語音;當相關函數最大值大于或小于T1時,則判定為語音信號的端點

黑色根據靜音時長。

藍色根據幅度來計算。

%自相關端點檢測 clear all; clc; close all;filedir=[]; % 指定文件路徑 filename='D:\matlab\MATLAB\程序\program\speech_signal\bluesky1.wav'; %制定文件名 % 指定文件名 fle=[filedir filename] ; % 構成路徑和文件名的字符串 [x,fs]=wavread(fle); % 讀入數據文件 x=x/max(abs(x)); % 幅度歸一化 N=length(x); % 取信號長度 time=(0:N-1)/fs; % 計算時間wlen=200;%幀長 inc=100;%幀移 win=hamming(wlen);%海明窗 N=length(x);%信號長度 time=(0:N-1)/fs;%計算出信號的時間刻度X=enframe(x,win,inc)'; %分幀,一列是一幀 fn=size(X,2);%幀數 frameTime=frame2time(fn,wlen,inc,fs); %求出每幀對應的時間%短時自相關 for k=2:fny=X(:,k);%每一幀數據ru=xcorr(y);R(k)=max(ru); end R=R/max(R);%歸一化r=[];%存儲開始語音界限的位置 i1=1; while (i1<length(R))for i1=i1:1:length(R)e=R(i1);if e>0.03r=[r i1-1];i1=i1+1;for i2=i1:length(R)e=R(i2);if e<0.0001r=[r i2+1];i1=i2+1;breakend endbreakendend end%-短時自相關 plot(time,x) title('男聲“藍天,白云,碧綠的大海”的端點檢測'); ylabel('幅值'); xlabel(['時間/s' 10 '(a)']);for tq=1:length(r)line([frameTime(r(tq)) frameTime(r(tq))],[-1 1],'color','k','LineStyle','-');hold onend

總結

以上是生活随笔為你收集整理的语音处理-自相关-端点的全部內容,希望文章能夠幫你解決所遇到的問題。

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