语音zero phase matlab处理

该博客介绍了如何使用MATLAB进行语音处理,特别是实现Zero Phase处理。通过a_simpleFFT.m函数获取Zero Phase后的波形,接着在a_mainspe()函数中处理所有语音文件,保存处理结果到name.mat文件。为了进一步处理,使用scale_out()函数对前100个句子进行规范化,去除静音段,并将结果存储为y_train.mat。
摘要由CSDN通过智能技术生成

首先,求得zero phase之后的波形,函数名为:a_simpleFFT.m

%a_simpleFFT.m 
function [Pu]=a_simpleFFT(filename)
    if nargin < 1
        filename = 'C:\Users\suhong\Desktop\语音信号盲分离\用到的语音文件\F16A1.WAV';
    end
    winsize = 512;
    shiftsize = 160;
    [wav,Fs,bits] = wavread(filename);
    window = hamming(winsize);
    winc = getframe(wav,winsize,shiftsize,window);
    sf = fft(winc);%傅里叶变换
    ef = ifft(abs(sf).^0.1);%傅里叶逆变换
    %sf1 = fft(ef);
%     figure;imagesc(log(abs(sf(winsize/2:end,:))));
%     title('fft之后的频谱图');
%     figure; plot(ef(winsize/2:end,:));
%     title('逆fft之后的波形图');
     spec=ef(2:256,:);  %512 * 帧数
        %spec=log(abs(sf1(winsize/2:end,:)));
%     figure;imagesc(spec);
%     title('相位变为0之后的频谱图');

%     figure;imagesc(spec-log(abs(sf(winsize/2:end,:))));
%     title('差值');
    
    
    spec=spec'; %帧数 * winsi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值