AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI文字起こしサービス「Amazon Transcribe」をPythonで利用する方法を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのAI文字起こしサービス「Amazon Transcribe」をPythonで利用します。以下、Transcribeに用意されているメソッドを概観し、幾つかの使い方を紹介します。
AWSには、事前トレーニング済みのAI(人工知能)を手軽に利用できる「AIサービス」が多数用意されており、その内容はコンピュータビジョンから言語、レコメンデーション、予測と多岐にわたります。
今回紹介するTranscribeは、オーディオファイルまたは動画ファイルから、音声を文字起こしするAIクラウドサービスです。サポート言語はバッチ処理とリアルタイム処理で異なり、2021年7月の本稿執筆時点で、それぞれ31言語と12言語が提供されています。この中には、アメリカ英語やイギリス英語など、細分化されている言語もあります。なお、日本語はどちらの処理にも対応しています。
利用可能な入力ファイル形式には、バッチ処理ではFLAC、MP3、MP4、Ogg、WebM、AMR、WAVがあります(音声データは長さが4時間未満、または容量が2GB未満である必要があります)。一方、リアルタイム処理では、ストリームはPCM16ビット符号付きリトルエンディアン、Oggコンテナに格納されたOPUS、FLACのいずれかでエンコードされている必要があります。
ちなみに、Transcribeには姉妹サービスとして、医療分野での文字起こしに特化した「Amazon Transcribe Medical」が別途提供されています。ただし、現在こちらはアメリカ英語のみ対応です。
AWSの「AIサービス」はコンソール画面から利用できますが、開発を念頭に置かなくても、慣れてくれば今回のようにAPIを利用する方がより便利で効率的に感じてくるでしょう。本稿がそのように利用するきっかけになれば幸いです。
Transcribeは従量課金制で、文字起こしを行った秒数に応じて毎月課金されます。その際の単価は、累積利用時間で区分されるTierごとに、段階的な割引が適用されるスタイルになっています。東京リージョンでの料金を分単価(秒単価×60)で見てみると、最初の25万分(T1)は0.0240ドル、続く75万分(T2)は0.0150ドル、その後(T3)は0.0108ドルとなっています。なお、1リクエスト当たりの最小料金は15秒分に設定されています(他にもTranscribe Medical、「自動コンテンツリダクション」「カスタム言語モデル」に関する料金が別途設定されています。詳細は公式サイトをご確認ください)。
ちなみに、Transcribeは無料利用枠の対象になっており、最初のリクエストから12カ月間は、1カ月当たり60分まで無料で利用できます(ただし、無料利用枠を超えた場合には従量課金が適用されます)。
本稿では、読者の環境で下記要件が満たされていることを仮定しています。
なおこれは必須ではありませんが、以下のサンプルコードは「Jupyter Notebook」での実行を想定しています。
Transcribeには以下のメソッドが用意されています(以下ではリアルタイム処理、ならびにTranscribe Medicalに関するメソッドは割愛しています)。
Copyright © ITmedia, Inc. All Rights Reserved.