音视频开发之旅(66) - 音频变速不变调的原理

本文介绍了音频变速不变调的基本原理,重点讲解了时域压扩(TSM)和波形相似叠加(WSOLA)算法。TSM通过分帧、加窗、合帧实现变速,但存在相位跳跃失真问题。WSOLA通过寻找相似帧解决这一问题,利用AMDF算法确定最佳匹配帧,提高音质。此外,文章还探讨了声音的三要素、音频分析的时域和频域知识,以及相关资源链接。

目录

  1. 声音的基本知识
  2. 时域压扩(TSM)的原理
  3. 波形相似叠加(WSOLA)
  4. 资料
  5. 收获

音频的原始pcm数据是由 采样率、采样通道数以及位宽而定。常见的音频采样率是44100HZ,即一秒内采样44100次,采样通道数 一般为2, 代表双声道,而位宽一般是16bit 即2个字节。
通过改变采样率进行音频的变速,比如音视频播放器中的 2 倍速,0.5 倍速播放。如果想要实现音频的2.0倍速播放,只需要每隔一个样本点丢一个点,即采样率降低一半。如果想要实现0.5倍速播放,只需要每隔一个样本点插入一个值为0的样本点。就可以了,理想很丰满,但是如果仅仅这样做,带来的不止是速度的变化,声音的音调也发生变化了,比如 周杰伦的声音变成了萝莉音,这是我们不期望的。

本篇我们从原理上来学习了解下音频变速不变调是如何实现的。
首先我们先了解下声音的一些基本知识

一、声音的基本知识

1.1 声音是如何发生、传播和接受的

声音是由物体的振动产生的,以声波的方式在介质中传播。数字音频通过数模转换驱动喇叭振动,以声波在空气等介质中传播,人耳接受到不同频率 响度的声音进行判别是什么声音。人类的耳朵一般只能听到约在20Hz—20,000 Hz的声音,并且上限会随年龄增加而降低。

1.2 声音的三要素

声音的三要素包括: 响度、音调、音色。在变速时,需要变的是音频的播放速度,同时要保持音调不变。下面来了解三要素的定义和特点

响度
响度代表声音的能量强弱,主要取决于振幅大小,声音的响度一般用声压来计量,声压的单位为帕(Pa),它与基准声压比值的对数值称为声压级,单位是分贝(db spl)。人耳对于响度的感知变化并不是线性的,且对低频和高品都不太敏感,对1000HZ-3000HZ的频率比较敏感,具体如下面等响曲线描述:
等响曲线的横坐标为频率,纵坐标为声压级。在同一条曲线之上,所有频率和声压的组合,都有着一样的响度。有下图可见,在 3 000 Hz 左右的频率范围,较低的声压级都能造成相同的响度,代表听觉对该段频率的声音较为敏感。

图片来自 百科-响度

音调
声波是有可以看作是有无数个不同频谱、振幅和相位的正弦波组成,音调的大小主要取决于声波基频的高低,不同乐器的基频不同,比如 bass的频很低,而军鼓的频率就比较高;钢琴键不同键的频率也不同,男生和女生的基频也不相同,女生声音的基频比男声要高。

图片来自:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值