ボイスチェンジャーが面白いと数年前にぶっちぎりPさんがおっしゃっていて、昨今のVOCALOIDの品質にも飽きてきたので、色々考えて「じゃあ自分で作ってみるか」ということになり、これまで持っていた理論をコーディングして落とし込んだら、意外にも2〜3日で「歌声を他人の声質に変換するもの」ができてしまいました(公開する予定はないし、パッケージングして公開するだけの技術もないのですが、動くものはあるので興味があればお問い合わせください)。
DAC(Descript Audio Codec)で抽出したLatentをWhisperで分析にかけて、ソースのLatentからピッチと内容をを抽出し、ターゲットのlatentから声質を抽出、その後DiTとFlow-matchingで推論し、再びDACで合成する。こういうと訳がわからないけれども(そのうち理解されるだろうとは考えていますが)、そういうことをやっているうちにひとつ理解したことがあります。
この作業には、現状では、NVIDIAのGPUかApple Silicon以降のMacが必要です(例外として、Google Colabのようなサービスや、AMDへのCUDAからの翻訳はある)。これが、大企業や専門的企業が消費者向け販売に踏み出せない理由でもあり、一般化の阻害要因だと考えます。一方で、大衆化したVOCALOIDムーブメントのように、醜いビジネスコンテンツの氾濫には発展していない今は、この手のプログラムにとっては平和で牧歌的な時代でもあります。
しかしながら、GPU普及のロードマップなどを考えると、概ね10年後にはこの状況が一般化するのではないかとも漠然と推測します。
そのうち、ひとつ理解できたことがあります。「浮遊するシニフィアン」の問題です。これは、記号から意味内容を思い浮かべることができない、という、クロード・レヴィ=ストロースの示した、ソシュール言語学への批判的展開なのですが、どうやらヒトはあらかじめ学習済みの「知識」と、短期間におけるその場の「学習」によって、これを分類しているのではないか、と。
これは、実際問題ヤコブソンとあの三角形では理解しにくい。いわゆるAIの処理では、誰がいったか(formant)、何をいったか(content)、抑揚は(f0)など、まずソースを細かい分類に分けていきます(latent)。もちろん、被りはありますが、これら「特徴量」を、まあその特徴しか扱えないけれども、高次ベクトルに抽象したその後、さらに推論にかけます。この推論のときに、いかに短時間で済ませるか(zero-shot)がトレンドですが、私はこれは「学習済みデータを参照することで、未知の知識をいかに判断するか」である、と考えています。
その学習の仕組みが、語の持つ定義の違いを文脈から判断させている。そこでは、「民主主義」や「マナ」のような記号はどう扱われるでしょうか。やはり、空白のままです。しかし、例えばAIの安倍晋三氏は話すでしょう。「民主主義と自由」と。
真面目に勉強した文系諸氏なら、ここでAIが文系を超えてこないことを理解できるでしょう。私たちは、空白を埋め続けます。そして、納得するのです。AIにはそれができない。場合によっては出力を誤魔化します。つまり、ここが現時点でのAI推論の限界であり、AIに政治ができないことも示しています。
AIによる言語処理は大変明確で理解しやすい側面があります。ぜひ、ヒトとの差分をとって、考えてみてください。きっと知識欲が満たされます。ところで、代替不可能な「誰が話しているか」を考えると、「スペクトル包絡」となります。あるいは、その残差信号をもって、「その人」が話していると、ヒトもAIも判断するでしょう。このとき、位相は捨象されています。いわゆるモノ化です。位相を持つということは、多数話者の選別プロセスでしょうけれども、代替不可能な個は確固として位相を持ちません。逆にいえば、複数話者によって、位相が際立ってくるために、「その人」を判別できます。これも興味深い事実です。