Digital Audio 原理
数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。将一串的样本连接起来,就可以描述一段声波了,把每一秒钟所采样的数目称为采样频率或采率,单位为HZ(赫兹)。
貝(dB)是十分之一貝爾(B):1B = 10dB。1貝爾的兩個功率量的比值是10:1,1貝爾的兩個場量的比值是。功率之比是10,則其分貝數湊巧也是10。功率之比是2,則約為3分貝,更精確地說是103/10或1.9953,與2相比較有0.24%的誤差。類似地,3分貝意味著電壓之比約是或1.414。6分貝對應功率增加了4倍,電壓增加了2倍。6分貝的功率之比確切值是106/10或3.9811,與4的誤差為0.5%.
TinyALSA
tinyalsa是Google在Android 4.0之後推的基於alsa內核的用戶層音頻接口。在Android 4.0之前還一直是使用這alsa-lib接口。
1 frame of a Stereo 48khz 16bit PCM stream is 4 bytes.
1 frame of a 5.1 48khz 16bit PCM stream is 12 bytes.
ALSA
Audio Sample
Echo Cancellation
- 解密回声消除技术之一(理论篇)
- 解密回声消除技术之二(應用篇) fe = farend
- 自適應濾波器
- http://www.ti.com/lit/an/
spra063/spra063.pdf
ne = nearend = echo + speech
echo=F(fe)
算出函數 F, 就可以算出 echo, 然後從 ne 消除 echo 得到原始的 speech
Source Code Example
- https://opensource.apple.com/source/tcl/tcl-20/tcl_ext/snack/snack/generic/g711.c
- https://stackoverflow.com/questions/39587839/libswresample-swr-convert-not-producing-enough-samples
- Increase/Decrease audio volume using FFmpeg
- Read Wave File
- TBD
其他
- Far Field Pickup 硬體小整理
- 远场(far-field)语音识别的主流技术有哪些?
- 13 of the Best FREE Audio Editors in 2018
- 台大課程,數位語音處理概論