基于matlab的语音信号的合成(加入延迟混响).
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学
课程设计说明书
学生姓名:学号:
学生姓名:学号:
学生姓名:学号:
学院:信息与通信工程学院
专业:电子信息工程
题目:信息处理实践:
语言信号的合成
指导教师:杨娜职称: 副教授
2016 年 1月 3 日
中北大学
课程设计任务书
15/16 学年第一学期
学院:信息与通信工程学院
专业:电子信息工程
学生姓名:学号:
学生姓名:学号:
学生姓名:学号:
课程设计题目:信息处理实践:
语言信号的合成
起迄日期:2016年1 月4日~2016年1月22 日课程设计地点:201,503,1号楼教室
指导教师:杨娜
系主任:王浩全
下达任务书日期: 2016 年1月 3 日
课程设计任务书
课程设计任务书
目录
摘要 (1)
1.MATLAB简介 (1)
2.GUI简介 (1)
一.设计方案........................................................................................................... 二.设计步骤及结果
1.语音信号的采集..............................................
2.语音信号的截取.................
3.语音信号的合成.................
4.合成语音的验证.........
5.GUI界面设计及实现.........
三.设计评述
参考文献..............
附录..............
摘要
语音信号处理是一门比较实用的电子工程专业课程,语音是人类获取信息的的重要来源和利用信息的重要手段。通过语言相互传递信息是人类最重要的基本功能之一。语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。 Matlab是一个数据分析和处理功能十分强大的工程实用软件。本文介绍了利用matlab软件及其中的图形用户界面(GUI)实现驱动声卡采集语音信号和语音信号采集后的文档处理方法,并通过实例利用matlab分析了语音信号处理的过程。
关键词:语音信号处理 MATLAB 频谱分析语音合成
1.MATLAB简介
MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中。同时由于MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
2.GUI简介
GUIDE 是 Graphic User Interface Design Environment 的简称。它是一个设计图形用户界面的集成开发环境。它使得图形对象的生成和管理变得简单、直接。在MATLAB 的命令窗口中输入guide命令,即可开启 GUIDE的主界面图形用户界面(GUI)是包含图形的对象,如:窗口、图标、菜单和文本的用户界面。
一.设计方案
图1-1 总体设计方案
图1-2 具体运行流程图
本实验通过应用MATLAB软件实现声音信号的采集、截取、拼接与结果分析。分析和处理音频信号,首先要对声音信号进行采集,MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV 格式文件,供MATLAB相关函数直接读取、写入或播放。本实验以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的基本流程是:先将WAV 格式音频信号经过wavread函数转换成MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、
信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite转换成WAV格式文件或用sound函数直接回放。
二.设计步骤及结果
1.语音信号的采集
首先利用windows下的录音机,录制一段信号,时间控制在10秒左右,然后将音频文件保存“yuan1.wav”、“yuan2.wav”。再在MATLAB软件平台下,利用函数audioread对语音信号进行采样,记住采样频率和采样点数。然后进行语音信号的分析,首先画出语音信号的时域波形图,并利用fft画出频域图。
参数设定:采样频率88060Hz,采样时间10s,作88060点fft。
程序如下:
fs=88060; %采样频率
x1=audiorecorder(fs,16,1);
recordblocking(x1,10);%10秒
y1 = getaudiodata(x1);
subplot(2,2,1);
plot(y1);
title('男声录入波形图');
xlabel('样本数');
ylabel('幅值');
Y1=fft(y1);
subplot(2,2,3);
plot(abs(Y1));
title('男声录入频谱图');
xlabel('Freq/HZ');
ylabel('幅值');
filename= 'yuan1.wav'
audiowrite(filename,y1,fs);
x2=audiorecorder(fs,16,1);