音频信号介绍以及MATLAB简单处理

本文介绍了MATLAB如何处理音频信号,包括使用wavread读取音频,wavplay播放音频以及调整音量和音高。讨论了音量、音高和音色的基本概念,并展示了音频信号的上下颠倒和前后颠倒播放效果。同时,提到了MATLAB进行音频录制和保存为wav文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

音频信号(Audio Signal),泛指由人耳听到的各种声音之信号。
基本特征:
音量(Volume):声音的大小称为音量,又称为力度,强度(intensity)或是能量(Energy)。音量越大,代表音频信号的波形振幅越大。
音高(Pitch):声音的基本频率(基频,Fundamental Frequency)。
音色(Timber):音频信号波形在每个周期内的变化,形成此声音的特质音色(主要是频谱特征)。

取样点数:长度(Y)
取样频率(取样点/秒):FS
音频信号的长度(秒):长度(Y)/ FS音频
量化位数:nbits


MATLAB对音频信号处理的函数

音频信号读入:

[ y, fs] = wavread('welcome.wav', [4001 5000]); %读取4001~5000点的数据

若wav信号是8bits量化,以unsigned interger存储器,其所能表示的数值介于0~255之间。MATLAB读入数据时将其归一化到-1~1,若要还原成unsigned interger时,将变量 y 乘以128,再加上128,就可得到原来的整数值。

音频信号的播放

将音频信号读入之后,就可做处理了如:放大音量,提高或降低音高,去噪等。

通过改变振幅的大小调节音量

 wavplay(1*y, Fs, 'sync'); % 播放1倍振幅的音频信号

改变播放时的采样频率,改变音频信号的时间长度,进而影响到音高。提高采样频率,听到的声音越高,最后出现像唐老鸭的声音。反之,像牛叫的声音。

wavplay(y, 1.2*Fs, 'sync');  % 同步播放 1.2 倍速度的音频信号

将音频信号的波形上下颠倒,听到的声音基本上是一样的,但是如果是前后颠倒,听到的声音就像录音带倒带

原声音播放:

wavplay(y, Fs, 'sync');

播放上下颠倒的音频:

wavplay(-y, Fs, 'sync');

播放前后颠倒的音频:

wavplay(flipud(y), Fs, 'sync');

通常在使用wavplay播放音频信号时,MATLAB会停止进行其他操作,直到音频播放完成。此种方式称为同步(synchronous)。若需要一边播放、一边进行其他运算,就必须使用非同步(Asynchronous)。

wavplay只能用于微软的Windows平台,在其他操作系统中用sound。

sound(y, Fs); 默认非同步;

MATLAB可直接录麦克风的信号。

y = wavrecord(n, fs);

MATLAB也可直接将信号直接存储为wav格式

wavwrite(y, fs, nbits, waveFile) ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值