ディープラーニング A to Z · 3-4

音声 — 空気の振動が数値の行列になるまで

音は空気の振動である。この振動を一定の間隔で測り(標本化)、決まった目盛りに合わせて記録し(量子化)、短く切り出して(窓)どの高さの振動が混ざっているかを分け(フーリエ変換)、人の耳のように低い音をより細かく見る目盛りでまとめ直すと(メル)、ニューラルネットワークが読む数値の行列になる。すべての音はこのページで直接合成している。

1949標本化定理をまとめたShannonの論文 [R1]
8,000 → 1,9601秒の音(8 kHz)の数値がメル行列になると
6.02 dB量子化ビットが1つ増えるごとに改善する信号対雑音比
25 ms · 10 msこのページの窓の長さと窓の間隔
20個メルフィルタの数(このページ)
2本Colabですぐ動かせるコード
1振動

音は空気の振動である

スピーカーの振動板が前後に振動すると、空気が密になったり疎になったりを繰り返しながら広がっていく。1秒に何回振動するかが音の高さ(周波数)、どれだけ大きく振動するかが音の大きさ(振幅)である。

音
大きさ
2標本化

標本化 — 1秒に何回測るか

測る回数 ≥ 2 × 最も高い周波数Shannon, 1949

1秒に測る回数

初心者のための解説

振動を正しく捉えるには、1回振動する間に少なくとも2回は測らなければならない。1秒にfs回測るとfs/2 Hzまでしか捉えられず(ナイキスト限界)、それより速い振動は見当違いの遅い振動に見える(エイリアシング) [R1]。人の耳はおよそ2万Hzまで聞こえるので、音楽CDは1秒に44,100回測る。電話は話し声だけ捉えればよいので8,000回を使う。このページのメルスペクトログラムも8,000回(8 kHz)を使う。そのため4,000 Hzより高い音は捉えられない。実際の録音機器は、標本化の前に限界より高い音を取り除いている。

3量子化

量子化 — 測った値を何目盛りの物差しに記録するか

測った値は小数点以下が限りなく続く実数である。保存するには、決まった目盛りのうち最も近い目盛りに丸めなければならない。bビットなら目盛りは2b個だ。丸めで生じた差が量子化雑音である。

ビット数
4切り出し・窓

切り出しと窓 — 短く切って、端をなめらかに

話し声は瞬間ごとに変わる。そこで25 msずつ切り出して断片ごとに別々に分析し、10 msずつずらしながら繰り返す。切り出した断片の両端をなめらかに小さくする掛け算が「窓」である。

窓の形

なぜ両端を小さくするのか

そのまま切ると、断片の両端で値がぷつりと途切れる。フーリエ変換は、その断片が限りなく繰り返されるとみなして計算する。そのため途切れた箇所の急激な変化が、もともとなかった周波数として漏れ出す(漏れ)。Hann窓は0から1へなめらかに上がって下りる曲線(0.5 − 0.5·cos)を掛けて、両端を0にする。その代わりにピークが少し広がる。25 ms・10 msは話し声の分析でよく使われる値で、課題に応じて変えて使う。

5フーリエ変換

フーリエ変換 — 混ざった振動を高さごとに分ける

どんな音でも、高さの異なる正弦波の和として表せる。フーリエ変換は波形を受け取り、「何Hzの成分がどれだけ含まれているか」を返す。プリズムが白い光を虹に分けるのと似ている。

音
6メルスペクトログラム

メルスペクトログラム — 人の耳の目盛りでまとめた数値の行列

メル = 2595 · log10(1 + Hz / 700)「ドレミファ」1秒 → 98 フレーム × 20個

見るフレーム

初心者のための解説

人の耳は低い音の小さな差(100 Hzと200 Hz)はよく聞き分けるが、高い音の同じ差(3,000 Hzと3,100 Hz)はあまり聞き分けられない。メル尺度は低い周波数を細かく、高い周波数を粗く分ける。フーリエ変換の結果(129個)をこの尺度の三角フィルタ20個でまとめ、対数(デシベル)をとるとメルスペクトログラムになる。上の式は広く使われている定義の1つである。メル尺度に基づく特徴(MFCC)は、音声認識でほかの特徴より良い性能を示し、長く標準のように使われてきた [R2]。

7モデルの読み方

モデルの読み方 — 画像のように、または順番に

メルスペクトログラムは「周波数 × 時間」の数値の行列である。ニューラルネットワークはこれを2通りの方法で読む。詳しい構造は前の回で扱った。

読み方

Colabコード — このページを自分で実行してみる

どちらのコードも、Colabに標準でインストールされているライブラリだけを使う。「ノートブック(.ipynb)をダウンロード」したあと、Colabでファイル → ノートブックをアップロードで開くか、コピーして新しいノートブックのセルに貼り付ける。

コード1 · 音が数値の行列になるまで — NumPyで1段階ずつセクション2〜6と対応 · numpy, matplotlib · CPU 1秒

標本化・量子化・窓・フーリエ変換・メルスペクトログラムをライブラリなしで計算する。ページの数値(エイリアシング 3 Hz、漏れ 7.95% → 0.05%、メルの各値)がそのまま出る。自分のデータに替えるには SIGNALとFSを変える。

実行結果(2026-10-03実行、numpy 2.4 · matplotlib 3.10 · CPU)。計算に乱数がないので、いつ実行しても同じだ。
コード2 · librosaで同じメルスペクトログラムを作るセクション6と対応 · numpy, librosa, matplotlib · CPU 数秒

実務で使うlibrosaで同じ音をメルスペクトログラムに変換し、自作の結果と比較する。録音ファイルを使うには、コード内の[自分のデータに替えるには]の行に従う(ファイルは各自で用意)。

実行結果(2026-10-03 実行、librosa 1.0 · numpy 2.4 · CPU)。librosaはフレームをFFT長(256)で切るため、フレームが1つ少ない(97個)。それ以外の数値はほぼ同じである(相関 0.998)。

AI応用プロンプト — このコードを出発点にする

ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトである。「コピー」を押すと、プロンプトのあとに選んだコードが一緒に付く。〔 〕の中を自分の状況に書き換えて使えばよい。

一緒に付けるコード

AIの答えは出発点にすぎない。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認する。コンテストや論文でAIの助けを借りた場合は、主催者や学術誌の規定に従って、使用した事実と範囲を明らかにする。

用語集

本文の黄色い点線の下線と同じ辞書である。シリーズ全体で同じ表記を使う。セクション名を押すと最初に出てきた場所へ移動する。

たとえ集 — そしてたとえが外れるところ

たとえは理解の第一歩だが、誤解の種にもなる。ショウジョウバエ・脳のたとえには強さを示した。直接 実際に同じことをしているという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない

概念日常のたとえショウジョウバエ・脳のたとえたとえが外れるところ
標本化走る人を1秒ごとに写真に撮る部分的 ショウジョウバエの複眼も、決まった速さでしか明るさの変化を追えない写真は瞬間を写すが、標本は決まった間隔の値にすぎない。間隔より速い動きは見当違いに見える(エイリアシング)
量子化身長を1 cm目盛りの物差しで測るなし物差しの目盛りは均一だが、実際のオーディオではビット数によって目盛りが決まる
窓写真の周辺をぼかす処理(ビネット)なし窓は見栄えのためではなく、切った端が生む偽の周波数を減らすために掛ける
フーリエ変換プリズムが光を虹に分ける直接的 人の蝸牛は場所ごとに異なる高さの音に反応し、音を高さごとに分ける蝸牛は時間に沿って分け続け、大きさの変化に非線形に反応する。フーリエ変換は切り出した断片1つを一度に計算する
メル尺度ピアノの鍵盤:高さが2倍になるたびに同じ間隔部分的 人が感じる音の高さの間隔メルの式はいくつもあり、聞こえ方も人によって違う。このページの式は広く使われているものの1つにすぎない
メルスペクトログラム楽譜:時間(横)× 音の高さ(縦)なし楽譜は音符を1つずつ書くが、スペクトログラムは倍音や雑音まで、すべてのエネルギーを各マスに書き込む

著者紹介と参考文献

E-1 著者紹介 · E-2 学術参考文献 · E-3 図の参考資料

E-1 著者紹介

Sangsun Ahn(株式会社M-Robo代表)

韓国電気安全公社、毎日経済新聞を経て、現在は毎日経済の社外ベンチャーである株式会社M-Roboを創業し、代表を務めている。株式会社M-Roboは報道機関の社内ベンチャーとして始まったメディアベンチャーで、国民日報にロボット記者(ストックボット)をサービスし、韓国インターネット振興院、韓国言論振興財団、韓国放送通信電波振興院などで多数のプロジェクトを手がけた。その後、自社のAIニュース新聞であるMoney-Roboをサービスしている。代表在任中にアジア・オープンデータ・ハッカソンで優勝し、データ起業分野での功績により行政安全部長官賞を2回受賞した。また、人工知能およびブロックチェーン分野で5件の特許の発明者・登録者である。著書に『AI犯罪と自己防衛』があり、フィンテック分野、統計学、人工知能分野について韓国技術教育大学校オンライン生涯教育院のeラーニングコンテンツを開発した。最終学位は経済学博士(東国大学校、ミクロ数理経済学)。国民大学校、湖西大学校など複数の大学でデータおよび人工知能に関する科目を講義している。詳しいプロフィール

講義

  • Sangsun Ahn (2025). 『ビジネスのためのデータサイエンス』講義案. 韓国オープンサイバー大学 人工知能融合学科.
  • Sangsun Ahn (2025). [K-デジタル] 人工知能 自然言語処理. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校オンライン生涯教育院.
  • Sangsun Ahn (2024). [K-デジタル] フィンテックデータ分析の基礎. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校オンライン生涯教育院.

STEPの講義へのリンク:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
サイトのリニューアルにより接続しにくい場合は、www.step.or.krからアクセスしてください。

論文と発表

  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能モデルに基づくアプローチ. 『未来社会』, 16(2). 原文
  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能によるアプローチ. 国民老後保障パネル学術大会 発表資料(2025.05.13), 国民年金公団 国民年金研究院. 発表資料
  • Sangsun Ahn (2025). SNSテキストに基づく麻薬疑い取引検出アルゴリズムに関する研究:パターンおよび文脈分析を中心に. 『未来社会』, 16(1). 原文
  • Sangsun Ahn (2024). 金融分野の異常検知モデルのセキュリティのための統計ベースの敵対的データ対応策:実証分析とシミュレーション結果. 『未来社会』, 15(3). 原文
  • Sangsun Ahn (2024). 人工知能を活用した仮想キャラクターの特性に基づくSNS投稿検出ソリューション. 2024 Summer Newmedia Party ポスター発表(2024.06.19), ソウルメディア大学院大学.
  • Sangsun Ahn (2024). 労災パネルデータを活用した機械学習モデル. 第10回 労災保険パネル学術大会 ポスター発表(2024.05.17), 勤労福祉公団 勤労福祉研究院.
  • Sangsun Ahn (2024). 暗号資産の時系列データの分析と予測:時系列モデルと人工知能モデルの比較、改善点の提示. 『未来社会』, 15(1). 原文

E-2 学術参考文献

  1. [R1] Shannon, C. E. (1949). Communication in the presence of noise. Proceedings of the IRE, 37(1), 10–21. doi:10.1109/JRPROC.1949.232969 — ヒーロー、セクション2(標本化定理)
  2. [R2] Davis, S. B., & Mermelstein, P. (1980). Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. IEEE Transactions on Acoustics, Speech, and Signal Processing, 28(4), 357–366. — セクション6(メル周波数ケプストラムが、比較した特徴のうち最も良い認識性能)

E-3 図の参考資料

すべての音はページ上で合成した(録音なし)。

  • メル尺度の式 2595·log₁₀(1 + f/700) と 25 ms・10 ms の窓は、音声処理で広く使われる慣例値である。別の定義(Slaney方式など)を使うライブラリもあるため、コード2では同じ定義にそろえた

教育者向けTIP

講師、実務OJT担当者、チューターのための運営ガイドである。時間は目安なので、実際の授業に合わせて調整する。

対象音声・音のデータ(コールセンターの録音、設備の騒音、音声コマンド)を扱おうとする大学生・実務者
前提知識正弦曲線と対数。3-3の「写真は数値の格子」を知っているとセクション6・7がわかりやすい
学習目標① 標本化・量子化が何を失うかを数値で説明する ② 窓・フーリエ変換・メルフィルタを経て音が行列になる過程を順に説明する ③ メル行列をCNN・系列モデルが読む2つの方法を区別する
所要時間の目安読む 35〜45分 · アニメーション・音のデモ 20分 · Colab実習 25分(コード1 15分、コード2 10分)

三つの運営案

講義形式 50分

概念中心

導入 5分(セクション1 音を聞く)→ セクション2 エイリアシング 10分 → セクション3 ビット数ごとの音の比較 10分 → セクション4・5 15分 → セクション6 数値の行列 5分 → 確認問題 5分。

実務OJT 90分

業務への適用中心

セクション2・3を自社機器の録音仕様(標本化周波数・ビット)と照らし合わせる 15分 → セクション4〜6 25分 → コード2に自分の録音ファイルを入れる 30分 →「自社のデータはCNN型か系列型か」討論 20分。

1対1のチュータリング

レベル別の進度

入門者はセクション1・2・5・6のみ。中級者にはコード1のmel_filterbankを手で1マス計算させ、ページのフィルタの三角形の図と照らし合わせる。

セクション別の運営ポイント

セクション立ち止まって投げかける質問操作のコツ
1 振動「440 Hzは220 Hzより何倍速く振動するか?どう聞こえるか?」2つの音を順に聞かせる(音が出なければ機器の音量を確認)
2 標本化「1秒に8回測ると、なぜ3 Hzに見えるのか?」50 → 12 → 8回の順に押す
3 量子化「3ビットの音と16ビットの音は、何が違って聞こえるか?」3ビットと16ビットでそれぞれ聞かせる
4 切り出し・窓「そのまま切ると、なぜなかった周波数が生じるのか?」矩形 ↔ Hannを交互に押しながら、下のグラフの裾野を見る
5 フーリエ変換「同じ『ド』なのに、ピアノとバイオリンはなぜ違って聞こえるのか?」純音 → 楽器音の順に聞かせ、ピークの数を比べる
6 メルスペクトログラム「1秒の音がいくつの数値になったか?」ド → ファのフレームを押し、最も明るいマスが上へ移っていくのを見る
7 モデルの読み方「呼び鈴の音の分類と書き取りには、どちらの方法が合うか?」2つの方法を交互に押す

よくある誤解 Top 5

誤解正しい説明見せる場面
多く測るほど常に良い捉えたい最も高い周波数の2倍で十分である。それ以上は保存容量が増えるだけだセクション2の12回(5 Hzは捉えられる)
ビットが少ないと音が小さくなる大きさではなく雑音が大きくなる。ビット1つごとに約6 dBずつきれいになるセクション3
フーリエ変換は音全体を一度に分析する短い断片(フレーム)ごとに別々に行う。だから時間に沿った変化が見られるセクション4・6
スペクトログラムは画像だから、写真と同じように扱ってよい横(時間)と縦(周波数)の意味が違う。縦にずらすと別の音になるセクション7
メルスペクトログラムは音をそのまま収めている位相と細かな周波数情報を捨てて縮めた要約である(8,000 → 1,960)セクション6 数値のまとめ

確認問題(解説は押して展開)

Q1. 標本化周波数8,000 Hzで捉えられる最も高い周波数は?

8,000 ÷ 2 = 4,000 Hz(ナイキスト限界)。

Q2. 5 Hzの振動を1秒に8回測ると、何Hzに見えるか?

|5 − 8| = 3 Hz。限界(4 Hz)を超えてエイリアシングが生じる。

Q3. 8ビットと16ビットの理論SNRの差は?

6.02 × (16 − 8) ≈ 48 dB。理論値は49.92 dBと98.08 dBである。

Q4. 1秒の8 kHzの音を25 msの窓(200個)、10 msの間隔(80個)で切ると、フレームはいくつか?

(8,000 − 200) ÷ 80 + 1 = 98個(小数点以下を切り捨ててから1を足す)。

Q5. フレーム98個 × メル20個の行列の数値はいくつで、元の音の数値の何分の1か?

1,960個。8,000 ÷ 1,960 ≈ 4.1、約4分の1である。

Colab課題

基本

コード1のNMELを20から40に、FRAMEを200から400に変える。メル行列の大きさと図がどう変わるかを、時間分解能と周波数分解能のトレードオフと結びつけて3文で書く。

挑戦

自分の声や設備の音を直接録音したファイルでコード2を実行する(ファイルは各自で用意、個人情報に注意)。同じ音を2回録音してメル行列がどれだけ似ているかを相関係数で比べ、何が違いを生むかを書く。

難易度の調整とさらに学ぶ

入門者セクション3・4は飛ばしても流れは途切れない。セクション1・5の音を聞く部分は必ずやってみる
発展窓の長さ・間隔・メルの数が認識性能に与える影響を調べさせる。調べた論文は原文で確認する
さらに学ぶSangsun Ahn『ビジネスのためのデータサイエンス』講義案(データサイエンス全般) · STEP [K-デジタル] 人工知能 自然言語処理(3-5・3-8と連動) · STEP [K-デジタル] フィンテックデータ分析の基礎(3-6と連動)
講師用資料確認問題の採点基準と課題の解答例は教育者用解答ページ(3-4)で見られる

お疲れさまでした!

「3-4 音声」の回を最後まで読みました。研究室のみんなが一言ずつまとめます。

博士
博士空気の振動が数値の行列になる過程を、すべてたどりました。
  • 1秒に測る回数の半分までしか音を捉えられない
  • 窓で切り出してフーリエ変換すると、音が高さごとに分かれる
  • 1秒の音の数値8,000個が、メル行列の1,960個になる
助手
助手3ビットの音は耳が痛いです!
ハエ研究員
ハエ研究員ぼくの羽音もメル行列にしてね。