一部をビープ音で隠す
取材相手の名前。読み上げられた住所。うっかり口にされた電話番号。 このページでは、録音の一部をビープ音で覆う方法を説明します。 何が置き換わり、何がそのまま残るのか、そしてなぜ位置を決めるのが 利用者自身なのか。
指定するのは利用者。こちらは推測しません
この用途のほかのツールは、いずれも自動検出をうたっています。録音を文字起こしし、 該当する語を見つけ、消しましょうかと提案する。当方はそれを行いません。 ツールを選ぶ前に、その理由を読んでおく価値があります。
自動検出には単語単位のタイムスタンプが必要です。前後の文まで消さずに一語だけ
消すには、その語がどこで始まりどこで終わるのかを、百分の一秒の精度で知っている
必要があります。英語では文字起こしモデルがそれを返します。英語以外では返らない
ことが多く、whisper-base を中国語で実測したところ、タイムスタンプは文単位
でした —— 3.8 秒の発話ひとつが 0.78 から 4.62 までの一区間として返ってきます。
その区間の中で名前だけを隠すことはできません。文ごと隠すしかありません。
これは実測したその一つのモデルについての話であり、存在するすべてのモデルに ついての話ではありません。それでも設計を決めるには十分です。ある言語では静かに うまく動き、別の言語では静かにうまく動かない自動機能は、自動機能がないより悪い —— 結果を見ても自分がどちらの側にいるのか分からないからです。
そこで区間は利用者が指定します。手間は増えますが、その代わり見落としも誤検出も なく、ほかの言語より劣る言語もありません。ここには言語という段階がそもそも存在 しません。文字起こしという段階が存在しないからです。
置き換わるもの
1 kHz のビープ音です。テレビがまさにこの用途で使っている音で、無音ではありません。
これは音質ではなく意味の問題です。無音の空白は曖昧で、聞く人には、意図して覆われた のか、それともファイルが壊れた・編集を誤った・マイクが切れたのかが分かりません。 ビープ音は一つのことだけを、しかも紛れなく伝えます。
音量は録音のおよそ半分に設定されています。同じ測定レベルなら純音は音声より はるかに耳を刺すため、単純に合わせることはできません。どこまで下げるかは耳で 判断するしかなく、現在の設定はそうやって決めました。
継ぎ目、そしてそれが重要な理由
ビープ音と音声が接する箇所では、波形に段差ができないようつながらなければなりません。 つながっていないと「カチッ」という音が出ます —— そして両端で鳴るその音自体が 合図になります。何かが取り除かれた正確な瞬間を、聞く人全員に教えてしまう。 それはこのページを訪れた目的の正反対です。
そのためビープ音はゼロから始まりゼロで終わり、両側 4 ミリ秒の音声がそこへ なめらかに溶け込みます。4 ミリ秒はフェードとして聞き取れないほど短く、しかも 接合部に聞くべきものが残らないだけの長さです。継ぎ目での跳びは、同じファイル内で もともと生じている隣接サンプル間の最大の跳びより、1〜2 桁小さくなります。
フェードが削るのは残す側の音声のごくわずかな部分で、覆う区間の側ではありません。 覆う側をフェードすれば、その冒頭数ミリ秒が小さな音量で漏れ出ます。音素の 4 ミリ秒は 内容として聞き取れませんが、ここは「だいたい合っている」で済ませる場所ではありません。
長さは変わりません
出力のサンプル数は入力とまったく同じです。区間を切り取る選択肢はありません。 これは意図したものです。音声を短くすれば、その時点より後のすべての映像フレームが 音とずれてしまいます。
長さが保たれるからこそ、動画はそのまま使えます。映像は手を加えずにコピーされ、 音声の長さは元のままで、口の動きも元の位置に収まります。映像と音の扱いは 動画の音声を処理するにあります。
ファイル全体を、ブラウザー内で
ビープ音はファイルが流れていく途中で適用されます —— 一区画を読み、一区画を処理し、 一区画を書き出す。ですから回避すべき長さの上限はありません。40 分の取材音声も 2 分の音声と同じ扱いで、ファイルはどこにも送られません。ノイズ除去そのものの 仕組みと、できること・できないことは 背景ノイズを除去するにあります。
この形にはひとつ、知っておく価値のある帰結があります。区間の指定は処理が始まる 前に、利用者自身の元のファイルを聞きながら行います。仕上がった結果を聞いてから その中の一部を選ぶ、という手順は存在しません。その時点では出力はもう書き終わって います。
この機能が行わないこと
- **代わりに探すことはしません。**上で述べたとおりです。英語の素材で放送禁止用語の 自動検出が必要なら、そのために作られたツールのほうが適しています。
- ファイル全体の処理に適用され、30 秒のプレビューには適用されません。 プレビューはノイズ除去の効果を判断するためにあります。触らないでおくことで、 その判断が濁りません。
- **指定にはブラウザーがそのファイルを再生できることが必要です。**当方の処理経路は 通常の再生機能では開けないコンテナも開くため、「処理はできるが、指定のために 再生できない」ファイルが存在します。その場合は指定の操作部分が消え、理由を 表示します。処理自体は利用できます。
- **Firefox ではファイル全体の処理そのものが利用できません。**出力に必要な AAC を エンコードできないため、ビープ音の置き場所がありません。30 秒のプレビューは 利用できます。Firefox 142 で実測しました。