11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

株式会社オーイーシーAdvent Calendar 2023

Day 8

Amazon Transcribe による「音声の文字起こし」をブラウザから試す

Last updated at Posted at 2023-11-28

はじめに

AWS は様々な AI サービスを提供しています

そして、それらのサービスはブラウザから簡単に試せるようになっています

サービス 機能 お試し記事 Elixir 実装例
Transcribe 音声の文字起こし(音声認識) 参照 参照
Polly 文書の読み上げ(音声合成) 参照 参照
Lex チャットボット 参照 Coming Soon...
Translate 翻訳 参照 参照
Rekognition 画像認識
顔認識
参照
参照
参照
Textract 画像からの表データ読込 参照 参照
Bedrock 生成AIによるチャット、画像生成 参照 参照

本記事では AWS の AI 音声認識サービス Amazon Transcribe をブラウザから試してみます

Amazon Transcribe とは

Amazon Transcribe は音声をテキストに変換する、つまり「音声の文字起こし」=音声認識サービスです

Amazon Transcribe の使い途(ユースケース)

Amazon Transcribe は単に音声を文字にするだけでなく、誰が喋っているのか判別したり、単語を区切ったり、個人情報などを識別したりなど、様々な機能を備えています

Amazon Transcribe の多様な機能を活用することで、以下のような用途に使用可能です

  • 会議中に録音した音声から議事録を作る
  • 撮影した動画の字幕を作る
  • 音声合成サービス Polly などと組み合わせて電話に自動応答する
  • 音声から個人情報や不適切な言葉を検出し、マスキングする

Amazon Transcribe の料金

AWS の料金は基本的に従量課金制です

また、リージョン(サービス提供するサーバーが存在する地域)によって料金が異なります

Amazon Transcribe を東京リージョンで使う場合、リアルタイム音声認識なら $0.024 / 分 の料金になります

150 ¥/$ の場合、 ¥3.6 / 分 = ¥216 / 時間 となります

例えば 2 時間の会議をリアルタイム音声認識すれば ¥432 請求されます

ただし、 AWS のサービスの多くには無料利用枠が存在します

無料利用枠
12 か月間、1 か月あたり 60 分
AWS 無料利用枠の一環として、Amazon Transcribe の使用を無料で開始できます。Amazon Transcribe の無料利用枠は、最初の文字起こしリクエストを作成した日から 12 か月間利用できます。

Amazon Transcribe の場合、初めて使ったときから12ヶ月間は1ヶ月に60分までは利用可能なため、本記事で実行する程度の処理であれば無料範囲内に収まります

アカウント作成

Amazon Transcribe を使うためには、 AWS のアカウント作成が必要です

以下の公式手順に従って、アカウントを作成してください

クレジットカードと電話番号が必要になります

予めご用意ください

ブラウザからの音声認識実行

Amazon Transcribe への移動

AWS のマネジメントコンソールにログインすると、以下のような画面が表示されます

スクリーンショット 2023-11-26 9.59.09.png

この画面から最近使ったサービスなどにアクセスできるようになっています

上メニューにある検索ボックスに transcri と入力してみましょう

スクリーンショット 2023-11-26 8.53.20.png

サービスの候補として Amazon Transcribe が表示されます

Amazon Transcribe をクリックして、サービスページに移動しましょう

以下のような画面が表示されます

スクリーンショット 2023-11-26 8.54.41.png

横文字の意味は以下のように解釈してください

  • Transcribe = トランスクライブ = 文字にする = 文字起こし、音声認識する
  • トランスクリプション = 文字起こし、音声認識
  • トランスクリプト = 文字にしたもの = 文字起こし、音声認識の結果

リアルタイム音声認識の実行

ブラウザから文字起こしを実行してみましょう

右側にあるオレンジ色の「トランスクリプトを作成」のボタンをクリックします

スクリーンショット 2023-11-26 8.54.41.png

リアルタイムトランスクリプションのページに移動します

このページではマイクで喋った音声をそのまま文字起こししてくれます

スクリーンショット 2023-11-26 10.11.17.png

まず、下の方にある「言語設定」から「言語」を「日本語、日本(ja-JP)」に変更します

続けて上の方にあるオレンジ色の「ストリーミングを開始」のボタンをクリックしてください

スクリーンショット 2023-11-26 8.56.12.png

ブラウザがマイクの使用について許可を求めてきます(画像は Chrome の場合)

「許可をする」をクリックしてください

スクリーンショット 2023-11-26 8.58.06.png

すると、ボタンの文字が「ストリーミングを停止」に変わります

この状態でマイクに喋ると、「トランスクリプション出力」の欄に喋った内容がリアルタイムで表示されます

桃太郎.gif

喋り終わったら「ストリーミングを停止」ボタンをクリックして終了します

「完全なトランスクリプションをダウンロードする」をクリックすると、音声認識の詳細な内容が JSON という形式でダウンロードできます

[
	{
		"Transcript": {
			"Results": []
		}
	},
	{
		"Transcript": {
			"Results": []
		}
	},
	{
		"Transcript": {
			"Results": []
		}
	},
	{
		"Transcript": {
			"Results": [
				{
					"Alternatives": [
						{
							"Items": [
								{
									"Content": "昔",
									"EndTime": 1.485,
									"StartTime": 1.0375,
									"Type": "pronunciation",
									"VocabularyFilterMatch": false
								}
							],
							"Transcript": "昔"
						}
					],
					"ChannelId": "ch_0",
					"EndTime": 1.485,
					"IsPartial": true,
					"ResultId": "7b59326d-dfbc-480b-84f1-242cb10e6b95",
					"StartTime": 0.67
				}
			]
		}
	},
	{
		"Transcript": {
			"Results": []
		}
	},
	{
		"Transcript": {
			"Results": [
				{
					"Alternatives": [
						{
							"Items": [
								{
									"Content": "昔",
									"EndTime": 1.5375,
									"StartTime": 1.0375,
									"Type": "pronunciation",
									"VocabularyFilterMatch": false
								}
							],
							"Transcript": "昔"
						}
					],
					"ChannelId": "ch_0",
					"EndTime": 1.685,
					"IsPartial": true,
					"ResultId": "7b59326d-dfbc-480b-84f1-242cb10e6b95",
					"StartTime": 0.67
				}
			]
		}
	},
...

プログラムから Amazon Transcribe を使用する場合、この JSON をプログラムから読み込んでテキストファイルや Web ページに出力することになります

Elixir というプログラミング言語での実装例はこちら

話者のパーティショニング

複数人で喋っているとき、どの発言を誰がしたのか、聞き分けてくれます

議事録を作るときには必須の機能です

リアルタイムトランスクリプションのページで「音声設定」の「話者のパーティショニング」のトグルボタンを ON にしましょう

スクリーンショット 2023-11-26 9.08.23.png

その状態で2人以上で喋ると、喋った人毎に Speaker01 のような ID が割り当てられて、どの発言が誰のものなのか分けてくれます

Speaker 01: こんにちは。 
Speaker 03: こんにちは。 
Speaker 01: 今日 は 何 曜日 です か? 
Speaker 03: 今日 は 日曜日 です。 

スクリーンショット 2023-11-26 11.04.28.png

コンテンツの削除設定

不適切な発言や個人情報などを自動的にマスキングしてくれる(隠してくれる)機能です

ただし、サポートしている言語が限定されています

2023年11月現在、英語しかサポートされていません

「言語」を「英語、米国(en-US)」に設定します

スクリーンショット 2023-11-26 11.08.34.png

「PIIの識別とマスキング」のトグルボタンを ON にして、「PII検出対応を選択」で「識別とマスキング」を選択します

スクリーンショット 2023-11-26 9.39.25.png

この先が成功するかは英語の発音にかかっています

My name is Jhon Smith (マイネーム イズ ジョン スミス) と喋ってみましょう

日本人の名前は英語として認識してくれない可能性が高いため、ジョン・スミスにしています

実行結果は以下のようになり、個人情報がマスキングされていることがわかります

My name is [NAME].

録音ファイルからの文字起こし

左メニューから「トランスクリプションジョブ」をクリックし、録音した音声ファイルからの文字起こしも可能です

スクリーンショット 2023-11-26 11.26.52.png

その場合、 S3 という AWS 上のストレージサービス(ファイルの保管場所)に置いてあるファイルを読み込み、結果を S3 に出力します

スクリーンショット 2023-11-26 11.27.48.png

まとめ

Amazon Transcribe を使って音声の文字起こしができました

喋っている人物の識別や個人情報のマスキングなどを活用すれば、様々な応用も可能ですね

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?