音声認識の教養を知ってみる1

#周期と周波数

周期は波が一回振動するまでの時間
周波数は1秒間に振動する回数

周期をT,周波数をfとすると関係性はf=1/Tとなる.

例えば,東日本における交流電圧は50Hzだから周期はT = 1/50 = 0.02(sec) = 200(msec)となる.解釈を変えると1秒間に50回振動するし,200(msec)経つと波は一回振動する.

ここから,音声をアナログからデジタルに変換するために必要な,標本化と量子化のお話を交えていくと音声をデジタルに変換するには標本化周波数と量子化ビットが必要となる.

# 標本化周波数と量子化ビット

標本化周波数は22050Hzだったり44100Hzだったりといろいろ設定できる.これは,1秒間に何回アナログの波からサンプリングをしてデジタルの波に変換するかという回数であるとも考えられる.
この値の上限は,標本化定理を用いると元のアナログの波において,一番高い周波数をfとしたとき,2fあたりが上限値となる.なぜなら,元のアナログの波を完全に再現するため,2fより高い周波数でサンプリングしてデジタルの波を作る.ちなみに,人の声に注目するならf=8000Hzあれば十分なため,2f=16000Hzの標本化周波数でサンプリングすることが多い.また,よくCD音源で見る,44100Hzは人間が音楽の音を認識できるのがおおよそf=22050Hzまでだとされているため,2f=44100HzでサンプリングされているCDが多い.

量子化ビットの最適な値は人であれば16bitだと考えられる.これは,人の可聴域が 20(μPa)~20x100万(μPa)とされているため,音圧をp(μPa),基準音圧を(20μPa)とし,音圧レベルをG(dB)とすると
G(dB) = 20log10(p/20) と考えられる.
ここで,p=20x100万とするとG=120(dB)となる.この値にに近い範囲が16bitの2^16=65536である.計算すると20log10(65536)はおおよそ96(dB)である.
ちなみに24bitにすれば144(dB)まで音の大きさを表現できるがそもそも100(dB)以上の音を普段使わないので,意味のあるデータとなるかはわからない.

したがって,人の声を対象にするなら標本化周波数16000Hz,量子化ビット16bitがバランスが取れていると考えられる.

また進捗が出たら備忘録で書き残したい

サポートしていただいた想いは,僕の興味と経験を通し,文章として還元していきたいと思います!