【语音处理】基于matlab GUI录音信号时域频域分析(带面板)【含Matlab源码 064期】
一、语音处理简介
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期】相关推荐
- 【肌电信号】基于matlab GUI脉搏信号分析(去噪+特征提取)【含Matlab源码 862期】
⛄一.脉搏信号分析简介 人体脉搏信号是一种微弱信号, 信噪比较低.在检测和采集时, 由于受仪器.人体等方面的影响, 所采集的信号中常存在如下3种噪声:1) 基线漂移.人体呼吸等低频干扰, 频率小于1 ...
- 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...
- 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...
- 【大米粒计数】基于matlab GUI形态学大米粒颗粒识别【含Matlab源码 915期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[大米粒计数]基于matlab GUI形态学大米粒颗粒识别[含Matlab源码 915期] (https://download.csdn. ...
- 【光学】基于matlab GUI菲涅尔系数计算【含Matlab源码 1165期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI菲涅尔系数计算[含Matlab源码 1165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 【语音去噪】基于matlab GUI切比雪夫+椭圆形低通滤波器语音去噪【含Matlab源码 2198期】
一.语音处理简介 1 语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点: ①在频域内,语音信号的频谱分量主要集中在300-3400Hz的范围内.利用这个特点,可以用一个防 ...
- 基于Matlab的SSB信号调制和解调(内附源码)
详细原理可参考课设报告:基于matlab的SSB信号调制.传输.解调的仿真-行业报告文档类资源-CSDN下载 调制采用了滤波法和相移法. 代码中有注释,无子函数,可以直接运行. 压缩包中包含了具体的课 ...
- 【图像修复】基于matlab GUI FMM+Criminisi算法彩色图像修复【含Matlab源码 1507期】
一.FMM+Criminisi算法简介 1 FMM算法 FMM算法是由Telea在2004年提出的,主要思想是先处理待修复区域边缘的像素,然后逐步向内推进,直到所有空洞点修复完毕.设Λ为待修复区域, ...
- 【水果识别】基于matlab GUI苹果分级系统(带面板)【含Matlab源码 1827期】
一.简介 中国苹果产销量居世界首位,传统的苹果分级由人工完成,长期以来,其劣势逐渐显现.因此,智能分拣是当今苹果分级的主要任务,而大小又是苹果分级的重要参考指标.国内外专家做了许多基于图像处理的苹果大 ...
- 基于matlab的串口通信,基于Matlab GUI的单片机串口与PC的通信 附源码
我也是最近学习单片机和MATLAB的小白平时在看学习的时候 下载了一些有价值的参考文献 概述采用51单片机,atmel的STC89C52RC芯片,主要用到的是七段数码管用来做一个时钟,程序编写软件为k ...
最新文章
- HarmonyOS 设置图标在Text 旁边
- rmi远程代码执行漏洞_【漏洞通告】Apache Solr远程代码执行漏洞
- SpringCloud Stream消息驱动
- 使用Prometheus监控kubernetes集群
- python难度大的题_【python】Python面试题:求列表当中最大的三个元素
- java批量导入功能,java使用POI批量导入excel数据的方法
- 全国首个NB-IoT规模化商用 - BC95模块
- [整理]ISO 27001信息安全管理体系审核员试题汇编之单项选择题
- 小米便签源码分析——gtask包
- 数据学习(十)-假设检验
- 软件测试周刊(第11期):飞狗
- unity添加android res资源,Unity3d常用两种加载资源方案:Resources.Load和AssetBundle
- Android应用在新浪微博授权提示:文件不存在 C8998 的解决方法
- MCE | RNA 逆转录小提示
- hashCode()和哈希值
- 操作系统实验5 设备管理
- Gateway 网关
- A-KAZE论文研读
- 纪念达尔文:进化论的美丽证据
- Android | navigation入门详解
热门文章
- WeakHashMap回收时机结合JVM 虚拟机GC的一些理解
- 7款应用最广泛的Linux桌面环境盘点
- iOS 之NSOperation(一)
- 面试题27 二叉搜索树转换为双向链表
- word在试图打开文件时遇到错误,检查稳定或驱动器文件权限
- 传智播客 C/C++学习笔记 内存四区模型
- 数组做函数参数的退化问题
- Atitit 信息检索 之音乐检索实践 艾提拉注 目录 1. 常规检索 歌手 歌名	1 1.1. 年代检索	1 1.2. 歌词检索(可以依靠web	1 1.3. 哼唱检索 原曲检索(可以使用酷
- Atitit 常见聚合运算与算法 目录 1.1. 单行函数,vs 那就是聚合函数	1 1.2. 聚合分类 哈希聚合 标量聚合 流聚合	1 1.3. 常见聚合函数 mysql oracle等	1 r
- Atitit attilax涉及到的大数据 数据分析 数据挖掘 ai人工智能的处理技术 目录 1.1. 大数据 机器视觉 图像处理 数据分析 数据挖掘 知识图谱 ai人工智能方面系列项目	1 2.