一、语音处理简介

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

二、部分源代码

function varargout = music_show1(varargin)
% MUSIC_SHOW1 MATLAB code for music_show1.fig
%      MUSIC_SHOW1, by itself, creates a new MUSIC_SHOW1 or raises the existing
%      singleton*.
%
%      H = MUSIC_SHOW1 returns the handle to a new MUSIC_SHOW1 or the handle to
%      the existing singleton*.
%
%      MUSIC_SHOW1('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MUSIC_SHOW1.M with the given input arguments.
%
%      MUSIC_SHOW1('Property','Value',...) creates a new MUSIC_SHOW1 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before music_show1_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to music_show1_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 music_show1% Last Modified by GUIDE v2.5 07-Jan-2022 12:02:06% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...'gui_Singleton',  gui_Singleton, ...'gui_OpeningFcn', @music_show1_OpeningFcn, ...'gui_OutputFcn',  @music_show1_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 music_show1 is made visible.
function music_show1_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 music_show1 (see VARARGIN)% Choose default command line output for music_show1
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes music_show1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
clear global variables
global hm
warning offA=linspace(0,6.3,1000);
xk=9*cos(pi/2);
yk=9*sin(pi/2);
plot([xk/9*8 xk/9*7],[yk/9*8 yk/9*7],'k')
hold on
text(xk-0.3,yk,'0')
for k=1:5;
xk=9*cos(-pi/20*(2*k-1)+pi/2);
yk=9*sin(-pi/20*(2*k-1)+pi/2);
plot([xk/9*7.5 xk/9*7],[yk/9*7.5 yk/9*7],'k')
xk=9*cos(-pi/20*(2*k)+pi/2);
yk=9*sin(-pi/20*(2*k)+pi/2);
plot([xk/9*8 xk/9*7],[yk/9*8 yk/9*7],'k')
text(xk,yk,num2str(2*k))
end
for k=1:5;
xk=9*cos(pi/20*(2*k-1)+pi/2);
yk=9*sin(pi/20*(2*k-1)+pi/2);
plot([xk/9*7.5 xk/9*7],[yk/9*7.5 yk/9*7],'k')
xk=9*cos(pi/20*(2*k)+pi/2);
yk=9*sin(pi/20*(2*k)+pi/2);
plot([xk/9*8 xk/9*7],[yk/9*8 yk/9*7],'k')
if k<5
text(xk-1,yk,num2str(-2*k))
elsetext(xk-1,yk,num2str(-2*k))
end
endtm=pi/2;
xm3=6.0*cos(tm);
ym3=6.0*sin(tm);
xm2=xm3/2+0.5*cos(tm-pi/2);
ym2=ym3/2+0.5*sin(tm-pi/2);
xm4=xm3/2-0.5*cos(tm-pi/2);
ym4=ym3/2-0.5*sin(tm-pi/2);
hm=fill([0 xm2 xm3 xm4 0],[0 ym2 ym3 ym4 0],'k');
axis off
axis([-10 10 -8 10])
axis equal
% --- Outputs from this function are returned to the command line.
function varargout = music_show1_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 structure
varargout{1} = handles.output;function edit6_Callback(hObject, eventdata, handles)
% hObject    handle to edit6 (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 edit6 as text
%        str2double(get(hObject,'String')) returns contents of edit6 as a double% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit6 (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% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton10 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)%% 进行播放
global music_path
if isempty(music_path)warndlg('请进行声音的录入,再进行播放');return;
end
[h, Fs] = audioread(music_path);
h = h * 10;
sound(h,Fs);% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton11 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)% 把录入的相关音频进行保存
global R
global music_pathmyvoice=getaudiodata(R);
audiowrite('myvoice.wav',myvoice,44100); % 保存相关音频数据
set(handles.edit1,'String','myvoice.wav');
music_path = 'myvoice.wav';
set(handles.edit1,'enable','off')% --- Executes during object creation, after setting all properties.
function axes4_CreateFcn(hObject, eventdata, handles)
% hObject    handle to axes4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called% Hint: place code in OpeningFcn to populate axes4

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. 2013,(02)

【语音处理】基于matlab GUI录音信号时域频域分析(带面板)【含Matlab源码 064期】相关推荐

  1. 【肌电信号】基于matlab GUI脉搏信号分析(去噪+特征提取)【含Matlab源码 862期】

    ⛄一.脉搏信号分析简介 人体脉搏信号是一种微弱信号, 信噪比较低.在检测和采集时, 由于受仪器.人体等方面的影响, 所采集的信号中常存在如下3种噪声:1) 基线漂移.人体呼吸等低频干扰, 频率小于1 ...

  2. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...

  3. 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  4. 【大米粒计数】基于matlab GUI形态学大米粒颗粒识别【含Matlab源码 915期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[大米粒计数]基于matlab GUI形态学大米粒颗粒识别[含Matlab源码 915期] (https://download.csdn. ...

  5. 【光学】基于matlab GUI菲涅尔系数计算【含Matlab源码 1165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI菲涅尔系数计算[含Matlab源码 1165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  6. 【语音去噪】基于matlab GUI切比雪夫+椭圆形低通滤波器语音去噪【含Matlab源码 2198期】

    一.语音处理简介 1 语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点: ①在频域内,语音信号的频谱分量主要集中在300-3400Hz的范围内.利用这个特点,可以用一个防 ...

  7. 基于Matlab的SSB信号调制和解调(内附源码)

    详细原理可参考课设报告:基于matlab的SSB信号调制.传输.解调的仿真-行业报告文档类资源-CSDN下载 调制采用了滤波法和相移法. 代码中有注释,无子函数,可以直接运行. 压缩包中包含了具体的课 ...

  8. 【图像修复】基于matlab GUI FMM+Criminisi算法彩色图像修复【含Matlab源码 1507期】

    一.FMM+Criminisi算法简介 1 FMM算法 FMM算法是由Telea在2004年提出的,主要思想是先处理待修复区域边缘的像素,然后逐步向内推进,直到所有空洞点修复完毕.设Λ为待修复区域, ...

  9. 【水果识别】基于matlab GUI苹果分级系统(带面板)【含Matlab源码 1827期】

    一.简介 中国苹果产销量居世界首位,传统的苹果分级由人工完成,长期以来,其劣势逐渐显现.因此,智能分拣是当今苹果分级的主要任务,而大小又是苹果分级的重要参考指标.国内外专家做了许多基于图像处理的苹果大 ...

  10. 基于matlab的串口通信,基于Matlab GUI的单片机串口与PC的通信 附源码

    我也是最近学习单片机和MATLAB的小白平时在看学习的时候 下载了一些有价值的参考文献 概述采用51单片机,atmel的STC89C52RC芯片,主要用到的是七段数码管用来做一个时钟,程序编写软件为k ...

最新文章

  1. HarmonyOS 设置图标在Text 旁边
  2. rmi远程代码执行漏洞_【漏洞通告】Apache Solr远程代码执行漏洞
  3. SpringCloud Stream消息驱动
  4. 使用Prometheus监控kubernetes集群
  5. python难度大的题_【python】Python面试题:求列表当中最大的三个元素
  6. java批量导入功能,java使用POI批量导入excel数据的方法
  7. 全国首个NB-IoT规模化商用 - BC95模块
  8. [整理]ISO 27001信息安全管理体系审核员试题汇编之单项选择题
  9. 小米便签源码分析——gtask包
  10. 数据学习(十)-假设检验
  11. 软件测试周刊(第11期):飞狗
  12. unity添加android res资源,Unity3d常用两种加载资源方案:Resources.Load和AssetBundle
  13. Android应用在新浪微博授权提示:文件不存在 C8998 的解决方法
  14. MCE | RNA 逆转录小提示
  15. hashCode()和哈希值
  16. 操作系统实验5 设备管理
  17. Gateway 网关
  18. A-KAZE论文研读
  19. 纪念达尔文:进化论的美丽证据
  20. Android | navigation入门详解

热门文章

  1. WeakHashMap回收时机结合JVM 虚拟机GC的一些理解
  2. 7款应用最广泛的Linux桌面环境盘点
  3. iOS 之NSOperation(一)
  4. 面试题27 二叉搜索树转换为双向链表
  5. word在试图打开文件时遇到错误,检查稳定或驱动器文件权限
  6. 传智播客 C/C++学习笔记 内存四区模型
  7. 数组做函数参数的退化问题
  8. Atitit 信息检索 之音乐检索实践 艾提拉注 目录 1. 常规检索 歌手 歌名 1 1.1. 年代检索 1 1.2. 歌词检索(可以依靠web 1 1.3. 哼唱检索 原曲检索(可以使用酷
  9. Atitit 常见聚合运算与算法 目录 1.1. 单行函数,vs 那就是聚合函数 1 1.2. 聚合分类 哈希聚合 标量聚合 流聚合 1 1.3. 常见聚合函数 mysql oracle等 1 r
  10. Atitit attilax涉及到的大数据 数据分析 数据挖掘 ai人工智能的处理技术 目录 1.1. 大数据 机器视觉 图像处理 数据分析 数据挖掘 知识图谱 ai人工智能方面系列项目 1 2.