チュパ音の音声AI研究記録

データセット
以下データセット説明文より
なぜチュパ音か?
チュパ音の研究には、ほかの音声とは異なる独自の難しさがあります。
極端な非言語発声であり、通常の会話音声よりもモデル化が難しい。
- 表記ゆれが非常に大きい。
- たとえば「ch u p a ch u p a」と書かれていても、実際の音はそのローマ字読みとかけ離れていることが多い。
- シナリオライターごとに採用するオノマトペ表記の慣習が異なる。
- 同じ表記でも、声優によって解釈・発声が大きく変わる。
その結果、チュパ音を対象とした TTS や ASR などの課題は、ほとんど手付かずのまま残っている。
このデータセットで期待する応用
- TTS: テキスト(あるいは別入力)からチュパ音を含む音声を合成
- ASR: チュパ音 → テキスト(?)認識、またはロバストなオノマトペ解析
- ASV(話者認識): 実現可能かは未検証(いわゆるチュパ音ソムリエが存在するので特殊な人間には可能)
- 分析: チュパ音とその表記の音声学的/スタイル的研究

雑多なメモ・アイデア・記録をする。
まず、前提からいって、チュパ音は笑い声や叫び声やすすり泣きや咳等と同じような非言語発話であり、また効果音の特性も持つ。
テキストとの対応が非常に難しく、またオノマトペ的で、音素と音声との対応はほぼ(少なくとも一般の発話よりは)存在しない。テキストに表現してしまうと実際のチュパ音の音の感じから多くの情報が欠落すると考えられる。
なので、チュパ音とテキストの間の何らかの中間的な疑似テキスト表現を用いるという発想は自然。そのようなものとして、よくSSLモデルの特徴量を使うことが最近はよくある。
実際、笑い声合成のタスクでHuBERTを用いるという論文[1]はある:
だが、問題として、チュパ音にはいわゆる普通の日本語とチュパ音が混在するという点がある。上記データセットサンプルの
鈴々で、ひゃんろっ、出ぅ?せーえき……出ひてぇっ、んふうぅ、ぶ、ふっ、む、ン
ん~~~嫌じゃないのだぁ、んぷぅ、ぺろっ、ぺろ……見て、いっぱい舐めひゃう
等は、どう考えてもチュパ音以外の通常発話が入っている。これを擬似テキスト表現に置き換えてしまうと、日本語としての発話をしてほしいところの扱いが難しい。
疑似テキストを使う場合は、この元のテキストと、疑似テキストの2つをどのように扱うべきかという問題が出てくる。

チュパ音のcontentvec特徴量の観察
とりあえずSSL特徴量を用いて分析をすることにする。
HuBERTやらWavLMやらいろいろあるが、とりあえず疑似テキストとして用いるには話者性が抜けていたほうがいいというナイーブなアイデアから、contentvecを使うことにする。
FishSpeechの人が🤗に乗せているのでこれが使いやすい: https://huggingface.co/lengyue233/content-vec-best
まず、チュパ音と通常の発話との間に、contentvec特徴量にどのような分布の差がどれほどあるのかを調べることが必要だと考えるので、それをやる。
データが大量なのもあり、MiniBatchKMeansである程度の点でクラスタリングしつつ、そのセントロイドが、チュパ音データセットの場合と、通常発話データセットの場合とでどれほど異なるかを観察する。