第22話 ♠ 対決と証明
三日後の夜、俺はレードマンとDiscordの通話を繋いでいた。
『しかしまぁ、よく俺なんかのチャンネルに出演しようと思うよな。自分で言うのもなんだが、あんまり良いことねぇぞ?』
「なんだ、心配してくれるのか?」
『心配ってか……もの好きだなと思ってよ。全世界に声とアカウントを晒して俺なんかと喧嘩するなんて』
「色々と事情があるんだよ。あんたがああいう配信してるのも、別に好きでやってるわけじゃないだろ?」
『いや、それよく言われるんだけどさ、俺は配信が金になるシステムができる前からやってた古参だから、好きでやってるのよ。完全に天職だと思ってる』
「そうか……それなら、容赦なく喧嘩できるな」
『ははっ!そうこなくちゃな。じゃあ、そろそろ配信開始するぞ』
「了解」
レードマンのYouTubeチャンネルで配信が開始した。
ひかりや他の助っ人はいない――タイマンだ。
『お前ら待たせたなぁ! 正義の炎上請負人、レードマンだぁ〜よろしくっ! そしてそして〜なんと今日は特別ゲストが来てるぜぇ。前回の配信で俺に喧嘩を売りやがった、ほむるのリスナー……の代理人のオウルだ。ほら、挨拶しろや』
「よろしく」
●待ってたぜ
●レードマン!レードマン!レードマン!
●うおおおおぶっ殺せ!
●叩き潰してくれよな
●俺はレードマンが負けるとこ見たいw
●盛り上がれば何でもいいよ
●どっちも死ね!
チャット欄は罵詈雑言の嵐だが、俺を応援している声もある。レードマンという男はやはり相当嫌われているらしい。
まあオーディエンスの反応はどうでもいい。
『いま映ってる画面はオウルのデスクトップな。画面共有ってやつだ。いまから何をするのか、俺のリスナー共にもわかるように説明してくれ』
「これから、レードマンが公開した宮本ミカンの通話音声と全く同じもの――1ビットも違わない音声を生成する。使うのはこのソフト『MOZZ-3』だ。AIを使って、打ち込んだテキストを指定した声質で読み上げさせることができる」
『つまり、俺が広めた音声がそのMOZZとやらを使って作られた偽物だったっていう証明をしたいんだな』
「そうだ」
『もし再現できなかったらどうする?』
「そうだな……お前の言うことを何でも聞こう」
『かはは。そうこなくっちゃなぁ! 知っての通り、俺はドSだからよ。覚悟してくれや』
「ああ、問題ない」
●ん?いま何でもって
●一生奴隷として扱おうぜ
●そんなに自信あるのか?
●偽物の証明ってそんな簡単にできるのかよ
●さぁ盛り上がってまいりました!
チャット欄のスピードが加速して、俺の心拍数も少し上がる。
レードマンからしたら、もしこれが再現できてしまっても別に大した問題ではなく、むしろ美味しいとでも思っているのだろう。
一方で俺からしたら、失敗した時には地獄が待っている。
でも、大丈夫だ。
何故なら俺は、テクノロジーを信仰しているから。
「操作を始める前に、オリジナルのリーク音声へのリンクを貼っておく。この音源は予めレードマンから受け取っていたものだ」
俺はチャット欄にクラウドストレージのURLを貼り付けた。
「それじゃあ、生成を始める」
PCを操作して、MOZZ-3の画面を開く。少し遅れて、配信画面にもそれが反映された。
「まず最初にやるのは、モデルファイルの指定。事前に学習させておいたものを使うが、これは時間を掛ければ誰でも再現できる。使った素材はユメパッケージ公式BOOTHで売ってる『銀河鉄道の夜』の朗読音声。これは二時間半ある音声ファイルで、宮本ミカンが残した音声の中でも教師データとして最適なものだ」
『俺はオウルに言われて予めAIに学習させておいたけどよ、いまこの配信見てる奴もやってみてくれよ』
「ああ、そうだな。MOZZ-3に取り込めばすぐに始められるから、暇な奴は手元で試してみてくれ。それから、『ステップ数』の設定はデフォルトのままでいい」
俺は学習に必要な環境と手順を説明して、すぐに自分の作業に戻る。
「次に、パラメータを指定する。MOZZ-3で指定できるのは『速度』・『高さ』・『抑揚』・『喜び』・『怒り』・『悲しみ』の六種類で、それぞれ十段階で設定できる。これをいまから言う数値に設定する」
俺は六つのパラメータの具体的な数値を読み上げた。
「そして、最後に喋らせたいテキストの本文を入れる。予め配信ページの概要欄に貼っておいてもらったから、それをコピペしてくれ。それで『生成』のボタンをクリックすると、音声ファイルが生成できる」
『生成』ボタンを押した。
「これで終わりだ」
『は? 終わり?』
「ああ。出来上がったファイルを再生すると、例のリーク音声と全く同じ声が再生される」
●え、どういうこと?
●いまの手順だけで音声が再現できんの?
●ちょっと付いていけてないわ
●レードマンは理解してるのか?
●誰か試したやついねーの
『ちょっと待て! パラメータの数値ってのはどこから出てきたんだ? これってゲームのランダム生成で使うシード値みたいなものだよな? どうしてお前が知ってる?』
「検証して突き止めたからだ」
『いや、おかしい。十通りのパラメータが六種類……それだと組み合わせの数は十の六乗で、1の後に0が六つ――合計百万パターンだろ?』
この男、やはりそれなりに頭が回るようだ。
その計算は正しい。
「それで合ってる」
『そんなの、全部検証できるはずがねぇ。もしかして、最初からお前がリーク音声を作って、俺をハメるために自作自演してるんじゃねぇのか!?』
「そんなわけないだろ……。いいか、確かにこのパラメータは全部で百万パターンあるが、それら全部を検証する必要はない。実際に声色を聴けば、極端なパラメータにはなっていないことがわかる。速度が最低だったり、喜びや悲しみが最高のはずはない。そうやって半分以下に絞り込める」
いや、とレードマンが食い下がる。
『それでもおかしいぞ。仮に一つの音声ファイルにつき十秒で生成から確認までできたとしても、掛ける五十万だから、五百万秒。これを日数に直すと……いま計算するから待ってろ……出た。五十七日間だ! あれから二週間しか経ってないのに、検証できるはずがねぇ』
●これはどっちが正しいんだ
●俺にはレードマンが正論を言っているように聞こえる
●物理的に不可能じゃね?
●俺も計算したけど、確かにそうなるな
●証拠が捏造だという証拠の捏造か?込み入ってるなw
「その仮定は二つ間違ってる。ひとつは、音声ファイル全体を確認する必要は無いってことだ。最初のひとことを生成するだけでいい。そして、俺自身が人力で確認する必要も無い」
『じゃあ誰が確認するんだよ?』
「コンピューターにやらせればいい。俺は一日で五十万個のファイルを生成・検証できるように強いサーバーを借りた。それで、十個のインスタンスで同時並行で生成し続けて、音声が一致しているか自動で確認するプログラムを組んだんだ」
『組んだって……自分でか?』
「そうだ。料理で例えると、全く同じ味のスープを作るために、使われている六種類の調味料を色んな比率で使って味見まで全自動でやってくれるロボットを作った感じだな。そして約三十五万個を生成したところで、完全に一致するものが作られて、プログラムは止まった。あとは入力テキストの句読点の位置とか細かいところを手作業で直すだけだ」
『……言ってることは理解できたが、本当に三十五万個の音声を総当りで作ったってのか!?』
「そうだ。そんなに疑うなら飽きるまで聴かせてやるよ」
俺はサーバー内にあるファイルをいくつかローカルに移して再生した。
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
全てが異なる声質の音声。
気色悪いが、これが約三十五万個あるのだ。
●うわあああキモい!
●これ全部コンピューターが勝手に作ったのか…
●総当たりってそういうことかよw
●変な鳥肌立ったわ!
●テクノロジーってすげーな
『わかった! もうわかった! 俺もいま手元で合成音声を作れたところだ。元のリーク音声と連続で再生するぞ……』
『Vtuberのオタクって気持ち悪いよね』
『Vtuberのオタクって気持ち悪いよね』
『これは……確かに同じに聞こえるが、どうすれば完全に一致していると証明できる?』
「人間の耳じゃ無理だろうから、いまチャット欄に書き込むサイトを使って、同一のファイルかどうかを確認してくれ」
俺はチャット欄にサイトのURLを書き込んだ。
このサイトに音声ファイルを二つ貼り付ければ、バイナリレベルで中身を比較することができる。
これで、ファイルの中身が何%一致しているのかがわかり、全ての視聴者が自分の手元で真偽を確認できるのだ。
『……ああ、確認できた。「100%一致」だとよ。これは確かに……完全に同じファイルだな』
「そういうことだ。あんたが掴まされた音声は、いま再現したのと全く同じ方法で作られた」
『そうか……』
レードマンは大きなため息をついて、吹っ切れたように言った。
『悔しいが、データは嘘を付かないわな。俺の負けだ』
「あんたが話が通じる人間で助かったよ」
●うおおおおおオウルが勝った!
●まじかよ草
●こんな神展開久々に見たわ
●技術ガチ勢すげぇ!!!
●ちょっと感動したわ
●レードマンわかってるよな、脱げ
●オウル!オウル!オウル!オウル!
チャット欄がかつて無い速度で流れていく。
ぱっと見、レードマンを
――だから、ここから更に追い込むための用意をしてきた。
何故なら、俺もまたドSだからだ。
「ところで、前回の凸の時に言ってたことを覚えてるか?」
『は? 何のことだ?』
俺は手元にある動画ファイルを再生した。
画面共有は切っていないので、当然それは配信で流れる。
『もしも俺が間違ってたら、土下座でも何でもしてやるから』
前回の凸の最後にレードマンが言ったひとこと。その切り抜き動画だ。
『あー、そうだな。確かに言ったわ。それじゃあ後日、サブチャンネルに土下座の動画を――』
「いや、土下座はしなくていい」
再び動画を再生する。今度は途中から。
『何でもしてやるから』
『何でもしてやるから』
『何でもしてやるから』
●あっこりゃ!
●そんな何度も再生せんでもw
●同じ条件じゃなきゃフェアな喧嘩じゃないもんな
●レードマンわかってるよな、さっさと脱げ
●レードマンAV出るのか!?10枚買うわ
レードマンが慌てふためく。
『いやいや、何でもって言っても、そりゃ限度ってもんがあるぜ?』
「大丈夫だ。常識的な範囲で考えてきたから。あんたの声を借りて、俺から発表する」
『どういうことだ?』
「MOZZ-3を使って学習させておいたんだ」
俺は画面にレードマンが映った状態で、彼の声質の合成音声を再生する。
『わたくしレードマンは、宮本ミカンさんに関して間違った情報を流してしまいました。大変申し訳ありませんでした。罪を償うために、次回の「ブットバ!」に出演して格闘家のガイアサトシさんと試合します。どうか期待していてください』
『はああああああ!?』
「もうガイアサトシとは話を付けてある。頑張ってくれ」
『いやいやいや、殺されるって!』
「彼は元プロだから、ちゃんと力加減して時間一杯いたぶってくれるはずだ。ほら、チャット欄も盛り上がってるぞ」
●ガイアサトシと試合!?
●わざわざ合成音声作っててほんま草
●見たい!やってくれ!
●はい、公開処刑確定。ご愁傷様ですw
●うおおおおお現地行くぞ!!
『お前ら!? いや、俺が言ったわけじゃないからな? これは合成音声で……おい、動画の切り抜きとかするなよ!?』
「他人の合成音声を広めておいて、それは通らないだろ」
『うぐっ……!』
しばらく考えて、レードマンは両手を挙げた。
『はぁ。わかったよ! やればいいんだろやれば!』
「それと」
『まだあんのか!?』
いまのは単純に俺の愉悦のためで、ここからが本題だ。
「あんたは『宮本ミカンと通話した本人からタレコミが来た』と言っていたが、そいつが合成音声を作らせたんじゃないのか? あんたに偽物の音声ファイルを掴ませたのは、一体誰なんだ?」
『そ、それは……』
「別に晒しても問題ないと思うぞ。あんたをハメた人間を教えてくれよ」
『……ああ、そうだな。俺はハメられたんだ。ユメパッケージの平岡ヒバチっていうVtuberにな。あいつから俺に連絡してきて、宮本ミカンと通話した時の音声だって、ファイルを送ってきたんだ』
「本人で間違い無いんだよな?」
『ああ、裏取りは完璧だ。間違いなく本人だった』
「ありがとう。これで事実関係がスッキリした」
これで俺の仕事は終わった。
後のことは、罪を犯した本人と、インターネット住人の機嫌次第だ。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます