nicolish!

オーディオ

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

オーディオ


01.サンプリングレート

16bit、44.1kHzって何?
PCが音をどう扱うかの話

音は波。
高校までのどっかで習ったんじゃないかな。

グラフにするとこんな感じ。
縦軸が波の強さ、横軸が時間だと思って。

例えば、音が大きいってのは
この波の振幅が大きいという事

音が高いってのは
この波の振動数が高いという事
振動数の単位はHz。1000Hzは1秒で1000回振動。

さて、この波をPCに取り込む。
PCは連続量、なめらかなカーブを取り込めない。
絵をピクセルで表現するように、音も要素ごとに分解しないといけない。

どうやるか?波を階段状に表現する。
この階段が細かければ細かいほど、もとのデータに近い状態で保存できるわけ。

一定時間ごとに音の大きさを測定するわけだけど。
最低で秒間何回くらいデータを持ってくれば、人間の耳にそれっぽく聞こえるだろう?
増やすとデータが大きくなるので、最小限に抑えたいところ。

これには法則がある。
元の波を再現するには、その2倍の頻度でデータを持ってくればいい。
というわけでどの程度まで高い(高周波数の)音を再現したいか?の問題になる。

この「どの位の頻度でデータを抜き出すか?」を示す数値がサンプリングレート。
「サンプリング」というのがデータ抜き出しを示す。日本語で言えば標本化。
「レート」は時間辺りの比率だから。

ヒトの耳は、だいたい15,000から20,000Hzくらいまでの音を聞き取れる。
だから、サンプリングレートをこの倍くらいにすると音質的にいい感じ。

そんなわけで。
音楽CDでは44,100Hz(44.1KHz)をサンプリングレートとして採用した。
以降、デジタルオーディオの世界ではこれがひとつの標準として使われる事になる。

ここまでのまとめ

  • 音は波である
  • 一定間隔で音を抜き出す事で、音をデジタル化できる
  • 音を抜き出す頻度=サンプリングレート(標本化周波数)
  • 高音を再現するには高いサンプリングレートが必要
  • 音楽CDのサンプリングレートは44.1KHzで、これがひとつの標準。


2.量子化

さて、サンプリングレートのほかにもう一つ決めないといけないことがある。

階段状にする時に、どの程度高さを細かく取る?
音の高さじゃなくてボリュームの問題だね。

音楽CDの場合、0-65535までの65536段階の高さで階段を表現する。
65536?変な数字だ、なんぞこれ?

65536は2^16。すなわち16ビット。
音のデータに書いてある「16ビット」「32ビット」というのは、これの事を示している。
サンプリングレート程ではないが、これも音の再現度に影響する。

こんな感じで、強さを階段状にしちゃう事を
「量子化」と呼ぶ。量子化は本当はもっと広い概念なんだけど。
CDの場合、量子化ビット数は16ビット、と言える。

さて、滑らかな強さの変化の連続だった音が
65536段階の飛び飛びの値が (量子化)
44.1KHzの頻度で変わる階段 (サンプリング)
になった。これでコンピュータに格納できるね。

CDに格納されている音、あるいは無圧縮のwavファイルは
このデータそのまま。圧縮も省略もナシ。
だからファイルの大きさは、サンプリングレート*再生時間*ビット数(16)*ステレオなら2倍
とほぼ完全に一致する。

そんな感じでいったんまとめ。

ここまでのまとめ

  • 量子化とは、強さを階段状に揃えてしまう事
  • 量子化ビット数は、どの程度忠実に音量を再現するかを示す
  • 音声は、サンプリングと量子化を経てデジタルデータに変換される


3.実践

以下、やっと実践編。内容あんま多くないけど。

まずサンプリングレート。
これを下げると、高音部分が失われる代わりにデータ量を小さくできる。
高音が失われてもいい場合ってどんな時?

直感で分かる話だね。
そんな高音は、テクノなどの一部の音楽にしか出てこない。
会話中の人の声の周波数はたかだか4,000Hzくらい。
そういう中音域の音しか出てこない場合、高音が欠けてもオッケーなわけだ。

ちなみに、高音が入ってるのにサンプリングレートを落とした場合
音の高い部分だけが欠けた音になる。
「こもった音」、と表現される事が多い。
障害物に高音が吸収された感じに似てるわけ。

で、以下はmp3化してFLVに入れるに当たっての注意事項。

ひとつめ。
レート数の扱い間違いは音ズレと音程変化を招く。
そうそう起きるミスではないけれどね。
作業中、この音のレートはいくつなのか?はきちんと把握しておく事。

ふたつめ。
FLVは、44.1KHz、22.05KHzなどのレートのmp3しか受け付けない。
DVDや一部ゲーム機は48KHzで音声を出力するので、変換が必要になる。
これはmp3圧縮する段階でやるのがスマート。
サンプリングレート変換が出来ないエンコードソフトは貧弱なので捨てよう。

みっつめ。
mp3の圧縮処理には、実は「高周波領域のカット」が含まれている。
(カンペキにカットするわけではないけれどね。詳細はパス)
だから、サンプリングレートをいじらずにmp3圧縮しても、そんなに効率は悪くない。

よっつめ。
デジタルオーディオの話からは離れるんだけど。
mp3を可変ビットレートで圧縮してFLVに入れると、音ズレを起こす確率が高い。
特にエコノミーモード(再エンコード)されるとほぼ間違いなくズレる。
基本的に音声はCBRで圧縮するようにした方が無難。

いつつめ。
基本的に、ステレオ音声はビットレートを半分ずつにして両耳に割り当てる。
ステレオ56kbpsは、片耳ずつ見れば28kbps。
ビットレートが極端に低い場合は、モノラルにした方が音質がいい。

ここまでのまとめ

  • 低サンプリングレートは、高音がこもる事があるが、データ量が小さい
  • 48KHzのmp3はFLV化できない
  • 音声は固定ビットレートにしないと音ズレしやすい
  • 低ビットレートでは、モノラルにする事も考えるべし


4.高音質化のTips&Tricks

最後にちょっとだけ、簡単にできる高音質化の技術をご紹介。

mp3を再生する時、Winampとかにプラグインを入れて音質を変える事があるかもしれない。
データが一緒でも、再生環境が違えば音質が変化するわけだ。

でも、FLV化してニコニコで視聴する場合、みんな再生環境が一緒。
なので、こういう工夫が出来ない。
じゃあどうすればいいか?

音のほうに、予めWinampでやるような高音質化処理をかけておけばいい。
俗に言う「超」音質処理。高音質(高再現度)ではなく、原音を超えた音、というわけ。
(超低音質、の意味で使う事もあるけど)

専用のソフトもあるけど、もっと手っ取り早い手段もある。
Winampやfoobar2000のようなプレイヤーには、音源をwavやmp3で書き出す機能がある。
その際、プラグインによるエフェクトをかけた音声を書き出す事ができる。
これが知識のない素人にも簡単にできる高音質化のトリック。

要するに、適当に高音質化っぽいプラグインをバカスカ入れて
プレイヤーから音声を書き出せば良いわけ。
この処理は、なるべく圧縮前、原音に対して行なうのが望ましい。

上手くやると、ビットレートの割にいい音を作り出せる。
一手間かかるけど、費用対効果はかなり良好。
音質に悩んでる人は試す価値アリ。
記事メニュー
ウィキ募集バナー