はじめに
VisasQ Inc. Advent Calendar 2025 20日目の記事です。よろしくお願いいたします。
ネタ切れです。プロンプトの紹介をします。
雑多に思考を吐き出してメモする方法の1つとして、AI文字起こしツールを利用する方法があげられます。
脳内で思考したことをタイピングしたり紙に書き出したりするのと音声出力するのでは、当然後者のほうが手軽かつ早いです。
私たちはただ思ったことを喋り続ければよいだけです。
あとはAIが文字起こしをし、日本語の文章としてある程度きれいにまとめてくれます。なんて便利なのでしょうか。
ハルシーネション
一方でAI文字起こしツールにおいて、沈黙が続くと直前のフレーズを繰り返し文字起こしする現象が広く報告されています。
私もいくつか似たようなツールを試してみて、ちょっと間が空くことで同じフレーズが繰り返し記録されてしまい「なにこれ?」となる経験をしました。
私の場合、例えば似たジャンルのネット記事を読みそれらについて思ったことを記録したいとか、Youtubeで教養系の動画を見ながらそれに対しての感想を記録したいとかいったニーズがありました。
しかし、ちょっと喋る -> 読んだり見たり考えたり -> ちょっと喋るといったサイクルを繰り返して文字起こししようとしても、上述の問題でイマイチなテキストファイルができあがってしまいます。
喋るときだけ機能を使えばいいだけなのですが、いちいちつけたり消したりが面倒です。
なるべく機能はつけっぱなしのままがいいし、ファイルはひとまとまりになっていたほうがいいなぁと。
(もしかしたらツールに課金したら解決するのかもしれないのですが、ケチなのでできる限りお金をかけません)
これは、リアルタイムで文字起こしをしようとするから起きる問題だということがわかりました。
思考を記録するという目的においては、別にリアルタイム性はそんなに重視されません。
リアルタイム文字起こしをしない
ということで、ちょっと手順は面倒になりますがリアルタイムでない文字起こしをするアプローチを選択することにします。
以下のようなフローに落ち着きました。
- 音声を録音
- Geminiで文字起こし
- 整形
プロンプト
使用しているプロンプトは以下になります。
Transcribe the entire audio content into Japanese with maximum accuracy.
Format the transcription with timestamps at 5-second intervals, placed at the beginning of each line, in the format: `[mm:ss] Transcription text`.
For unclear or inaudible parts, use "[inaudible]".
For silent sections, write "[silence]".
For missing audio, note "[missing audio]".
Ensure no parts of the audio are skipped, and review thoroughly to guarantee completeness.
5秒毎に区切るように設定し、喋ってないところは[silence]と文字起こしされます。
ノイズが多すぎる場合は[inaudible]、音声がなんらかの原因で途切れた場合には[missing audio]になるようにしていますが、これらが記録されることはあまりありません。
Google AI Studio
文字起こしの際はGoogle AI Studioを利用しています。
理由はパラメータをそこそこ自由に変更できるからです。
といっても、変更するパラメーターは以下の2つだけです。なんとなくの理解も書いておきます。
-
temperature: 0- ランダム性を排除して常に最も確率が高いものを使うようにする
-
top_p(Top Probability): 1- 全部の確率(候補)を使うようにする
これによって文字起こし時に揺らぎや言い換えをなくさせるようにしています。
ただし、与える音声ファイルの長さによっては、途中から常に[silence]だけが出力されることがたまに起きます。
そういう時はre-runすれば問題が解消します。
整形
例えば出力される文章は以下のような感じになります。
[00:00] 本日は
[00:05] [silence]
[00:10] [silence]
[00:15] [silence]
[00:20] 晴天なり
[00:25] [silence]
[00:30] [silence]
[00:35] [silence]
[00:40] [silence]
[00:45] マイクテストです
Google AI Studioの画面上からテキストをコピーしてきて、VSCodeとかに貼り付け、正規表現で行を削除します。
^\s*\[\s*\d{1,2}:\d{2}\s*\]\s*\[silence\]\s*\r?\n?
これで[silence]の部分が消えて文字だけが残るようになります。
おしまい
みなさまもAIをうまく活用して思考のアウトプットをしていきましょう!