![見出し画像](https://assets.st-note.com/production/uploads/images/67544281/rectangle_large_type_2_3ae6f3cd88a0c4a6df9ae2125b5b1382.png?width=1200)
AWS+Pythonを活用!! Amazon Transcribeを使ったコーチングセッションの文字起こし
こんにちは。
ベトナムでFintech事業立ち上げ準備中のKoheiです。
実は副業として、キャリアに関するトピックを中心としたコーチングも行っています。毎回、クライアントのセッションログをとってあとから共有しているのですが、録音した音声ファイルから文字起こしできたらいいなと思っていました。
今回、AWSで提供しているAmazon Transcribeを使って、コーチングセッションの音声ファイルから文字起こしをしてみたので紹介してみたいと思います。
最初は少し面倒かもしれませんが、一度やってしまえば二回目以降は直ぐにできると思いますので、是非お試しください。
AWSアカウントの登録
まずはAWS(Amazon Web Service)のアカウントを登録してください。
アカウント登録の方法についてはネットでいくらでも探せますが、コチラを貼っておきます。
さて、無事登録ができてログインするとAWSのサービス一覧を見ることができます。
![](https://assets.st-note.com/img/1639214500363-0ZljdaOTDY.png?width=1200)
こんなにいっぱいあるのかとここでビビってしまうかもしれませんが、今回使用するのはたった2つです。S3とAmazon Transcribeです。
S3(Simple Storage Service): オンラインストレージサービス
Amazon Transcribe: 音声ファイルをテキスト変換するサービス
もうおわかりいただけたかもしれませんが、やることは簡単です。
① 文字起こししたい音声ファイルをS3にアップロードする
② Amazon Transcribeで音声ファイルをテキスト化(JSON形式)する
③ JSONファイルをCSV形式に変換する(Pythonプログラム実行)
JSONって何?!
Pythonプログラム実行って?!
っていう方。まだ気にしなくて大丈夫です。
要は人間には読みにくい形式のファイルなので、エクセルとかで見やすいようにCSV形式に変換するということです。
順を追って説明していきます。
1.音声ファイルをS3にアップロード
まずはバケットを作ります。設定はデフォルトのままで大丈夫です。
![](https://assets.st-note.com/img/1639215571076-8gI9vBgv1O.png?width=1200)
バケットができたら、その中にオブジェクトとして音声ファイルをアップロードします。
![](https://assets.st-note.com/img/1639215622777-lwHrvfyutL.png?width=1200)
S3の作業はこれだけです。
2.Amazon Transcribeで音声ファイルをテキスト化(JSON形式)する
Amazon Transcribeの画面に入ったら、左のメニューからTranscription jobsを選択し、右端のCreate job をクリックします。
![](https://assets.st-note.com/img/1639216387243-dhHalIrnxg.png?width=1200)
Job setting
Nameは適当に設定してください。Language はJapaneseを選択します。
![](https://assets.st-note.com/img/1639216524916-I85uy5Fvhe.png?width=1200)
Input data
先程S3に格納した音声ファイルの格納場所のアドレスを設定します。(Browse S3ボタンからファイルを参照できます)
![](https://assets.st-note.com/img/1639216698618-8bYDLCPRLh.png?width=1200)
アドレスがわからない場合は、S3でアップロードした音声ファイルオブジェクトの概要画面で確認することができます。S3 URIと書いてある部分がそれにあたります。
![](https://assets.st-note.com/img/1639216652721-otdIunmEX3.png?width=1200)
Configure Job
次の画面ではSpeaker Identification(話者の特定)を設定しておくと良いでしょう。人数を入れておくと、テキストファイルに起こす際に自動的に話者を特定してくれます。
![](https://assets.st-note.com/img/1639216852625-O6wQlKjTpx.png?width=1200)
Create Job
最後にCreate Jobボタンを押すとジョブが開始されます。1時間のファイルであれば約10分で完了するはずです。
![](https://assets.st-note.com/img/1639217178829-V4M5vlM6CR.png?width=1200)
JSONファイルのダウンロード
ジョブのステータスがCompleteになると文字起こししたファイルがJSON形式でダウンロード出来ます。ちなみにプレビュー画面のAudio Identificationタブから最初の部分だけ結果が確認できます。
![](https://assets.st-note.com/img/1639217343831-9GRr2D9sgf.png?width=1200)
3.JSONファイルをCSV形式に変換する
ダウンロードしたJSONファイルは、このままだと見にくいのでCSV形式に変換する必要があります。これをtscribeというPythonプログラムで行うので、Python3, pip(サードパーティが配布しているPythonパッケージをインストールするツール) をインストールする必要があります。
Python3, pipをまだインストールされていない方は以下のサイトを参考にしてください。
あとは簡単です。以下のプログラムを貼り付けたPython実行ファイル(拡張子.py)を作成し、ダウンロードしたJSONファイルを同じディレクトリに保存した状態で実行するだけです。
import tscribe
tscribe.write("asrOutput2.json", format="csv")
注)"asrOutput2.json"部分にファイル名を記入
Pythonファイルの実行方法がわからない場合はこちらのリンクを参考にしてください。
こんな感じで、スピーカー毎に文字起こしが確認できるはずです。正直、文字起こしの精度に関しては、もう一歩という感じです・・・。が、セッションの記録として後から何を話したかざっと振り返るには充分かと思います。
![](https://assets.st-note.com/img/1639218741758-G4IcRGYvcE.png?width=1200)
まとめ
いかがでしたでしょうか。
またPythonやAWSを利用したことがない方には少し手間がかかったかもしれません。
ただ、PythonとAWSには文字起こしにとどまらない大きな可能性があります。これを入門編として他の活用方法にも手を出してみると新しい世界が広がると思います。是非試してみてください。
ちなみにAmazon Transcribeにはリアルタイムで文字起こしをしてくれるReal-time transcriptionというサービスもあります。こちらはオンライン会議の文字起こしに良いかもしれません。
最後に
海外でのキャリアやビジネスを志向されている方に向けたコーチングを行っています。ご興味のある方は是非一度無料セッションにご参加ください。
またIncreate ではベトナムにおけるフィンテック事業の立ち上げを計画しています。興味を持っていただけた是非Twitter DMでご連絡ください。
こんな方とお話したいです。
・ ベトナムでのビジネスに感心がある方、関わっている方
・ フィンテックに感心がある方、関わっている方
・ 事業アイデアの壁打ちをしていただける方
Twitter:@Kohei026327771
Website: https://increate.biz/
この記事が気に入ったらサポートをしてみませんか?