Amazon Transcribeを使って音声を文字に起こしてみた！

# 1.はじめに
私がAmazon Transcribeに興味を持ったのは、議事録をもっと楽に作成できるシステムをつくりたいと感じたことからでした。
現時点での最終的な目標は、音声・動画データをテキストに起こし、そのテキストデータをAIに要約してもらい議事録を作成することです。
それを実現するためのサービスとして、音声を文字に変換できるAmazon Transcribeの存在を知りました。
なので今回は、Amazon Transcribeがどのようなサービスなのかを実際に使ってみた記録として記事を書いていこうと思います。

# 2.Amazon Transcribeについて
https://aws.amazon.com/jp/transcribe/

（上記サイト引用）
#### 概要
フルマネージド型の自動音声認識 (ASR) サービスで、デベロッパーが音声の文字起こし機能をプリケーションに簡単に追加できるようにします。

#### 特徴
- リアルタイムまたは録音された音声を瞬時にテキスト変換可能
- 様々な音響条件を考慮した高精度な文字起こし
- 100以上の言語に対応
- 自動句読点、カスタム語彙、自動言語識別、話者ダイアライゼーション、単語レベルの信頼スコア、語彙フィルターなど高度な機能

# 3使ってみた
今回は以下のサイトの音声を使用せていただきました。
この音声はAIで生成されたものであるため、実際の音声とは結果が異なるかもしれませんが、それはまた別の機会に試したいと思います。

https://note.com/note_0530/n/neb6a205744bd

###### 1.S3バケット作成・音声アップロード
音声をAmazon Transcribeに読み込ませるためには、音声をAWS上にアップロードする必要があります。その音声をアップロードする場所としてS3バケットを作成します。バケット名を「transcribe-train-20250107」とし、後はデフォルトのまま作成しました。

![スクリーンショット 2025-01-08 133953.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/6e016285-cbef-71fe-53ab-0d16bbacd1b0.png)

そこに「サンプル会議音声1.wav」という音声ファイルをアップロードしました。
![スクリーンショット 2025-01-08 134531.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/917dc5e6-02b1-5131-3357-d8fdca50e438.png)
###### 2.トランスクリプションジョブ作成
次にコンソールからAmazon Transcribeを開き、左のメニューから「トランスクリプションジョブ」を選択し、「ジョブを作成」をクリックします。
![スクリーンショット 2025-01-08 154719.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/4bf37781-8044-930a-685d-0bc33729b320.png)

次にジョブの設定を行います。
任意の名前を設定し、言語で日本語を選択します。
![スクリーンショット 2025-01-08 155917.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/a03fabaa-c324-a43e-589c-99f2e87fdcb8.png)

次に文字に起こしたい音声を選択します。
入力データでBrowse S3ボタンから先ほど作成したバケットに置かれている音声ファイルを選択します。
![スクリーンショット 2025-01-08 162123.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/0280fbb3-8787-870f-f086-1f25bacdd9bb.png)
あとはデフォルトのまま次へ進み、ジョブを作成してみます。

![スクリーンショット 2025-01-08 162922.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/43dba740-b2d0-05fd-3e11-9a7756d36148.png)

![スクリーンショット 2025-01-08 163035.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/382d8908-7cd7-c9ce-76c8-2f68c46ee5ae.png)
ステータスは1分ほどで進行中から完了になりました。

###### 3.結果確認
ジョブをクリックし出力を確認してみます。
音声ファイルで聞いた内容がテキストとして出力されていることを確認できました！
ただ、ところどころ間違っている箇所はあります。
AIの音声をAIが聞き取ることは容易であると考えていましたが、浅はかでした。
![スクリーンショット 2025-01-08 163801.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/47b4a7ef-4741-e0fd-6aba-3879a2f0a048.png)

さらに、文字をクリックすると単語の信頼度までわかります。
![スクリーンショット 2025-01-08 165616.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/320c003d-bbed-643c-9136-7455ae5a56cd.png)

間違っている単語はしっかり信頼度が低くなっていました。
音声だと「完了」と言っているところを「管理を」と変換してしまっています。
確かに「管理を」と言われればそう聞こえます。
![スクリーンショット 2025-01-08 170019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/5127658c-aeb3-fbea-129e-217b639b2029.png)

ですが、その直後にある「完了」は正しく変換できていました。
![スクリーンショット 2025-01-08 171634.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/ec5fa8fa-5cfa-a4c1-1819-f2ff3dc31a8c.png)

AI音声なのでどちらの「完了」もまったく同じ話し方だったにも関わらず、なぜ異なるのでしょうか？
このことから、AIも人間と同じように聞き取れなかったところを前後の文脈や単語で補完して変換しているんだと感じました。

# 4.いろいろな機能も試してみた
- 字幕
![スクリーンショット 2025-01-08 173106.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/60ca3480-3210-b265-df5e-43a87aaeb40d.png)
![スクリーンショット 2025-01-08 173811.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/73729ed5-6918-9ebb-49e4-e59ee54b8f1e.png)
「出力データの設定」で「字幕ファイルの出力形式」にチェックを入れると、タイムスタンプとテキストが表示されました。
　
- 音声識別
「音声設定」で「音声識別」をオンにし、話者のパーティショニングにチェックを入れます。（今回の音声は1チャネルであったため「チャネル識別」は適用しても意味がありませんでした）
話者の最大数は任意のような書き方ですが、設定しないとジョブを作成することができませんでした。人数を数えるのは面倒だったのでだいたいで6と設定しました。
![スクリーンショット 2025-01-08 175103.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/3218f841-80e1-f837-5799-4e4547304000.png)
![スクリーンショット 2025-01-08 175617.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/2b58e094-9073-95fa-a6fc-078c930924b6.png)
話者を自動で識別してくれました。
話者0～話者4まで登場していたので、5人であったことがわかりました。
　
- 代替の結果
この機能を有効にしていない状態では、信頼度が最も高い結果が出力されています。
有効にすると信頼度の低いバージョンも代替案として出力されるみたいです。
![スクリーンショット 2025-01-09 102034.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/33dc1093-7c4a-8568-6b03-7c18f6409f35.png)
![スクリーンショット 2025-01-09 104258.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3980363/f430bbfa-7430-64a0-d940-722c426a0c36.png)

が、しかし、出力結果は今まで通り1つで代替の結果を確認することができませんでした。
どこからか確認する方法があるのか、音声次第では出力されないのか今後調査が必要です。

# 5.まとめ
今回、Amazon Transcribeを何も知らない状態から使ってみましたが、とても簡単な操作でしかもあっという間にテキストが出力されることに感動しました！
今はAmazon Transcribe単体でしか触っていませんが、これから他のサービスと組み合わせて、もっと簡単に、気軽に文字起こしができるアプリケーションを作成したいです！