基于MATLAB的多功能语音处理器

一、设计功能

  1. 录制音频,保存音频
  2. 对录制的语音信号进行频谱分析,确定该段语音的主要频率范围;
  3. 利用采样定理,对该段语音信号进行采样,观察不用采样频率(过采样、欠采样、临界采样)对信号的影响;
  4. 实现语音信号的快放、慢放、倒放、男女变声;
  5. 对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响;
  6. 实现两音频的合成、拼接;
  7. 利用MATLAB GUI制作语音信号采集与分析演示系统;

二、设计步骤

1.创建GUI界面

2.新建空白界面

3.拖放控件,双击控件修改tag值和string

 

4.最后界面布置为图示,右键点击任何一个控件,进入回调函数callback。

 

5.在OpeningFcn中写入下面程序

 

% --- Executes just before functionalDSP is made visible.
function functionalDSP_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to functionalDSP (see VARARGIN)

% Choose default command line output for functionalDSP
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);
h1=gcf;
set(h1,'Name','多功能语音处理器','Resize','on');
h2=uimenu(h1,'label','功能');
h3=uimenu(h2,'label','基本功能');
h4=uimenu(h2,'label','采样定理');
h5=uimenu(h2,'label','快慢放');
h6=uimenu(h2,'label','加噪去噪');
h7=uimenu(h2,'label','滤波器设计');
h8=uimenu(h2,'label','合成拼接');
h12=uimenu(h1,'label','设计人员');
h13=uimenu(h12,'label','孙宁宁');
h14=uimenu(h12,'label','宝历');
h15=uimenu(h12,'label','李佳桐');
h16=uimenu(h12,'label','马宁泽');
h17=uimenu(h12,'label','王璐');
h18=uimenu(h12,'label','王智聪');
% UIWAIT makes functionalDSP wait for user response (see UIRESUME)
% uiwait(handles.h1);

 

 

6.编辑“录制1”功能

 --- Executes on button press in record2.
function record2_Callback(hObject, eventdata, handles)
% hObject    handle to record2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
r=audiorecorder(10000,16,1);
recordblocking(r, 3);
g=getaudiodata(r);
m='C:\Users\孙宁宁\Desktop\孙宁宁程序\x1.wav';
audiowrite(m,g,10000);%将音频写入文件

 

7.编辑“录制2”功能

 

 --- Executes on button press in record2.
function record2_Callback(hObject, eventdata, handles)
% hObject    handle to record2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
r=audiorecorder(10000,16,1);
recordblocking(r, 3);
g=getaudiodata(r);
m='C:\Users\孙宁宁\Desktop\孙宁宁程序\x2.wav';
audiowrite(m,g,10000);%将音频写入文件

 

 

 

8.编辑“读取”功能

%读取信号
function read_Callback(hObject, eventdata, handles)
% hObject    handle to read (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename, pathname]=uigetfile({'.'},'读取音频文件');
%文件打开对话框,返回文件名和文件路径,当文件存在时会成功返回,如果不存在,则返回不存在。
if isequal([filename pathname],[0,0])%用户取消对话框返回0
return;
end
str=[pathname filename];%将文件名和路径名组合为一个字符串,赋值给str。
[x1,Fs]=audioread(str);%读取声音信号,采样值放在向量x1中,fs为采样频率
x=x1(:,1);  %对双声道信号取单声道,如果是x=x1(1:5000,1),则表示取了5000点。
handles.y1=x;%将原先采样的序列向量x给句柄y1
handles.Fs=Fs;%采样频率句柄
guidata(hObject,handles);%储存handles

 9.编辑“分析”功能

% --- Executes on button press in original.
  • 4
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab多功能语音处理器是一种基于Matlab软件开发的工具,专门用于语音信号的处理和分析。它提供了丰富的功能和算法,能够帮助用户有效地处理各种音频数据。 首先,Matlab多功能语音处理器具有先进的语音信号处理算法,能够对音频信号进行降噪、滤波、去混响等处理,提高音频质量和清晰度。它还可以对音频信号进行时域和频域的分析,包括音频谱分析、波形显示、频谱显示等,帮助用户更好地理解和分析音频数据。 其次,Matlab多功能语音处理器还具有语音特征提取功能,能够自动提取音频的一些重要特征,例如音高、音强、共振峰频率等,这些特征在语音识别、语音合成等领域具有重要应用。 此外,Matlab多功能语音处理器还可以进行语音信号的编码和解码,支持多种常用的音频编码算法,如G.711、G.729、MP3等。用户可以根据自己的需要选择合适的编码方式,实现音频的高效传输和存储。 另外,Matlab多功能语音处理器还具有一系列语音处理工具箱和函数,用户可以根据自己的需求进行二次开发和定制,进一步扩展其功能和应用范围。 总之,Matlab多功能语音处理器是一款功能强大的工具,能够帮助用户完成各种语音信号处理任务,包括降噪、滤波、特征提取、编码解码等。它的易用性和灵活性使得它在语音处理领域得到广泛应用,并为研究人员和工程师提供了一个强大的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值