数字信号处理——声音转换课题报告 1
课题研究目标 利用matlab 或其他编程软件对音频信号进行处理,要求实现声音的转换
如男声和女声的转换,老人声音与童声的转换
2.课题使用工具 Matlab 3.课题技术线路 分析和处理音频信号,首先要对声音信号进行采集
Matlab 的数据采集工具箱提供了一整套命令和函数,通过调用这些命令和函数,可直接控制声卡进行数据采集
Windows 自带的录音机程序也可驱动声卡来采集语音信号,并能保存为 wav 格式文件,供 matlab 相关函数直接读取,写入和播放
本文以 wav 格式音频信号作为分析处理的输入数据,用 matlab 处理音频信号的基本流程是:先将 wav 格式音频信号经 wavread函数转换成 matlab 列数组变量;用matlab 强大的运算能力进行数据分析和处理,即时域分析,频域分析,信号合成,识别和增强等;处理后的数据如是音频数据,则可用 wavread 转换成 wav格式文件或用 sound,wavplay 等函数直接回放
4.课题实现的原理 本程序使用的方法是 通过改变基频然后时长规整的方式来达到目的
(1) 更改基频 通过资料的查询和整理, 可以知道不同人的基频不同 统计如下: 正常成年男声:0~200Hz; 正常成年女声:200~450Hz; 小孩声音的基频要比女声的高,老年人的基频要比男声的低
经过整理统计可知 女声基频=男声基频*1
本程序使用的是通过抽样与插值的方式来达到基频的改变
以女变男为例: 用整数 D 对语音信号 X(n)进行抽取 Xd=X(Dn); 然后将X(n)的抽样频率提高到I(整数)倍 ,即为对X(n)的插值
D/I=3/2; (2) 时长规整 通过抽样插值来改变基频 也使播放速度,播放时间发生改变, 因此通过时长规整的方式来使播放速度 和时间恢复到原来