音声認識
空気中に散らばる声の波をつかまえて、文字のブロックへと組み立ててくれる自動通訳のような存在です。
定義 音声認識(STT:Speech-to-Text)とは、人が話す声をコンピューターが聞き取り、テキスト文字やデジタル命令に変換する技術のことです。目に見えない空気の震え(音波)をコンピューターが読み取れるデジタル信号に変換し、賢いAIが単語や文章へと解釈する仕組みで動いています。
声を細かく刻んで数字に変える
私たちが声を出すと、口から出た空気がかすかに震えて音の波(音波)が生まれます。マイクはその波を捉え、1秒間に数万回も電圧を測定してデジタル信号として細かく記録します。これは、滑らかに動く動画を無数の静止画(コマ)に切り分けて保存するのと似た仕組みです。
コンピューターは、こうして刻まれた音の信号から周囲の風の音やノイズをきれいに取り除き、人の声の成分だけを残します。そして音の高低や強弱、時間の経過に伴う周波数の変化を計算し、視覚的なグラフの形に変換します。
この手順を踏むことで、空気中に消えてしまうはずだった声が、コンピューターが計算できる精密な数値データとして整理されます。「リンゴ」と発音したときと「バナナ」と発音したときでは周波数の波形がまったく異なるため、コンピューターは2つの音を明確に見分けることができるのです。
発音のピースと文脈を組み合わせるAI
数値に変換された音声データは、AI(ニューラルネットワーク)へと送られます。まず「音響モデル」と呼ばれるAIが、細かく刻まれた音声信号が「あ」「い」「う」といったどの発音(音素)に近いかを確率で計算します。膨大な人の音声データをあらかじめ学習しているため、方言のイントネーションや早口な話し方でも高い精度で聞き分けることができます。
しかし、発音だけを特定しても完璧な文章を作ることはできません。例えば、音だけで「はし」と聞いても、ご飯を食べる「箸」なのか、川を渡る「橋」なのか、コンピューターには判別が難しいからです。
そこで「言語モデル」という2つ目のAIが活躍します。言語モデルは前後の単語の並び順やつながりを計算し、文脈として最も自然な単語を選び出します。「【はし/はし】を使ってラーメンを食べた」という音声が入ってきた場合、全体の文脈を総合的に判断して「箸」を正しい文字として決定する仕組みです。
もう少し詳しく:音声認識と話者認識の違い
音声認識とよく混同される概念に「話者認識(声紋認証)」があります。音声認識が音を聞いて「何を話したか」を読み取る技術であるのに対し、話者認識は人それぞれ異なる声帯の響きを分析して「誰が話しているのか」を特定する生体認証技術です。
スマートフォンに「Hey Siri」や「OK Google」と呼びかけるとき、この2つの技術が見事なコンビネーションで働いています。まず登録された持ち主の声かどうかを話者認識がチェックし、認証されると、それに続く言葉を音声認識がテキスト化して指示を実行します。
最近の音声認識技術は、単なる文字起こしを超えて大規模言語モデル(LLM)と融合しています。騒がしいカフェの中やボソボソとした話し方であっても、話し手の意図やニュアンスまで汲み取り、自然で整った文章へと自ら整えてくれるほど進化しています。
🤔 よくある誤解
音声認識は、コンピューターがあらかじめ録音された単語の音声ファイルと自分の声を1対1で照合して探している。
人によって声のトーンや話すスピードが千差万別なため、1対1の照合は不可能です。音をごく小さな発音単位(音素)の確率へと分解した上で、前後の文脈に最もふさわしい単語の組み合わせをAIが確率的に計算して導き出しています。
🧺 日常で出会う場面
音の波を数値に変換し、発音の確率と前後の文脈をAIで計算して文字へと変換する技術です。