仕組みを知る

音声データの仕組み|声が数字になり、また聞こえるまで

音声データは、マイクが受けた音をA/D変換で数値にし、必要に応じて圧縮して保存または送信したあと、再生時にスピーカーで新しい音に戻すデータです。PCM、サンプリング周波数、ビット深度、ビットレート、コーデックとWAV・MP3・AAC・FLAC・Oggの違いを区別して考えます。

音声データの仕組み|声が数字になり、また聞こえるまで

30秒でわかる答え

マイクが受けた空気の振動はA/D変換で数値になり、必要に応じて圧縮・保存・送信され、再生時にD/A変換とスピーカーを通って新しい音になります。サンプリング周波数とビット深度は数値化、コーデックは圧縮、コンテナはデータの入れ物と分けると、用語を混同しません。

TERM PRIMER

先に知っておく言葉

データ
コンピューターが扱う情報。文字、画像、音、動画、Webサイトもデータとして扱われます。
ビット
コンピューターが扱う情報の最小単位。0か1のどちらかを表します。
バイト
データ量を表す単位。多くの場合、8ビットを1バイトとして扱います。
ファイル形式
データをどのルールで保存しているかを表す種類です。画像ならPNGやJPEGなどがあります。
ストリーミング
動画や音楽を全部保存し終える前に、受け取りながら再生する方法です。

手元の音声で確認するミニワーク

自分で録った短いボイスメモを一つ選び、個人情報を含まない範囲で情報画面を開きます。設定名は端末やアプリで異なり、すべての項目が表示されるとは限りません。

  1. 長さ、ファイルサイズ、拡張子をメモする
  2. 表示があれば、サンプリング周波数、チャンネル数、ビットレートを見る
  3. 同じ長さの別の録音と比べ、容量差を一つの数字だけで決めつけない
  4. 形式を変換する場合は、元ファイルを残し、変換後の容量と聞こえ方を比べる
  5. 「WAVだから非圧縮」「数字が高いから常によい」と断定せず、中身と条件を確認する

片づけの終わったピコルート・ラボで、イトは古いタブレットの空き容量を増やしていました。削除候補を確かめていると、少し前の実験が成功した直後に録った、四人の笑い声が突然流れます。七秒だけのボイスメモです。

イト

今は誰も笑っていないのに、どうして同じ声がここへ戻ってくるの?

ユイ

サンプリング周波数とビット深度とビットレートが高ければ、本物に近づく……で合っていますか?

ピコ

三つは別々の物差しだよ。まず、声が数字になって戻る道を一本につなごう

ただし、「数値が大きいほど本物」という一つの物差しでは説明できません。サンプリング周波数、ビット深度、チャンネル数、ビットレートは、それぞれ別の量です。この先では、第76話「音の波を数値にする部屋」の目盛りと札を、実際のPCM、コーデック、ファイルへつなぎ直します。

音声データの仕組み|30秒でわかる6段階

代表的なPCM録音から再生までの基本線は、次の六段階です。圧縮やコンテナへの格納は用途次第であり、すべての音声が同じ工程を一律に通るわけではありません。

段階起きることこの段階の姿
1. 音を受ける空気の圧力変化でマイクの振動板が動き、対応する電気信号に変わる連続して変化するアナログ信号
2. 数値にするA/D変換で一定の時刻ごとに測り、有限の数値に置き換える。代表的にはPCMサンプルとして表すPCMのサンプル列
3. 保存用に整えるPCMのまま扱うか、必要ならコーデックで可逆または非可逆にエンコード・圧縮するPCMまたは符号化済み音声ストリーム
4. 保存・通信する必要ならファイルやコンテナに収め、端末に保存するか通信で送るWAV、MP3、Oggなどのファイルや音声ストリーム
5. 再生用に読み出すコンテナがあれば中の音声を取り出す。PCMは読み出し、圧縮音声はデコーダーでPCMに戻す再生装置が処理できるサンプル列
6. 音を出すD/A変換で電気信号に戻し、アンプとスピーカーが空気を揺らす耳に届く新しい音の波

スマホでは、マイクとA/D変換器、D/A変換器とアンプなどが一体になっている場合があります。この表は「別々の箱が六個ある」という部品図ではなく、信号がどんな役割の変換を通るかを示す論理的な流れです。

ラボの波やカードは、この流れを目で追うためのたとえです。実際の端末では、連続する信号、PCMのサンプル、符号化されたビット列が、同じ見た目の札として並ぶわけではありません。

イトとユイとピコが、ラボに浮かぶ音の波を一定間隔の数値カードに変える様子を見ている
録音の入口では、連続して変わる音を測り、コンピューターが扱える数値の記録に変えます。

サンプリングと量子化でPCMになる

マイクが作った電気信号も、はじめは時間とともに連続して変わるアナログ信号です。A/D変換器(ADC)は、その信号をコンピューターが扱えるデジタルな値に変えます。入口になる二つの処理が、サンプリングと量子化です。

  1. サンプリング: 一定の時刻ごとに信号の大きさを測る
  2. 量子化: 測った大きさを、用意された有限の数値段階のどれかに対応させる
  3. 二進数で表す: 選ばれた数値をビットの並びとして扱える形にする

このように、時間ごとの振幅を数値で表す代表的な方法が**PCM(Pulse Code Modulation)**です。初心者向けには、「録音した波を、時間順に並ぶ数値へした段階」と捉えると見通しが立ちます。

ただし、MP3やAACなどへ圧縮した後のデータは、PCMの各サンプルをそのまま順番に並べたものではありません。コーデック固有のルールで符号化されたビット列です。再生時にデコーダーが、そのビット列からPCMを作り直します。

ユイとマコトとピコが、連続する波を等間隔で測り、有限の数値段階に置き換える二つの処理を確認している
横方向の測る間隔がサンプリング、縦方向の数値段階が量子化です。どちらも連続した変化を有限の記録に変えます。

A/D変換の前には、記録できる範囲を超えた高い周波数成分をフィルターで抑える処理も使われます。サンプリング周波数の半分を超える成分が、別の低い音として現れるエイリアシングを避けるためです。ここでは、サンプリング周波数が「測る回数」だけでなく、扱える周波数範囲にも関係すると覚えれば十分です。

サンプリング周波数・ビット深度・チャンネルを分ける

ユイが一つにまとめかけた三つの数字は、次のように別々の軸です。

項目何を数える?増やすと主に何が変わる?
サンプリング周波数一秒間に、各チャンネルの信号を何回分の時刻で測るか。Hzで表す表現できる周波数範囲と、時間方向のサンプル数
ビット深度PCMの一つのサンプルを何ビットで表すか振幅方向の段階数と、量子化誤差に関わる余裕
チャンネル数同じ時刻に、独立した音の流れをいくつ持つかモノラル、ステレオ、サラウンドなどの構成

たとえば、44.1 kHzは一秒を44,100回分のサンプル時刻で表す設定です。16ビットなら、理想化した説明では各サンプルを65,536通り(2の16乗)の値で表せます。ステレオなら、同じ時刻に左と右の二つのサンプルがあり、その組を一つのサンプルフレームとして扱います。

ユイはノートを三列に分け、周波数を「時間」、ビット深度を「振幅の段階」、チャンネルを「同時に持つ音の道」と書き直しました。どれか一つの数字だけで、録音全体の良し悪しは決まりません。

数字を増やすほどデータ量は増えやすくなりますが、いつでも聞こえ方が良くなるとは限りません。元の音、マイク、録音レベル、周囲の雑音、A/D変換、コーデック、再生機器、聞く場所までが結果に関係します。必要以上の設定は、違いを聞き取れないまま容量と処理だけを増やすこともあります。

PCMの容量と圧縮音声のビットレートを計算する

圧縮していないPCMなら、一秒あたりのデータ量を次の式で概算できます。ここでは、サンプルの有効ビット数と保存に使うビット数が一致するpacked PCMの音声部分を計算します。

PCMのビットレート = サンプリング周波数 × ビット深度 × チャンネル数

44.1 kHz、16ビット、ステレオを例にすると、次の通りです。

44,100 × 16 × 2
= 1,411,200 bit/s
= 176,400 byte/s

一分なら、176,400 × 60 = 10,584,000 byteです。1 MBを1,000,000 byteとして表すと約10.6 MBになります。これはファイルのヘッダーやメタデータを除いた概算です。実ファイルでは、サンプルの格納幅、ブロック境界のそろえ方、パディングでも変わります。たとえば24ビットPCMは、一サンプルを3バイトに詰める形式と、4バイト幅に入れる形式があります。なぜ8で割るのかは、ビットとはとバイトとはで単位を分けて確認できます。

一方、圧縮音声で表示されるビットレートは、符号化された音声が平均して一秒あたり何ビットあるかを示す量です。W3CのWebCodecs仕様でも、音声エンコーダーのビットレートはbits per secondとして定義されています。

仮に平均128 kbpsの音声が一分続くなら、1 kbpsを1,000 bit/sとして、音声部分はおよそ次の量です。

128,000 × 60 ÷ 8
= 960,000 byte
≈ 0.96 MB

ただし、可変ビットレート(VBR)では場面ごとに使う量が変わります。コンテナの情報、画像、タグなども加わるため、ファイルサイズ ≈ 平均ビットレート × 時間 ÷ 8は目安です。同じビットレートでも、コーデック、元の音、チャンネル数、エンコーダーの設定が違えば、同じ聞こえ方になるとは限りません。

コーデック・圧縮・コンテナの役割を分ける

音声ファイルの名前を理解するときは、「音の数値」「読み書きの方式」「入れ物」を分けます。

  • PCM: 圧縮前後の処理で使われることが多い、時間順のサンプル表現
  • コーデック: 音声をエンコードし、再生時にデコードする方式
  • コンテナ: 符号化済みの音声、メタデータ、時刻情報などを収める入れ物
  • 拡張子: ファイル名の末尾にある、形式を見分けるための手がかり

圧縮には、戻せる範囲が異なる二種類があります。

圧縮デコードすると何が戻る?代表例
可逆圧縮(lossless)エンコーダーに渡した元のPCMサンプルデータを正確に復元できるFLACなど
非可逆圧縮(lossy)一部を除去・変更・近似した結果を復元する。元データとビット単位では同じにならないMP3、AAC、Opusなど

ここでいう「可逆」は、録音前の部屋の空気や声そのものまで完全に戻るという意味ではありません。マイクが拾わなかった音、録音時に入った雑音、A/D変換前に失われた情報は、可逆圧縮でも後から作り直せません。エンコードに入力したPCMサンプルデータを正確に戻せるという範囲の言葉です。

名前ごとの役割も、同じ列に並べずに見ます。

名前主な分類誤解しやすい点
WAVRIFFを使う音声ファイル/コンテナ非圧縮PCMがよく入るが、WAVだから常に非圧縮とは限らない
MP3音声コーデック/符号化形式通常は非可逆圧縮。単独の.mp3ファイルとして扱われることが多い
AAC音声コーデック/符号化形式通常は非可逆圧縮。ADTSの形や、別のコンテナ内で使われる場合がある
FLAC可逆音声コーデック/ビットストリーム形式元のPCMサンプルデータを正確に復元できるが、録音前の物理的な音まで戻す意味ではない
Oggマルチメディアコンテナコーデック名ではない。Opus、Vorbis、FLACなどを収められる

ファイル形式とはでは、拡張子、開くアプリ、対応形式の一般的な関係を扱っています。本記事では、音声に固有のコーデックとコンテナの違いに絞って扱います。

イトとマコトとピコが、細かな波形を持つ大きな音声データと、小さく符号化された音声データを比べている
圧縮はデータを小さくする方法です。可逆か非可逆かによって、デコード後に元のデジタルデータまで戻せるかが違います。

再生すると数字が音へ戻る

再生側では、録音側を単純に逆向きへたどるだけではありません。ファイルや通信から音声ストリームを受け取り、必要ならコンテナから取り出します。非圧縮PCMならサンプルを読み出し、圧縮音声なら対応するデコーダーでPCMに戻します。その後、音量調整、複数音のミキシング、サンプリング周波数の変換などを経る場合があります。

PCMはD/A変換器(DAC)によって連続する電気信号に変わり、アンプでスピーカーを動かせる大きさになります。スピーカーの振動板が空気を押したり引いたりすると、その圧力変化が耳に届き、私たちは声や音楽として聞きます。

ここで生まれるのは、録音時と同じ空気ではなく、記録をもとに作られた新しい空気の揺れです。マイク、変換、圧縮、スピーカー、部屋、聞く人の位置が違えば、波も完全には一致しません。それでも、声の高さ、時間変化、言葉、響きなどが十分に保たれていれば、私たちは誰の声か、どんな気持ちだったかを感じ取れます。

イト

あのときの空気をしまっていたんじゃない。でも、笑い方が残っていたから、あの時間を思い出せたんだ

マコト

記録は人の代わりにはならないけれど、離れた時間へ声を届け直すことはできるんだね

音声を受け取りながら再生する仕組みはストリーミングとはへ、リアルタイムで声を送る経路はライブ配信の仕組みに分けています。通信の遅れや途切れは、音の数値化だけではなく、バッファ、ネットワーク、端末処理なども関係するためです。

イト

数字を戻せても、録音した部屋そのものが戻るわけじゃないんだ

マコト

そこを分けられれば、可逆という言葉の範囲も見失わないね

四枚の札を並べる確認クイズ

44.1 kHz、16 bit、stereo、128 kbpsという四枚の札があります。それぞれ何を表すでしょうか。

  • 44.1 kHz: 各チャンネルにおける、一秒あたりのサンプル時刻の数
  • 16 bit: PCM一サンプルの数値段階に関わるビット深度
  • stereo: 左右二つのチャンネル構成
  • 128 kbps: 符号化された音声が平均して一秒あたりに使うビット数の例

四枚を「音質の数字」と一つにまとめず、時間、振幅、道の数、保存・通信量に分けられれば、音声設定を読む入口はできています。

音声データでよくある質問

音声データは全部、0と1でできていますか?

デジタル機器で保存・処理される段階では、音声も最終的にビットの並びとして扱われます。ただし、非圧縮PCMと、MP3やAACなどの圧縮後では、ビットの並べ方と意味が異なります。録音前と再生後は、空気や電気の連続した変化も関係します。

サンプリング周波数とビットレートは同じですか?

同じではありません。サンプリング周波数は一秒あたりのサンプル時刻の数、ビットレートは符号化された音声が一秒あたりに使うビット数です。ビット深度やチャンネル数も別の軸です。

同じ一分の音声でもファイルサイズが違うのはなぜですか?

PCMではサンプリング周波数、保存時のビット幅、チャンネル数が容量に関わります。圧縮音声ではコーデックや平均ビットレートが主な手がかりです。どちらにもコンテナ、メタデータ、パディングなどが加わるため、長さだけでは容量は決まりません。

WAVならMP3より高音質ですか?

拡張子だけでは決められません。WAVには非圧縮PCMが入ることが多い一方、別の符号化データも扱えます。元の録音、WAVの中身、MP3の設定、再変換の履歴、再生環境をそろえて比較する必要があります。

可逆圧縮なら元の声を完全に戻せますか?

戻せるのは、圧縮前にエンコーダーに渡したPCMサンプルデータです。録音時にマイクが拾わなかった音や、すでに混ざった雑音、録音前の空気そのものまで戻すことはできません。

七秒の笑い声を次に渡す

イトは、削除しかけたボイスメモの名前を「実験成功の七秒」に変えました。そしてタブレットを机の中央に置き、今度は録音ボタンを押してから言います。

「未来のぼくへ。声は、空気をしまうんじゃない。数字の記録から、もう一度空気を揺らすんだ」

録音を止める直前、ピコが小さく笑いました。新しくできたファイルは、今この部屋にあった空気そのものではありません。それでも、いつか再生されたとき、今日の疑問と、答えへたどり着いた声を届け直せます。

仕組みを物語でたどるなら、第76話「音の波を数値にする部屋」へ。

音声データは、声を閉じ込めた小さな箱ではありません。消えていく空気の変化から、あとで誰かの前でもう一度、聞こえる時間を作るための記録です。

LAB WHITEBOARD

自分の言葉で説明してみよう

「録音から再生までの変換を順にたどり、サンプリング周波数・ビット深度・ビットレート、PCM・コーデック・コンテナの役割を分けて説明できるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。