可实现低音增强、回声、快慢放、回旋、添加背景音、自适应倒序等功能,并有详细原理介绍和完整代码分析
[x,fs,nbits]=wavread('1112',400000); %读声音文件 for i=1:400000
y(i,:)=x(i,:); %新建信号序列,用于运算 end
x1=reshape(y,40000,20); %将信号分成了10段20列 for i=1:2:10
x1(:,i)=0; %1~10列,将单数列置零,即实现左声道的回旋 end
for i=12:2:20
x1(:,i)=0; %11~20列,将双数列置零,即实现右声道的回旋 end
x5=reshape(x1,400000,2); %重排序列,变成N行2列的序列
sound(x5*2,fs); %单声道播放后,声音幅度有减小,这里做补偿
4.5 快/慢放特效
(1)原理简述
快慢放的原理就是在单位长的时间内播放比原声包含更多或更少的信息的语音序列。以2倍速率快放为例,就是将原来2倍单位时间内的语音序列在单位时间内播放完,这里的原理用的是在播放时增大采样间隔,那么在单位时间内采集到的点实际包含了从2长度序列采集到的信号(实际上这里就是一个语音序列的有损压缩),虽然这样做有信息丢失,但只要满足奈奎斯特采样定律,语音信号就不会出现失真,所以在一定条件下是可行的。 (2)实现步骤
在播放语音序列时,更改采样频率即可。但是在作图必须对语音信号一步步处理。 (3)效果实现
以快放为例,快放时,如果快放倍数为2,那么原本10s长的信号,可以在5s内播放完,并且语音的音调会变高,关于这一点将在后面解释原因。
下面是2倍快放时的语音的时域图(2倍压缩图):
从下面的图中可以看出快放的信号实质上就是原信号的压缩。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于matlab的数字音效处理器(14)在线全文阅读。
相关推荐: