《语音信号处理》仿真作业

院 系 电气与电子工程学院

专业班级

姓 名

学 号

指导教师

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. 【语音信号处理】1语音信号可视化——时域、频域、语谱图、MFCC详细思路与计算、差分

    基本语音信号处理操作入门 1. 数据获取 2. 语音信号可视化 2.1 时域特征 2.2 频域特征 2.3 语谱图 3. 倒谱分析 4. 梅尔系数 4.1 梅尔频率倒谱系数 4.2 Mel滤波器原理 ...

  2. 语音信号处理频域语谱图matlab实验,语音信号的频域分析

    实验二:语音信号的频域分析 实验目的:以MATLAB 为工具,研究语音信号的频域特性,以及这些特性在<语音信号处理>中的应用情况. 实验要求:利用所给语音数据,分析语音的频谱.语谱图.基音 ...

  3. 使用Matlab绘制语音信号的语谱图

    本文绘制语音信号的语谱图主要使用了spectrogram函数,spectrogram是一个MATLAB函数,使用短时傅里叶变换得到信号的频谱图.当使用时无输出参数,会自动绘制频谱图:有输出参数,则会返 ...

  4. python求语音信号短时能量、短时过零率、语谱图

    python语音信号处理(二) 一.短时能量 短时能量主要用于区分浊音段和清音段,因为浊音时E(i)值比清音时大得多:区分声母与韵母的分界和无话段与有话段分界. 计算第i帧语音信号yi(n)的短时能量 ...

  5. 语音信号处理-概念(一):时域信号(横轴:时间;纵轴:幅值)、频谱图(横轴:频率;纵轴:幅值)--傅里叶变换-->时频谱图(语谱图/声谱图)【横轴:时间;纵轴:频率;颜色深浅:幅值】

    我们经常接触到与频谱相关的概念.本节对这些概念之间的区别进行简单的介绍. 一般来讲,将一段时域信号通过离散傅里叶变换后,将频率作为横轴.幅度作为纵轴,得到的图像称作 频谱.若将相位作为纵轴,则称为 相 ...

  6. 语音信号处理(四):生成语音信号的语谱图

    关于语谱图的简单介绍可以参考这篇文章 现代语音信号处理之语谱图(spectrogram) 下面对 ai d s t 这四个语音进行语谱图绘制 绘制代码如下 mkdir('***');%新建存放语谱图的 ...

  7. 基于MATLAB的声信号的采集与分析,基于Matlab的声音信号采集与分析处理

    2005年第6期 文章编号:100622475(2005)0620091202 计算机与现代化 JISUANJI YU XIANDAIHUA 总第118期 基于Matlab的声音信号采集与分析处理 陈 ...

  8. matlab求基音频率,语音中提取基音频率matlab程序.doc

    语音中提取基音频率matlab程序 语音中提取基音频率matlab程序%%corr.m % correlation for pitch estimation% flag =1 from left to ...

  9. matlab 画中垂线,在matlab谱图上绘制垂直线

    matlab频谱图功能是否会锁定创建的数字?我想在图上绘制垂直线,但线功能似乎没有做任何事情.如何在matlab谱图上画一条线? clc; clear all; close all; [data, f ...

最新文章

  1. git : 依赖: liberror-perl 但无法安装它
  2. iOS面试用到的知识点和技术点--第二章
  3. 源码剖析Django REST framework的认证方式及自定义认证
  4. 上海浦东新区计算机学校排名2015,2015年上海市浦东新区初级中学最新排名
  5. 拼车日滴滴派单的那些事
  6. 大数据之Hadoop教程
  7. python2使用pandas处理excel数据
  8. Drool学习记录(一) 概念、Helloworld
  9. 微信公众号 语音转文字api_快速上手——微信公众号开发接入
  10. k2p openwrt路由部署阿里云aliyun-ddns
  11. 如何恢复计算机永久删除文件,怎么恢复被彻底删除的文件?简单有效方法分享...
  12. 检验二元分解是否为无损分解(非加性)
  13. Thinkpad E430C关闭触摸板(Ubuntu)
  14. 关于SMP IRQ affinity
  15. Linux服务器之Redis集群搭建
  16. 如何在php网站上插入站长统计,如何为自己的Wordpress网站添加站长统计代码 | 泰泰博客...
  17. DSP TMS320F2803x 增强型捕获模块(eCAP)
  18. 表格进阶03—出纳日报表(表格,再次练习)
  19. 设计分享|基于51单片机的万年历(汇编)
  20. win10卸载补丁发生错误,没有成功卸载全部更新

热门文章

  1. VS2008 快捷键大全
  2. 计算机网络第五章-运输层学习笔记
  3. super 与 this 关键字
  4. switch判断条件
  5. Tensorflow2.x.x全卷积神经网络(CNN)
  6. Android:你不知道的 WebView 使用漏洞
  7. Scalability Tradeoffs: Why “The Ethereum
  8. 爱加密Android APk 原理解析
  9. python数字转对应中文_python中将阿拉伯数字转换成中文的实现代码 | 学步园
  10. python 常用内置函数_python常用内置函数使用|python基础教程|python入门|python教程...