工作清單

Gemini Transcribeで字幕を作る!時刻は正確でも罠が3つ

逐字稿文字預覽

自分たちの動画のナレーションを使って字幕の時刻がどれだけずれるかを測りました。ズれは中央値で40mm秒でした。ミ
というのは1秒の1/です。ほとんど完璧
でした。ところがその字幕は1行あたり
1.7時しかありませんでした。さらに分
の単位でくださいんだらエラーを出さずに0行で帰ってきます。全部自分たちの鍵で
測った話をします。こんにちは。AI動画
を活用してYouTube運用を自動化してるチャンネルです。誰でも
YouTube完全自動化できるのスキルが完成しました。AIを使って動画を作成
し、企画、台本、動画の制作を全自童でYouTubeに投稿してくれる顔出しなしAI動画生成スキルが完成しました。
概要欄のオープンチャットから案内が受け取れるので登録しておいてください。
今年の8月1日にうちの動画で事故がありました。図島テロップが声より最大で
5.9秒遅れて出ていたんです。原因は
音声の側からもらった文字ごとの時刻が後半になるほどずれていたことでした。
そこで出来上がった音声をもう1度ローカルのウィスパーにかけて単語ごとの時刻から字幕を作り直す道具を自分たちで書きました。それ以来うちの動画の字幕は
全部この作り方です。つまり単語ごとの
時刻がどれだけ正確かで動画の見え方が決まる。ここは自分たちの急所なんです。
そこへGoogleが文字起こし専用のジェミニ3.5トランスクライブで単語ごとの時刻を出せるようにしました。それ
ならそちらに切り替えた方が早いのか。
うちの本番のナレーション11分53秒を材料にして実際に字幕ファイルを作るところまでやってみました。正解はその回
の台本と実際に画面に出した字幕317行です。今日お伝えするのは5つです。1つ
目、時刻はどれくらい正確でどれくらい早いのか。2つ目、帰ってくるのは単語
だけで分の単位は頼んでも帰ってこない話。3つ目、言い淀みを消す整形と時刻は
同時に使えないという制限。4つ目、時刻
をつけた瞬間に本文が変わってしまう問題。5つ目、30分を超えた音声で時刻が
壊れた実例です。最後に料金まで含めて
どちらを使うかの判断の材料を置きます。
まずいいところから正直に言います。時刻
はとても正確でした。うちの本番の字幕
317行のうち文字が一致した166行で照らし合わせています。ずれは中央値で
40mm秒でした。平均は70mm秒。
1番大きいところでもコンマ64秒でした。166行全てが1秒以内です。字幕とし
てはここは文句の付け用がありません。速
さも出ました。11分53秒の音声を時刻
なしなら12.5秒、時刻をつけても31.7秒です。音声の長さの22倍の速
さで返ってきます。同じ音声を自分の
パソコンの中で動くの1番大きい早いモデルにかけると70.3秒。
つまりジェミニの方が2.2倍早い。ここ
までは乗り換えたくなる数字ばかりです。
ちなみにウィスパーも単語ごとの時刻まで出させると遅くなります。時刻なしで測っ
た前回は54秒でしたから時刻を出すだけで3割ほど時間が増えました。ここから
本題です。帰ってくるのは単語の塊だけ
でした。11分53秒の音声から帰ってき
たのは2511個の単語です。1つあたり
の長さを数えたら平均で1.73時。これ
をそのまま字幕にすると画面に1.7字ずつ出ては消える読めない字幕になります。では文の単位でくださいと頼めばいい。
普通はそう考えます。公式の書き方通りに
細かさを決める欄へ分の単位でと指定して投げました。返事は200番。つまり成功
です。エラーは1つも出ません。なのに
時刻のついた項目は0個でした。2回やっ
て2回とも0です。もっとはっきりさせる
ために存在しない言葉をわざと書いて投げてみました。これも200番で成功。時刻
は0個。
つまり単語という指定以外は中身を見ていません。綴りを1文字間違えただけで
エラーも警告も出ないまま時刻が0の字幕が出来上がるということです。自分たちは
苦点で切って20時を上限にまとめ直。
結果282行、1行あたり平均14.7時の字幕になります。この組み立ては自分で
書かないといけません。一方ウィスパーは
215行のまとまりを最初から返してきます。ただし平均19.4時、1番長い量
は66時なのでこちらも切り直しはいります。3つ目は1番見落とされやすい制限
です。地味に3.5トランスクライブには
EOやAを消して読みやすく整えてくれるスマート設定があります。字幕には
売っ付けに見えます。ところがその整形と
単語の時刻を一緒に頼むと400番のエラーで即座に断られました。帰ってきた
分はスマートはタイムスタンプと両立しませんという一文です。これは公式の
ページにも同じ注意書きがありました。
読みやすく整えるのを取るか、単語ごとの時刻を取るか2つに1つです。つまり字幕
を作る時は必ず聞こえたままの生の書き起こしになります。言いを消したけれ
ば帰ってきた文字を自分で直すしかありません。ここは実務の設計に直結します。
インタビューや対談のようにAAが多い素材ほど字幕の直しに人の手がいるということです。逆にうちのようにAIが現稿を
読んでいる音声ならそもそも言いがないのでこの制限はほとんど痛くありません。
自分の素材がどちらなのかで使えるかどうかが変わります。4つ目は単語ごとの時刻
をつけると本分そのものが変わってしまう話です。公式のページには、単語ごとの
時刻を有効にすると全体の精度が落ちることがありますとはっきり書いてあります。どれくらい落ちるのかを数えました。
同じ音声で時刻をつけなかった分とけた分を並べたら54箇所が違っていました。
分同士の一致は98%です。問題は変わっ
た中身の方でした。帰ってきたが帰ってき
たにけたのが4回字が違うので画面に出れば意味が変わります。もっと痛かったのは
製品名です。時刻なしなら英語のままだっ
た製品名が時刻をつけた途端にカタカナに落ちました。字幕は読む文字なのでこれが
そのまま画面に出ます。台本と
照らし合わせた一致率でも時刻なしが96%、時刻ありが95%と確かに下がっていました。ちなみに同じ音声の
ウィスパーは83%で英語の名前は全てカタカナ。さらにカスタム語5位という
言葉をカタカナ1文字だけ違う辞書にない言葉で書いていました。どちらを使うにし
ても製品名や人の名前は後から自分で直す前提で組むのが正解です。5つ目は30分
の壁です。公式には普通の文字起こしは1
時間まで。ただし分け単語
ごとの時刻を有効にすると30分に下がると書かれています。では超えたらどうなる
のか。32分5秒の音声を単語ごとの時刻
付きで投げました。エラーは出ません。
76.3秒で5281個の単語が時刻付きで帰ってきます。一見上限を超えても平気
に見えます。ところが中を機械で調べ
たらった1だけ開始の時刻が14万秒に化けていました。時間に直すと38時間後
です。前後の単語はどちらも1400秒の
あたりにあります。本当は1400秒
あたりに出るはずの1後だけが遠くへ飛んでいました。これが字幕になるとその1行
だけが38時間後に表示される。つまり
事実上そこだけ消えます。5281号の
うちの1ゴです。目で見つけるのはまず
無理でしょう。うちはこれと同じ形の事故
を1度やっています。今年の8月26日に
声も字幕も1つも入っていない9分25秒の動画をそのまま一般公開しました。品の
門番は8つあって8つとも通っていたんです。どれも台本と元の音声と[音楽]絵
しか見ていなくて、出来上がった動画から音が出ているかを誰も測っていませんでした。だから今回も字幕ファイルを作る前に
必ず機械でみます。時刻が音声の長さを
超えていないか、前の単語よりが戻っていないか。この2つを数えるだけでさっきの
38時間は1発で捕まりました。整理し
ます。時刻の正確さと速さはジミニが上
でした。ずれは中央値で40mm秒、速さ
はウィスパーの2.2倍です。一方で字幕
の形にするまでの手間はこちらが引き受けることになります。行に分けるの
も飯いみを消すのも製品名を直すのも自分の仕事です。料金は11分53秒で1本
およそ5円でした。時刻をつけても出力の
文字は加えないので値段は変わりません。
自分のパソコンで動かすウィスパーは時間はかかりますが、お金は1円もかかりません。今回1番聞いたのは新しい機能を覚え
たことではありませんでした。成功と書い
て帰ってきた返事の中身を自分で数えたことです。文の単位でくださいと頼んだ
返事も32分の音声の返事もどちらも200番の成功でした。見た目はうまく
いっています。中を数えて初めて片方は0
行、片方は1だけ38時間後だと分かりました。エラーが出ないものほど静かに
公開まで進みます。だから帰ってきたもの
は信じずに数える。それだけでほとんどの
事故は手前で止まります。本日の動画は
以上です。あとYouTube発信を自動
化するAIスキルが完成したので、YouTube発信をAIで自動化したい方は概要欄のオープンチャットを登録して案内を受け取ってください。それではまた
工場でお会いしましょう。最後まで見て
いただきありがとうございました。

來源:transcript.txt

本次執行流程與問題處理

  1. 下達指令

    指令:videonote https://youtu.be/LQrefxb35HU?si=qM0uh777lw2DmuuI --language ja --bilingual --learning --auto-source-subtitles

    來源:https://youtu.be/LQrefxb35HU?si=qM0uh777lw2DmuuI

    辨識語言:ja | 參數:--language ja --bilingual --learning --auto-source-subtitles

  2. 預期流程

    依指令產生的處理順序:

    1. 自動字幕優先,Whisper 作為備援
    2. 來源選擇與品質檢查
    3. 文字校正與句子單元
    4. 雙語翻譯
    5. 雙語時間軸與學習單元
    6. 筆記與發布
    7. 公開網頁發布
  3. 1. 下載與語音辨識

    工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)

    處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿

    產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)

    耗時:15.4 秒

    關係:依序執行

    結果:完成

  4. 2. 全文快速校讀

    工具:videonote_rapid_transcript_review.py

    處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目

    產出:rapid_transcript_review_report.json(產出檔案)

    耗時:48.7 秒

    關係:依序執行

    結果:完成

  5. 3. 建立句子單元

    工具:videonote-build-sentence-units

    處理:將逐字稿切成帶時間軸的句子單元

    產出:sentence_units.json(句子單元)

    耗時:0.8 秒

    關係:依序執行

    結果:完成

  6. 4. 時間軸稽核

    工具:videonote_timeline_audit.py

    處理:檢查時間軸與音訊對齊

    產出:timeline_audit_report.json(時間軸稽核)

    耗時:0.8 秒

    關係:依序執行

    結果:完成

  7. 5. 品質檢查

    工具:videonote_controlled_quality.py(檢查時間軸與品質)

    處理:檢查語言、時間軸與可讀性品質

    產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)

    耗時:0.9 秒

    關係:依序執行

    結果:完成

  8. 6. 播放時間軸回填

    工具:videonote_rebase_display_timeline.py

    處理:將網頁播放時間軸回填為校正字幕時間

    產出:display_timeline_rebase_report.json(時間軸回填報告)

    耗時:0.9 秒

    關係:依序執行

    結果:完成

  9. 7. 雙語翻譯

    工具:vnt-sentence(句子雙語翻譯)

    處理:將句子翻譯成繁體中文

    產出:sentence_bilingual_transcript.json(雙語逐字稿)

    耗時:66.1 秒

    關係:依序執行

    結果:完成

  10. 8. 雙語時間軸與學習單元

    工具:videonote_learning_timeline_v2.py(建立雙語時間軸與學習單元)

    處理:建立雙語時間軸與學習內容

    產出:sentence_bilingual_timeline.html(雙語時間軸頁)、learning.json(學習單元)、japanese_learning.json(日文學習單元)

    耗時:73.5 秒

    關係:依序執行

    結果:完成

  11. 9. 生成筆記摘要

    工具:videonote-generate-note(生成筆記摘要)

    處理:生成筆記摘要與重點

    產出:note.md(筆記 Markdown)、note.html(筆記 HTML)

    耗時:145.9 秒

    關係:依序執行

    結果:完成

  12. 10. 建立筆記頁面

    工具:videonote-render-html(產生筆記 HTML)

    處理:產生可閱讀的筆記 HTML 頁面

    產出:note.html(筆記 HTML)

    耗時:1.0 秒

    關係:依序執行

    結果:完成

  13. 11. 發布公開頁面

    工具:videonote-publish(發布公開頁面)

    處理:發布到公開網站與每日列表

    產出:公開筆記網址、result.json(管線結果)

    耗時:0.1 秒

    關係:依序執行

    結果:完成

手動來源字幕

自動來源字幕

Whisper 字幕

Qwen 字幕

Parakeet 字幕

MOSS 字幕

聲學時間證據(PyAnnote / WhisperX)

校正前後逐字稿

目前待解決問題與初步改善方向

進一步精進字幕與筆記
使用 Workbench 上傳校正字幕、中文參考稿或回饋 SRT,重新產生雙語與學習單元。
開啟 Workbench