見出し画像

いろいろなAI文字起こしを使ってみた比較・感想(おススメあり)


はじめに

これだ!という完璧な文字起こしになかなか巡り合えず、色々な文字起こしを試しています。用途は、動画に付けるキャプションです。今回はどういうものを試してきたか、紹介します。
(※なお、試す場合は機密の内容でやらないように留意しましょう。)


Teams/Stream文字起こし

Microsoft365利用者なら、デフォルトはこれですね。ご存じでしょうが、はっきり言ってイマイチです。まず「えーっと」などのフィラーワードがそのまま入ってしまいます。加えて、固有名詞・専門用語・カタカナ・英語混じりなどにめっぽう弱いです。

なお、Teamsでトランスクリプトを取り忘れても、Streamで後から生成することも出来ます。このStream文字起こしの精度も、Teamsと同程度です。が、誰の発言かという話者の情報が抜けてしまい、会話の区切りも長くなる(=つまり読みにくくなる)。要はイマイチ感が増す訳です。

あと、なんだかなーと思うのは、「冒涜的な単語」のフィルターですね。例えば、「うーん、この件は」と言ったら、最初の3音を冒涜的と見做して、「***の件は」とマスクされます。いやいやいや、わかるけども、、、。

一応、このフィルターをさせないことも可能です。Teamsの設定 ➡ キャプションとトランスクリプト ➡ 会議のキャプションで冒涜的な単語をフィルターする をオフにすればOKです。

ただ、文字起こし自体はイマイチでも、Teamsプレミアム(有償)のIntelligent Recapによる要約は、不思議とそれっぽくまとめてくれます。

とはいえ、トランスクリプトそのものがトホホなのは変わりません。
という訳で、日本語文字起こしの場合、現状そのまま使うことは考えにくいです。そもそも、これが頼れるレベルであれば、他を試す必要もなかったんですが。。。


Whisper/Faster Whisper

OpenAIの出しているSpeech to Textのモデルが、Whisperです。現在の最新は、Whisper Large V3およびWhisper Large V3 Turboのはずです。

精度、取り扱える言語の数など、現在これが最高峰なのかなと思います。

API経由でも使えますし、オープンソースでGitHub上にも無料公開されています。Google Colab上に展開して、Pythonで実行する例がよくネットに載っています。

これを短時間、高速で処理できるようにしたものがFaster Whisperです。どちらもかなり良いです。

が、気になることは、ハルシネーションです。
これは何かというと、序盤は調子良く正確な文字起こしをしてくれていたのに、途中で急に同じ内容を繰り返し始める、、、みたいなのがちょくちょくあるのです。喋ってないことが書き出される、というのもあります。最初に遭遇したときは、結構怖かったです。

どうやら対象の音声ファイルが長いと起きがちらしく、短く切って処理させるのが回避策みたいです。

いずれにせよ、全体的にはなかなかのクオリティなのですが、局地的に発生する間違いの訂正が思った以上に苦痛です。

あと、Whisperベースらしい文字起こしサービスにGladiaというのがあります。これは、ほぼ同じクオリティという印象です。Playground画面が用意されていて、とにかく簡単に始められる+月10時間は無料というのがポイントです。


Adobe Premier Pro

動画編集ソフトにも文字起こし機能があります。Clipchampにもありますが、王者のAbobe Premierを試してみました。結果はまあまあですね。Whisper > Adobe Premier Pro > Teams という感じです。

ちなみに、これの凄いところは、文字起こしの質よりも、フィラーワード・無音区間の検出・一括削除機能です。つっかえたり、黙り込んだりしながら喋っても、あとから簡単にバッサリ切れるというものですね。

似たような機能は、そのうちStreamにも搭載されるらしいですが、有償です。


Google Gemini 1.5 Pro

次はSpeech to Text限定ではなく、マルチモーダルなLLMのGeminiです。
Google AI StudioでGemini 1.5 Pro 002を試しました。

ファイルをアップロードして、この音声ファイルを文字起こししてくださいと指示を出します。

・・・この結果が素晴らしく、なにしろ自然な日本語です。英語混じりについても適切な文字起こしをよくわかってる感じがします。
例えばですが、「エクセル」でも「excel」でもなく、「Excel」と常に表記して欲しい訳です。それを苦もなくやってくれます。

しかし問題が、、、内容自体はほぼ完璧でしたが、どういう訳かタイムスタンプがズレるのです。フォーラムなど見ると、それなりに発生しているようです。そして、残念ながら回避策が分かりませんでした。。

結局、これは正しい時間区切りが必要なトランスクリプトとしては使えません。ただし、書き起こされた内容に限れば、Whisperを超えて一番かもしれないなと思います。


ReazonSpeech

最後はReazonSpeechです。こちらは日本語特化の音声認識モデルだそうです。ありがたいことに無料で商用利用可です。(読み方は「レアゾン」みたいです。)

これもかなり良かったです。個人的にはWhisperより良い気がしたので、しばらくはこちらを使っていこうかと考えています。気づいたポイントは以下です。

  • 区切りの長さが適度で、そのブレが少ないこと

  • Whisperのような不気味なハルシネーションが無いこと

  • Gemini 1.5 Proほどではないが、そこそこ自然な日本語であること。
    (ただし個人的感覚としては、カタカナにし過ぎ。英語のままで良いところは英語表記にして欲しい。)

  • 間違いは一定程度あります。当たり前だが最終確認・直しはやはり必要です。

  • 一部で、喋っているのに何も文字起こしされないケースがありました。これが偶々なのか、ちょっとわかりません。

※ その後、さらにReazonSpeech試行を重ねてみました。すると最後に書いた「喋っているのに文字起こしされない」現象に複数回遭遇しました。Whisperのハルシネーションのような同じことの繰り返しも辛いですが、ReazonSpeechのような完全無視も厳しいです。

・・・やはり、細かく切って文字起こしさせ、あとで繋ぎ合わせるのが正解なのか?。。完璧な文字起こしへの旅はまだ続きそうです。

後日譚

結論(組み合わせる)

というわけで、現段階での結論です。
① タイムスタンプの区切りがきれいなReazonSpeechを使って、まず文字起こしファイルを出す。
② その文字起こし結果をGoogle Gemini Proに補正してもらう、
というのが私の達したベストの組み合わせだと思っています。

補正の例をお見せします。

ReazonSpeechによる文字起こし(ビフォー)

以下はExcelの数式について話しているのですが、途中なんだかわかりませんよね。句読点も無いので読みにくいです。

00:30:53.660 --> 00:30:57.259
50%割増は自分で1200×15

00:30:57.900 --> 00:31:04.379
と計算して1800と直接入力してもよいのですが別の方法をご紹介します

00:31:06.860 --> 00:31:11.899
こちらをご覧くださいこのようにイコール線200×15

00:31:12.460 --> 00:31:18.139
の数式をエクセルのセルに入力することでエクセル側で計算することができます

ReazonSpeechによる文字起こし

Geminiによる補正(アフター)

エクセルを英語でExcelと書き直し、文脈に合わせたのか、ちゃんとExcelの式に書き直してくれました。元が15であったところを、ちゃんと1.5に直しているのは、整合性を見てるんでしょうか。。さらに、句読点もあって読みやすいです。

00:30:53.660 --> 00:30:57.259
50%割増は自分で1200 × 1.5

00:30:57.900 --> 00:31:04.379
と計算して1800と直接入力してもよいのですが、別の方法をご紹介します。

00:31:06.860 --> 00:31:11.899
こちらをご覧ください。このように「=1200*1.5」

00:31:12.460 --> 00:31:18.139
の数式をExcelのセルに入力することで、Excel側で計算することができます。

Geminiによるテキスト補正

Geminiに与えたプロンプトはこちら👇です。

この文字起こしテキストファイルをチェックして、表記が不自然な箇所を修正してください。タイムスタンプには変更を加えてはいけません。修正した結果は、同じ形式で出力してください。

何のひねりもない普通の指示

これで、人手による最終確認・修正がほとんど必要のないトランスクリプトファイルが出来上がりました!それぞれの詳しい使い方説明は端折りましたが、いずれしたいと思います。
あと、この組み合わせをDifyでワークフローにしても良さそうな気がします。

今回は以上です。
この記事が気に入ったら、スキ・フォローお願いします!

KMDS BPMG