人工知能（AI）：自然言語処理・音声認識・音声合成の違いって何？（後半）

後半では「音声認識」「音声合成」について調べ、
最後に３つの違いについてまとめました。

# 音声認識（ASR）
__音声認識__ は人間が発する音声に含まれる情報をコンピューターに認識させる技術です。
人間が発する音声認識と対比して、「__自動音声認識（ASR:Automatic Speech Recognition）__ 」とも呼ばれます。

## 音声認識の仕組み
### 1. 音響分析
マイクや録音デバイスを使用して音声データをコンピュータが認識しやすい形式に変換し取得(音声信号がデジタル信号に変換)

### 2. 音響モデル
音声データから周囲の音を減らすノイズ除去などを行い音声をクリアにして、音声波形を音素（言語の最小単位）に分け、重要な音響の特徴（例: 周波数、ピッチ）を抽出

<details><summary><strong>音声波形とは</strong></summary>
音声波形とはこのような音声で波を打つ形のことを言います。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031833/24e144be-03aa-fa22-d26d-2be50a2d5ce4.png">

画像の縦が音の高さ(音圧)・横が時間軸を表しています。
青色のサウンドの振幅が時間軸上で連続的に変化した様子を図形化したものです。

__音の波形の表示体験__ 
https://www.kyoiku-shuppan.co.jp/docs/ml-jh25/rika/1nen/app/otonohakei/otonohakei.html
</details>

### 3. 発音辞書
抽出した音素や重要な音響の特徴をベースに文法や単語を認識

### 4. 言語モデル
頻繁に出てくる単語やフレーズを予測して文章化する

### 5. 音声認識結果の出力
指定されたテキストやコマンドをデバイスに出力

## 音声認識の主な目的
- __デバイス操作の効率化(アクセシビリティの向上)__
キーボードやマウスなどを使わず、音声のみでデバイスやサービスを操作できるようにする
- __作業効率の向上__
運転中など手がふさがっている場合でも音声で指示を出せるため、操作や情報検索が可能

## 音声認識の応用例
多言語間の通訳・翻訳、コンピューターとの会話

https://www.transcosmos-cotra.jp/voice-recongition

「Cotra 編集部」が音声認識についてわかりやすく説明してくださっていたので貼っておきます。

# 音声合成(TTS)
__音声合成__ はテキスト(文章)データを人間に似た音声として音声生成する技術です。
テキストを音声として出力するので「__テキスト音声合成（TTS:Text-To-Speech）__ 」とも呼ばれます。

## 音声合成の仕組み
### 1\. テキスト解析
入力されたテキストを解析し、単語や文節に分け、発音やイントネーションの情報を抽出し、音声化しやすい形に変換

<details><summary><strong>解析・抽出</strong></summary>

- __文解析法__
入力テキストを単語や文節に分割し、それぞれの役割を特定します。
（例:「こんにちは、元気ですか？」→ ["こんにちは","、","元気","です","か","?"]）
- __音韻情報の抽出__
単語ごとの発音やアクセント、イントネーション情報が付加されます。
（例:「元気」→ [ge-n-ki]（音素列））

</details>

### 2\. 音声モデルの生成
抽出した情報をベースに音素（音の単位）と波形を組み合わせて音声波形を生成するための音響パターンを作成

<details><summary><strong>音声波形の生成</strong></summary>

- __音素変換__
テキスト内の文字を音素（音の最小単位）に変換
(例: 「こんにちは」→ [コ・ン・ニ・チ・ワ])

- __プロソディ情報の特典__
音声のリズム、ピッチ（音の高さ）、強弱を追加し、自然な音声を実現
(例: 質問文ではピッチを上げる。)

</details>

### 3\. 音声波形の生成
音声合成中の技術である音声波形を作成

<details><summary><strong>音声合成処理</strong></summary>

- __規則ベース音声合成__
音素を決められたルールで組み合わせ、音声を生成
シンプルですが、自然さに欠ける場合がある

- __波形接続型音声合成__
事前に録音した音声データを組み合わせて音声波形を生成
実際の音声を使うために自然に聞こえるが、大量のデータが必要

- __ニューラルネットワーク型音声合成__
ディープラーニングを活用して音声波形を直接生成
最新の技術で、「WaveNet」や「Tacotron」などが代表例

</details>

### 4\.ポストプロセッシング
生成した音声波形をノイズ除去(不要な音雑を取り除く)や音量調整(聞き取りやすい音量に調整)に加工

### 5\.音声出力
合成された音声スピーカーや他のデバイスを再生

## 音声合成の主な目的
- __対話システムの構築__
チャットボットやAIアシスタントとの自然な会話
- __アクセシビリティの向上__
視覚障害者や読み書きが困難な人に情報を音声で提供
- __効率的な情報伝達__
情報を音声化することで、運転中や移動中でも情報を得られる

## 音声合成の応用例
ナビゲーションシステム（例：カーナビ）、読み上げソフト、視覚障害者向け支援技術

https://aismiley.co.jp/ai_news/what-is-the-mechanism-and-appeal-of-voice-synthesis-software-that-uses-ai/

# 自然言語処理・音声認識・音声合成の違いと関係性
| 項目 | 音声認識 | 自然言語処理 | 音声合成 |
|:-----------|:------------|:------------|:------------|
| 入力 | 音声波形 | テキスト | テキスト |
| 出力 | テキスト | 意味や構造化されたデータ | 音声波形 |
| 主な役割 | 人間の音声を理解する | 言語の意味を解析・生成する | コンピュータが音声を予想 |
| 応用技術 | 自然言語処理の前段階 | 音声認識や音声合成で使用出来る | 自然言語処理の次の段階 |

# 総合的な利用例
車載ナビゲーションシステム（カーナビ）では以下のように3つの技術が連携しています

__使用例__
運転中にユーザーが「大阪駅まで案内して」と話す

1. __音声認識__
ユーザーの音声を文字列にテキスト化（例:["大阪駅まで案内して"]）
2. __自然言語処理__
発言内容を解析し、目的地を特定（["大阪駅"]）し、ナビゲーションルートを計算
3. __音声合成__
計算結果を音声に変換してユーザーに案内(例:「次の信号を右折してください。」)

このように、各技術が役割を分担しながらシステム全体の動作を支えています。

# 最後に
自然言語処理・音声認識・音声合成の違いについてなんとなく理解できました。
調べれば調べるほど興味深いのですが、底が深すぎて終わりがないですね。