OpenAIのWhisperを使って音声を文字起こししたい

背景
- 突発的な会議とかで議事録を取れないタイミングがある
- その議事録も思い出しながら書くから結構漏れもあるしミスもある
- それを以下の方法で解決できないか?と思った
- まずは音声だけ録音しておく
- それを後から文字起こしをして要約
- 要約をした後に議事録として送る
- ローカルでの音声文字起こしは料金がかかるものがほとんどだったので、お金がかからない方法でやりたかった
- どうやらWhisperだとOSSなのでローカルで立ち上げて使えそうだったのでやってみる
- 他にいい方法があればそれでも全然ok
- まずは個人で使ってみたいがいつかは社内で使えるように共有する方法も探してみたい
環境
- macOS v15.3.2

みた記事は以下にまとめていく

どうやらよく使われるのは2種類あるらしい
使い勝手的にもfaster-whisperを使用していこうと思う
Whisper
faster-whisper
openai/whisperよりも最大4倍高速で少ないメモリで動く
MacのCPUで動かすし、軽量で早く文字起こししたいので基本的にはfaster-whisperで良さそう
CPUでも結構早く動かせるそう
faster-whisper is a reimplementation of OpenAI's Whisper model using CTranslate2, which is a fast inference engine for Transformer models.
This implementation is up to 4 times faster than openai/whisper for the same accuracy while using less memory. The efficiency can be further improved with 8-bit quantization on both CPU and GPU.

faster-whisperをどうやって実装していくか?
Google Colaboratory
ローカルで開発しようとしたがGoogle Colaboratoryを使用すれば社内で共有とかできそう
→ pythonをアップしてGoogleDriveから音声ファイル読み込む、みたいなことすればいけないかな?
こんな機能がGoogleから提供されているの初めて知った
にゃんたさんのColabを参考に作成してみる

仮で作成完了
GoogleDriveに音声ファイルをアップしてそれをテキスト形式にすることはできました
このリポジトリにて作業中↓
以下が残としてあるのでそれはまた後日に対応する
- 複数の音声ファイルに対応する
- 共有ドライブで使用できるようにする
- テキストの出力 → 要約までを行いたい
- そのままGeminiでできるかな?
- フローとして簡略化していきたい
- 音声ファイルをDriveにアップ
- アップロードをhookにColabが動く
- 完了したら共有ドライブに文字起こししたテキストと要約内容をアップ
- 要約内容をSlackに通知する
ここまでやれたら普通に社内で使えるツールになりそう

一旦来週に社内のMTGを録音してテストしてみて、精度良さそうなら採用