今日はあるセミナー録画にテロップを
焼き込む自作の道具を直していました。
テロップや文字起こしを入れるのは
過去トライをしていたのですが、簡易版でした。
なので、文字切れ問題が発生しやすかった
ということでBudouXが使えるんじゃないかなと思って、
それを入れてみたお話です
先に結論から言うと、
BudouXで結構改善する。
でも万能ではなかった。
そして足りない分は、小さな副詞リストで補えました。
BudouXとは
BudouXは、日本語の「どこで改行してよいか」を判定してくれる、
Google製のライブラリです。
日本語の言語処理というと、
大きな辞書をダウンロードして・・となりがちですが、
BudouXは辞書が不要で、モデルの実体は20KBのJSONファイル1個。
Python・JavaScript・Javaから使えます。
文を単語に分解する本格的な形態素解析
(文を単語に分ける処理)とは違って、
「ここで改行しても読みやすさが壊れないか」だけを当てる、
割り切った軽さが持ち味です。
テロップが切れやすい問題
動画のテロップは、喋りに合わせて数秒ごとに切り替わります。
1枚に入る文字数には限りがあるので、長い発話はどこかで切らないといけません。
これを単純に文字数で切ると、こうなります。(以下は極端な例です。笑)
この番組はほ
ったりたの
となります。
日本語は英語と違って単語の間にスペースがないので、
機械には「どこまでが一つの言葉か」が分からないのです
僕のテロップの道具は、少し簡易的に作っていたので、
文字の種類(ひらがな・カタカナ・漢字)の変わり目を
言葉の切れ目とみなす方式
「解説」が「解/説」で割れるような
事故がどうしても残っていました。
実際に流すと「言葉の内側」を守ってくれた
そこで、さきほどのBudouXの出番です。
僕の環境では、1回の判定が0.1ミリ秒もかかりませんでした。
動画1本分のテロップ全部に掛けても誤差みたいなものです。
実際に流してみると、こういう分割が返ってきます(/が切ってよい位置)。
皆さん、/コーヒーもしくは/ビール等の/準備は/いいですか
2026年8月3日月曜日に/メイカーフェアへ/行ってきました
日付をひとかたまりで守ってくれるのが偉い。
文字種の変わり目方式だと「8月3/日」で割れていた部分です。
「もう一度」の「もう」が切れる問題
実測すると以下のような切れ目がでました
それでは/もう/一度/最初から/説明します
「もう」と「一度」の間に切れ目が入っています。
テロップだと「もう」で1枚、「一度最初から」で次の1枚になっています
これはBudouXが悪いわけではないです。
BudouXが学習しているのは
「ブラウザの行の折り返しとして許される位置」で、
文法的には「もう|一度」も正しい切れ目ではあります。
1画面の中で行が変わるだけなら、これでも読めます。
でも、テロップは時間で切り替わります。
「もう」だけが一瞬映って消えるんです。
みにくくなりますね。
「改行してよい位置」と「意味の切れ目」は、
テロップではちょっと工夫が必要です
二段構えにしたらうまくいきました
というわけで、役割分担にしました。
◆ BudouX: 「言葉の内側では切らない」の番人。
「解/説」「ビ/ール」「8月3/日」の事故を防ぐ◆ 自前の副詞リスト: 「もう・また・まだ」など、
次の言葉にかかる短い副詞の直後では切らない
という例外を上乗せ
副詞リストといっても、実体は数行です。
BudouXが土台の9割を支えてくれるので、
残りの「テロップならでは」の部分だけ手当てすれば足りました。
直った例を一つ。改良前は
子供と一緒に半日ほど歩き
回りました。
と「歩き回る」が割れていたのが、
子供と一緒に半日ほど
歩き回りました。
になりました。地味ですが、こういうのが積もると読み心地が変わります。
ちなみに音声の聞き取り自体は、前に書いたローカルWhisper(音声認識)の仕組みを使っています。
https://note.com/hottarita/n/n80fddd8b1c8a
聞き取りも改行判定も、全部ローカルで完結しているので
APIの課金を気にせず何度でも試せるのが気楽です。
テロップの道具はもう少し育てているところなので、
形になったらまた書きます。
最後まで読んでいただきありがとうございました!
普段は「はっきんぐパパ」として電子工作やものづくりの記事も書いていますので、こちらもぜひ覗いてみてください。
はっきんぐパパはこちら↓


