MATLAB实现实时录音,语音采集与读写用matlab实现录音以及语谱图的绘制.pdf
《语音信号处理》仿真作业
院 系 电气与电子工程学院
专业班级
姓 名
学 号
指导教师
2020 年 3 月
作业题目:语音采集与读写
一、目的
(1)了解matlab 采集语音信号的原理与采用命令;
(2 )掌握基于matlab 的语音文件的创建、读写等操作。
二、要求
(1 )利用 matlab 程序实现录音语音信号“你好,武汉欢迎你”,并保存为
wuhan.wav 文件。
(2 )使用waveread 函数读取wuhan.wav 文件,并使用plot 函数显示出来。要求:
横纵坐标带有标注,横轴的单位为秒(s),纵轴显示归一化后的数值。
三、具体步骤 (包含原理、具体实现、结果对比等)
1、基本原理
利用matlab 的语音工具箱进行录音,用电脑声卡进行声音捕获。
利用matlab 打开录音的wav 文件,对录音进行分析和归一化,并生成语谱图。
2 、具体实现 (步骤、代码)
第一步,用matlab 软件实现录音,并存储为wav 文件,同时绘制语音数据波形,
代码如下:
recObj = audiorecorder;
disp('Start speaking.')
recordblocking(recObj, 5);%设置录音时间
disp('End of Recording.');% 回放录音数据
play(recObj);% 获取录音数据
myRecording = getaudiodata(recObj);% 绘制录音数据波形
plot(myRecording);%存储语音信号
filename = ' G:\Desktop\专业学习教程\语音信号处理\wuhan.wav';
audiowrite(filename,myRecording,12000);
第二步,读取wav 文件并生成语谱图,代码如下:
clear all;
[x,sr]=audioread(' G:\Desktop\ 专 业 学 习 教 程 \ 语 音 信 号 处 理
\wuhan.wav'); %#ok %sr 为采样频率
if (size(x,1)>size(x,2))
x=x';
end
s=length(x);
w=round(44*sr/1000); % 窗长,取离44*sr/100 最近的整数
n=w; %fft 的点数
ov=w/2; %50% 的重叠
h=w-ov;
% win=hanning(n)'; %哈宁窗
win=hamming(n)'; %汉明窗
c=1;
ncols=1+fix((s-n)/h); %fix 函数是将(s-n)/h 的小数舎去
d=zeros((1+n/2),ncols);
for b=0:h:(s-n)
u=win.*x((b+1):(b+n));
t=fft(u);
d(:,c)=t(1:(1+n/2))';
c=c+1;
end
tt=[0:h:(s-n)]/sr;
ff=[0:(n/2)]*sr/n;
imagesc(tt/1000,ff/1000,20*log10(abs(d)));
colormap(gray);
axis xy
xlabel('时间/s');
ylabel('频率/kHz');
3、实验结果说明
语音数据波形 语谱图
四、总结
这次做了一些准备工作所以比较顺利,在语谱图的绘制过程中曾经忘了添加
先前wav 录音文件的具体位置导致编译失败,在matlab 报错后可以仔细看看弹
出的关于相关语句的解析,十分有助于更改错误并提高对语句的熟练程度。
MATLAB实现实时录音,语音采集与读写用matlab实现录音以及语谱图的绘制.pdf相关推荐
- 【语音信号处理】1语音信号可视化——时域、频域、语谱图、MFCC详细思路与计算、差分
基本语音信号处理操作入门 1. 数据获取 2. 语音信号可视化 2.1 时域特征 2.2 频域特征 2.3 语谱图 3. 倒谱分析 4. 梅尔系数 4.1 梅尔频率倒谱系数 4.2 Mel滤波器原理 ...
- 语音信号处理频域语谱图matlab实验,语音信号的频域分析
实验二:语音信号的频域分析 实验目的:以MATLAB 为工具,研究语音信号的频域特性,以及这些特性在<语音信号处理>中的应用情况. 实验要求:利用所给语音数据,分析语音的频谱.语谱图.基音 ...
- 使用Matlab绘制语音信号的语谱图
本文绘制语音信号的语谱图主要使用了spectrogram函数,spectrogram是一个MATLAB函数,使用短时傅里叶变换得到信号的频谱图.当使用时无输出参数,会自动绘制频谱图:有输出参数,则会返 ...
- python求语音信号短时能量、短时过零率、语谱图
python语音信号处理(二) 一.短时能量 短时能量主要用于区分浊音段和清音段,因为浊音时E(i)值比清音时大得多:区分声母与韵母的分界和无话段与有话段分界. 计算第i帧语音信号yi(n)的短时能量 ...
- 语音信号处理-概念(一):时域信号(横轴:时间;纵轴:幅值)、频谱图(横轴:频率;纵轴:幅值)--傅里叶变换-->时频谱图(语谱图/声谱图)【横轴:时间;纵轴:频率;颜色深浅:幅值】
我们经常接触到与频谱相关的概念.本节对这些概念之间的区别进行简单的介绍. 一般来讲,将一段时域信号通过离散傅里叶变换后,将频率作为横轴.幅度作为纵轴,得到的图像称作 频谱.若将相位作为纵轴,则称为 相 ...
- 语音信号处理(四):生成语音信号的语谱图
关于语谱图的简单介绍可以参考这篇文章 现代语音信号处理之语谱图(spectrogram) 下面对 ai d s t 这四个语音进行语谱图绘制 绘制代码如下 mkdir('***');%新建存放语谱图的 ...
- 基于MATLAB的声信号的采集与分析,基于Matlab的声音信号采集与分析处理
2005年第6期 文章编号:100622475(2005)0620091202 计算机与现代化 JISUANJI YU XIANDAIHUA 总第118期 基于Matlab的声音信号采集与分析处理 陈 ...
- matlab求基音频率,语音中提取基音频率matlab程序.doc
语音中提取基音频率matlab程序 语音中提取基音频率matlab程序%%corr.m % correlation for pitch estimation% flag =1 from left to ...
- matlab 画中垂线,在matlab谱图上绘制垂直线
matlab频谱图功能是否会锁定创建的数字?我想在图上绘制垂直线,但线功能似乎没有做任何事情.如何在matlab谱图上画一条线? clc; clear all; close all; [data, f ...
最新文章
- git : 依赖: liberror-perl 但无法安装它
- iOS面试用到的知识点和技术点--第二章
- 源码剖析Django REST framework的认证方式及自定义认证
- 上海浦东新区计算机学校排名2015,2015年上海市浦东新区初级中学最新排名
- 拼车日滴滴派单的那些事
- 大数据之Hadoop教程
- python2使用pandas处理excel数据
- Drool学习记录(一) 概念、Helloworld
- 微信公众号 语音转文字api_快速上手——微信公众号开发接入
- k2p openwrt路由部署阿里云aliyun-ddns
- 如何恢复计算机永久删除文件,怎么恢复被彻底删除的文件?简单有效方法分享...
- 检验二元分解是否为无损分解(非加性)
- Thinkpad E430C关闭触摸板(Ubuntu)
- 关于SMP IRQ affinity
- Linux服务器之Redis集群搭建
- 如何在php网站上插入站长统计,如何为自己的Wordpress网站添加站长统计代码 | 泰泰博客...
- DSP TMS320F2803x 增强型捕获模块(eCAP)
- 表格进阶03—出纳日报表(表格,再次练习)
- 设计分享|基于51单片机的万年历(汇编)
- win10卸载补丁发生错误,没有成功卸载全部更新
热门文章
- VS2008 快捷键大全
- 计算机网络第五章-运输层学习笔记
- super 与 this 关键字
- switch判断条件
- Tensorflow2.x.x全卷积神经网络(CNN)
- Android:你不知道的 WebView 使用漏洞
- Scalability Tradeoffs: Why “The Ethereum
- 爱加密Android APk 原理解析
- python数字转对应中文_python中将阿拉伯数字转换成中文的实现代码 | 学步园
- python 常用内置函数_python常用内置函数使用|python基础教程|python入门|python教程...