【情報Ⅰ#77】音のデジタル化の手順や計算をわかりやすく解説!|情報1の授業動画【高校・共通テスト対策】プログラミング

  • 前回は、動画のデジタル表現についてお話ししました。 動画とは、連続した静止画像を高速で映し出すことで動いて見える画像のことで、一枚一枚の静止画像のことを「フレーム」、そして、動画1秒間に使われるフレーム枚数のことを「フレームレート」と言います。 また、動画のデータ容量は、色数、ピクセル数、フレームレートの3つの基準で決まる、というお話しをしましたね。 さて今回は、音のデジタル表現について詳しく解説していきますよ。

①音が聞こえる仕組み

  • 音のデジタル表現の仕組みを理解するには、私たちが普段の音をどのように発生させ、どのようにそれを耳で聞いているかを理解する必要があります。 声を出したり、物を叩いたりしたときには、その衝撃により空気が振動することで、音波という波が発生します。 その音波が耳に入り、鼓膜を振動させます。その振動が、信号に変換され、神経を経由して脳に伝わり、どのような音声かを認識できるのです。 つまり、皆さんが聞いている全ての音は空気の振動により発生しますので、その振動を機械で作り出すことで同じ音を生み出すことも可能なのです。
  • えっ!じゃあ100年に1人の美声と言われるぼくの声も生み出せちゃうってこと!?
  • ぐらみんくんの声はそもそも機械です。 身近なものとして、みなさんが使っているスマホは、相手が喋った音声の空気の振動をコンピュータで分析し、同様の振動をスマホで作り出すことで相手の耳に届けているということなのです。 このときスマホが行っているのが、音のデジタル化、つまりA/D変換です。

②音のA/D変換

  • では、どのようにして音をA/D変換しているのでしょう。 理科の授業で習ったかと思いますが、振動は波形で表現することができます。 つまり、この波形を1と0で表現することができれば、音もデジタル化できるということになります。 実際にこちらの波形をデジタル化してみましょう。 さて、画像をA/D変換する場合、どのような手順で行っていたか覚えていますか?
  • うーん。何とか化だけ覚えてる。
  • 標本化(サンプリング)→量子化→符号化です。 音のデジタル化でも同様の手順で行っていきます。
    まずは、標本化です。
    画像の場合にはマスの大きさを決めてマスを当てはめていく工程でしたね。 このように、「アナログデータを一定間隔で区切ること」を標本化と言います。 音の場合には、波を一定の時間間隔で区切り、その時間ごとの波の高さを拾いだす工程を指します。 この標本化する際の時間間隔を、サンプリング幅もしくはサンプリング周期と言います。 また、1秒間にサンプリングする回数をサンプリング周波数といい、サンプリング周波数の単位にはHzが使われます。
    次に、量子化です。
    ここでは、サンプリングで拾い出した点に対し、その点に最も近い値に割り当てます。 今回は量子化を4段階に分けて、このエリアは0、このエリアは1、このエリアは2、このエリアは3とします。 そうすると各点には、このような値が割り当てられます。
    最後に、符号化です。
    符号化では、量子化で振り分けられた(10進数の)値を2進数の数値に変換します。 するとこのように、20bitの2進数に変換することができました。 このような流れでアナログ音声をデジタル化することを、PCM(パルス符号変調)方式と言います。

③サンプリング幅と量子化の段階

  • 以前、アナログとデジタルの違いを説明しました。 アナログとは「連続的なデータを目に見える量で表したもの」であり、それを段階的に切り取ったものがデジタルでしたよね? 段階的に切り取る以上、アナログデータを完璧な状態でデジタル化することは難しいです。 例えば、サンプリングするときにその間の音の波は失われてしまいます。 また、画像の量子化において、1マスに白と黒の両方が含まれる場合、黒の面積が多ければ1、白の面積が大きければ0にするというルールを決めて、どちらかに寄せていました。 その結果としてデジタル化することにより、このようなシャギーが含まれる画像となりましたよね。 音のデジタル化でも同様で、量子化を4段階に設定した場合、それぞれの点はその4段階のラインのうち一番近い値に寄せるため、正確な波の高さは取れなくなります。 結果的に、このような線というよりかはまばらな点の集まりといったデジタルデータとなってしまいます。 逆に考えると、このサンプリング周期を短くし、量子化の段階を細かくしていけば完璧な状態は無理だとしても、限りなくアナログデータに近い波形を作りだすことができます。
  • たしかに!

まとめ

  1. 音は、空気が振動することで音波という波が発生し、それが耳から脳に伝わることで、どのような音なのかを認識することができる。
  2. 音波を、標本化→量子化→符号化という手順でA/D変換し、同様の音波をデジタル化することで、同じ音を生み出すことができる。
  3. サンプリング幅を短くし、量子化の段階を増やすことで、限りなくアナログデータに近い波形を作り出すことができる。