Slack上で高性能な文字起こしBotを作りたい!
という変わった趣味を持った人向けのTips。
Slackだけでも音声ファイルを投稿すると文字起こししてくれるが、精度はかなり悪い。正直使い物にならない。このOpenAIのWhisperを使うとかなり実用的になる。
ChatGPTのチャットボットの作り方
以前に記事を作ったのでそちらを参考に。今回のWhisperもほぼ同様。最後のスクリプトが違うだけ。
基本はOpenAI社のAPIにファイル渡して出力結果をSlackに投稿するというだけ。
音声認識モデルをSlackBotに
上の記事を参考に
- OpenAIでAPI key
- Slackでアプリを作る
- コード
までは実施する。違いとしては、app.pyは以下コードに変える。ポイントは以下の通り
- アプリにメンションされた上でwhisperのAPIで読み取れるファイル形式の音声ファイルがあるときだけ反応。
- 25MB以下の容量のファイルでないといけないので、それ以上はエラー(改良余地あり)
- デフォルトは日本語として、英語の音声ファイルの場合はSlackのメッセージにEnglushと書くと英語と認識して文字起こししてくれる
実際に動かしてみるとこんな感じ。
私はSlackアプリ(App)としてWhisper先生と名付けてアプリ作った。
スマホやブラウザからマイクマークの音声投稿が出来るが、それをメンション付きで投稿すると文字起こししてくれる。
1分間の音声で0.8円程度。1時間の音声でも50円の料金。
OpenAI社の無料API枠が月に18ドル(2023年3月現在)なので、よっぽど使わないと使いきれない。
どこかからもってきた音声ファイルを投げても当然文字起こししてくれる。
録音とか会議とか音声ファイルあるものならなんでもすぐに文字起こししてくれる。
ニュースみたいに発音のクリアなものではほぼ完璧に文字起こししてくれる。雑音だらけでも結構な精度で認識してくれて感動する。
ChatGPTと組み合わせると強い
Whisperの音声認識は句読点が抜けていたり、段落が分かれて無くて使いづらい。
これをChatGPTと組み合わせと良く校正してくれる。
インタビューや議事録の文字起こしはAIに任せる時代だ。
人間の役割は録音ボタンを押す係。