我是靠谱客的博主 心灵美香烟,最近开发中收集的这篇文章主要介绍audioread函数未定义_为什么运行时提示未定义函数或变量 'wavread'。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

%

% pr7_1_1

close all;clear all; clc;

filedir=[];                             % 设置路径

filename='bluesky1.wav';                % 设置文件名

fle=[filedir filename];                 % 构成完整的路径和文件名

[s, fs, bits] = wavread(fle);           % 读入数据文件

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

s=s/max(abs(s));                        % 幅值归一

N=length(s);                            % 语音长度

time=(0:N-1)/fs;                        % 设置时间刻度

SNR=5;                                  % 设置信噪比

r2=randn(size(s));                      % 产生随机噪声

b=fir1(31,0.5);                         % 设计FIR滤波器,代替H

r21=filter(b,1,r2);                     % FIR滤波

[r1,r22]=add_noisedata(s,r21,fs,fs,SNR);% 产生带噪语音,信噪比为SNR

M=32;                                   % 设置M和mu

mu=0.001;

snr1=SNR_singlech(s,r1);                % 计算初始信噪比

h = adaptfilt.lms(M,mu);                % LMS滤波

[y,e] = filter(h,r2,r1);

output=e;                               % LMS滤波输出

snr2=SNR_singlech(s,output);            % 计算滤波后的信噪比

snr=snr2-snr1;

SN1=snr1; SN2=snr2; SN3=snr;

fprintf('snr1=%5.4f   snr2=%5.4f    snr=%5.4fn',snr1,snr2,snr);

wavplay(r1,fs);                         % 从声卡发声比较

pause(1)

wavplay(output,fs);

% 作图

subplot 311; plot(time,s,'k'); ylabel('幅值')

ylim([-1 1 ]); title('原始语音信号');

subplot 312; plot(time,r1,'k'); ylabel('幅值')

ylim([-1 1 ]); title('带噪语音信号');

subplot 313; plot(time,output,'k');

ylim([-1 1 ]); title('LMS滤波输出语音信号');

xlabel('时间/s'); ylabel('幅值')

最后

以上就是心灵美香烟为你收集整理的audioread函数未定义_为什么运行时提示未定义函数或变量 'wavread'。的全部内容,希望文章能够帮你解决audioread函数未定义_为什么运行时提示未定义函数或变量 'wavread'。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部