WhisperAPIとfaster-whisperのどっちが良いんだい!
こんな疑問を胸に抱いている方もいるかと思います。
と言うことで今回は、OpenAIが提供しているWhisperAPIとPythonのOSSライブラリであるfaster-whisperを徹底的に比較してみました。
結論:WhisperAPI vs faster-whisper
今回の比較結果は以下の通りです。
モデル | 処理時間 | 精度 | コスト |
---|---|---|---|
WhisperAPI | 速 | ◎ | $0.006 / 分 |
large-v2 | 普通 | ◎ | $0 / 分 |
base | 速 | × | $0 / 分 |
tiny | 速 | × | $0 / 分 |
速度と精度ともに好成績なのはやはりOpenAIのWhisperAPIですが、コスト面ではfaster-whisper群の方がベターなようです。
比較環境
今回WhisperAPIとfaster-whisperの比較に用いた環境は以下の通りです。
- MacBook Pro(M1Proチップ、メモリ16GB)
- Python 3.10
- OpenAI v1.3.5
- faster-whisper v0.9.0
使用したコードの掲載は省略しますが、シンプルにそれぞれのtranscribe
関数を実行し、その前後でtime.time()
で初めと終わりの時間の差分を用いて処理時間を計算しました。
それでは、それぞれの比較項目について詳しくみていきましょう。
WhisperAPIとfaster-whisperはどちらが速い?
シンプルな処理速度という比較であれば、faster-whisperの方が速いです。
具体的な処理速度の比較は以下の通りです。
モデル | 音声ファイル1の処理時間(秒) | 音声ファイル2の処理時間(秒) |
---|---|---|
WhisperAPI | 4.91 | 9.06 |
large-v2 | 13.56 | 21.4 |
base | 1.65 | 2.56 |
tiny | 1.1 | 1.82 |
上記の表を見ると、large-v2以外のモデルではOpenAIのWhisperAPIよりもかなり高速に処理されているのがわかります。
ただし、速いだけでは意味がないのはご承知のとおりです。
1秒で文字起こしができたとしても、内容がメチャクチャであれば意味がないですからね。
WhisperAPIとfaster-whisperはどちらが正確?
では続いて、文字起こしの精度を比較してみましょう。
具体的な精度の比較は以下の通りです。
モデル | 精度 |
---|---|
WhisperAPI | ◎ |
large-v2 | ◎ |
base | × |
tiny | × |
精度はlarge-v2とWhisperAPIが全くの同等であるものの、baseやtinyはこれらよりかなり精度が劣ります。
実際にそれぞれの実行結果を見てみましょう。
音声ファイル1の文字起こし結果
各モデルにおける、音声ファイル1の文字起こしの処理の結果は以下の通りです。
モデル | 出力内容 |
---|---|
WhisperAPI | 無添加のシャボン玉石鹸なら、もう安心。 天然の保湿成分が含まれるため、肌に潤いを与え、健やかに保ちます。 お肌のことでお悩みの方は、ぜひ一度、無添加シャボン玉石鹸をお試しください。 お求めは、0120-0055-95まで。 |
large-v2 | 無添加のシャボン玉石鹸なら、もう安心!天然の保湿成分が含まれるため、肌に潤いを与え、健やかに保ちます。お肌のことでお悩みの方は、ぜひ一度、無添加シャボン玉石鹸をお試しください。お求めは、0120-0055-95まで。 |
base | むてんかのしゃぼん玉石圏ならもう安心天然の保湿制文が含まれるため肌にうるを与えすくやかに保ちますお肌のことでお悩みの方はぜひ一度むてんかしゃぼん玉石圏をお試しくださいおもとめは01,20,00,5,5,9,5まで |
tiny | ムテンカの社本のませっけんだら、もう安心。天然の方室成分が含まれるため、肌に揺ろう弱わたえ、少いやかにたもちます。お肌のことでお悩みの方は、是非一度、ムテンカ社本のませっけんをお試しください。お求めは、01に0、0,5号号、9号まで。 |
large-v2とWhisperAPIではほとんど同じ結果となっていて、音声を全て正確にテキストとして出力できていました。
細かい部分の違いで言うと、一言目の「もう安心」の後が「。」か「!」の違いなだけです。
個人的には電話番号をしっかりとハイフンで繋いで「0120-0055-95」としているのはすごいなと感じました。
baseとtinyについてはいうまでもなく、句読点がなかったり、無添加を漢字で出力できていなかったりとボロボロです。
音声ファイル2の文字起こし結果
続いて、音声ファイル2の文字起こしの処理の結果は以下の通りです。
モデル | 出力内容 |
---|---|
WhisperAPI | 1974年3月 西安郊外の小さな村で、土の中から奇妙なものが出てきました。 それは、壊れた人形のかけら。 首や胴、手足など、精巧に作られた人形の半円が、土の中に大量に埋まっていたのです。 これこそ、考古学史上に残る、平和用の発見でした。 2200年もの時を越えて、謎の軍団が蘇りました。 真の思考量 |
large-v2 | 1974年3月、西安郊外の小さな村で、土の中から奇妙なものが出てきました。それは、壊れた人形のかけら。首や胴、手足など、精巧に作られた人形の半円が、土の中に大量に埋まっていたのです。これこそ、考古学史上に残る、平和用の発見でした。2200年もの時を越えて、謎の軍団がよみがえりました。真の思考量 |
base | 1974年3月、青岩公外の小さな村で、土の中から奇妙なものが出てきます。それは壊れた人形のかけら。グビアドを手足など、成功につきられた人形の破片が、土の中に大量に埋まっていたのです。こでこそ、高校学市場に残る平和用の発見でした。200年もの時を超えて、謎の軍団が読みが行きました。新の思考量 |
tiny | 1927年3月、成安公外の小さな村で、土の中から企業なものが出てきます。それは壊れた人形の隠れ、グビアドを手やしなど成功に作られた人形の反映が土の中に対応に生まっていたのです。これこそ、高校学史上に残る平和用の発見でした。200年ものと記憶を超えて、夏の軍断が読み合いきました。新の仕込りを。 |
こちらの場合もlarge-v2とWhisperAPIの出力内容はほぼ同じで、「謎の軍団が蘇りました。」の”蘇り”が漢字なのか否かというぐらいです。
ただ、出力の精度で言うとどちらも
- 『破片』を「半円」としている
- 『兵馬俑(へいわよう)』を「平和用」としている
- 『秦の始皇陵(しんのしこうりょう)』を「真の思考量」としている
というような、若干の誤りがありました。
baseやtinyについては、音声ファイル1よりもぱっと見良い感じの精度が出ていますが、『考古学史上』を「高校学市場」としていたり、まぁ使えるレベルではありません。
音は合っているんですけどね…w
WhisperAPIとfaster-whisperはどちらが安い?
最後は、WhisperAPIとfaster-whisperの料金の比較をしたいと思います。
それぞれの料金比較は以下の通りです。
モデル | 料金 |
---|---|
WhisperAPI | $0.006 / 分 |
faster-whisper | $0 / 分 |
電気代など細かい話をすれば厳密には0円ではないですが、faster-whisperは基本的に無料で使えます。
一方、OpenAIが提供しているWhisperAPIを用いた場合、動画の長さに比例して料金が発生してしまいます。
60分の動画だと大体$0.36(約54円)ほどかかります。
WhisperAPIもめちゃくちゃ安いんですが、faster-whisperはローカルで回せるのでほぼ無料で使えるためコストについてはfaster-whisperの方が良さそうですね。
WhisperAPIとfaster-whisperの比較:まとめ
モデル | 処理時間 | 精度 |
---|---|---|
WhisperAPI | 速 | ◎ |
large-v2 | 普通 | ◎ |
base | 速 | × |
tiny | 速 | × |
今回は、OpenAIが提供しているWhisperAPIとOSSで開発されているfaster-whisperの処理速度や精度、コストについて比較しました。
全体的に見るとWhisperAPIを使っておくのが安パイな気がします。
ただ、個人的な用途(ミーティングの議事録など)の場合はそこまで速さを求めないと思うので、faster-whisperでも十分だと思います。
無料でこれだけの精度とスピードのものが使えるなんて、OSSに感謝しかないですね。
あと、今回はGPUを使わずでの検証だったので、またGPUを使った場合の比較も行いたいと思います。
最後までご覧いただきありがとうございました。