300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab

【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab

时间:2019-11-27 11:26:57

相关推荐

【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab

一、语音处理简介

MATLAB GUI是用户与计算机或计算机程序的接触点或交互方式,是用户与计算机进行信息交流的方式。图形用户界面(Graphical User Interfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Object)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。本设计基于MATLAB GUI技术,完成了语音信号处理的界面平台,可进行语音的选取、线性预测分析(LPC)、语谱图、频谱等相关波形的显示。这样可以更直观、更方便地分析和处理语音信号,得到用户需要的实验结果。

具体理论知识参考:基于MATLAB GUI的语音处理界面设计

二、部分源代码

unction varargout = zuoye(varargin)% ZUOYE MATLAB code for zuoye.fig%ZUOYE, by itself, creates a new ZUOYE or raises the existing%singleton*.%%H = ZUOYE returns the handle to a new ZUOYE or the handle to%the existing singleton*.%%ZUOYE('CALLBACK',hObject,eventData,handles,...) calls the local%function named CALLBACK in ZUOYE.M with the given input arguments.%%ZUOYE('Property','Value',...) creates a new ZUOYE or raises the%existing singleton*. Starting from the left, property value pairs are%applied to the GUI before zuoye_OpeningFcn gets called. An%unrecognized property name or invalid value makes property application%stop. All inputs are passed to zuoye_OpeningFcn via varargin.%%*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one%instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help zuoye% Last Modified by GUIDE v2.5 03-Jan- 17:00:59% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @zuoye_OpeningFcn, ...'gui_OutputFcn', @zuoye_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before zuoye is made visible.function zuoye_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 zuoye (see VARARGIN)% Choose default command line output for zuoyehandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes zuoye wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = zuoye_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on selection change in popupmenu1.function popupmenu1_Callback(hObject, eventdata, handles)% hObject handle to popupmenu1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu1% --- Executes during object creation, after setting all properties.function popupmenu1_CreateFcn(hObject, eventdata, handles)% hObject handle to popupmenu1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global x;global fs;global bits;global file;clear sound;if nargin<1;action='initialized';end;[fname,pname]=uigetfile('*.wav','Open Wave File');file=[pname,fname];[x,fs,bits]=wavread(file); % 读入声音文件(*.wav)sound(x,fs);set(handles.edit1,'string',fs); % --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%画原信号时域波形global x;global w;global fs;axes(handles.axes1);N=length(x);t=[0:1:N-1]/fs;plot(t,x);xlabel('时间t')ylabel('幅值')n=[0:N-1]';w=2*n*pi/N;% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%画原信号时域波形global x;global w;X=fft(x);axes(handles.axes2);plot(w/pi,abs(X))axis([0,2,0,500])xlabel('归一化')ylabel('幅值')% --- Executes on button press in pushbutton4.% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global pitchglobal nFramesaxes(handles.axes2);xt=1:nFrames;xt=20*xt;plot(xt,pitch)xlim([0,3]);axis([xt(1) xt(nFrames) 0 max(pitch)+50]);ylabel('基音频率/HZ');xlabel('时间');% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global ybiansu;global fs;axes(handles.axes1);N=length(ybiansu);t=[0:1:N-1]/fs;plot(t,ybiansu);xlabel('时间t')ylabel('幅值')% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global ybiansu;NS=length(ybiansu);nS=[0:NS-1]';wS=2*nS*pi/NS;YH=fft(ybiansu);axes(handles.axes2);plot(wS/pi,abs(YH))axis([0,2,0,500])xlabel('归一化')ylabel('幅值')% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%画重采样时域波形global x2;global fs;axes(handles.axes1);N=length(x2);t=[0:1:N-1]/fs;plot(t,x2);xlabel('时间t')ylabel('幅值')% --- Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global x2;X2=fft(x2);NS=length(x2);nS=[0:NS-1]';wS=2*nS*pi/NS;axes(handles.axes2);plot(wS/pi,abs(X2))axis([0,2,0,500])xlabel('归一化')ylabel('幅值')function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end

三、运行结果

四、matlab版本及参考文献

1 matlab版本

a

2 参考文献

[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,.

[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,.

[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. ,(02)

【语音处理】基于matlab GUI语音原始信号+变速信号时域频域分析(带面板)【含Matlab源码 294期】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。