common.title

Overview
Service overview
Terms of service

Privacy policy

Contact

Sign in
Sign up
common.title

巷のVALL-E Xの記事を見てみる

Yuichiro Minato

2023/11/15 14:22

こんにちは。冬は地表面の有害物質の濃度が高いと言われますが遠くの山の方まで見えて、空気は一見きれいに見えます。どっちなんですかね。

今回は、VALL-E Xをみます。


VALL-E-X : 再学習不要で声質を変更できる音声合成モデル

https://medium.com/axinc/vall-e-x-%E5%86%8D%E5%AD%A6%E7%BF%92%E4%B8%8D%E8%A6%81%E3%81%A7%E5%A3%B0%E8%B3%AA%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%A7%E3%81%8D%E3%82%8B%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90%E3%83%A2%E3%83%87%E3%83%AB-977efc19ac84


再学習不要で声質を変更できる音声合成モデルであるVALL-E-Xのご紹介です。VALL-E-Xを使用することで数秒の音声から同じ声質の音声合成が可能になります。


VALL-E-XはMicrosoftが開発した音声合成モデルのOSS実装です。Microsoftのものは論文は公開されていますが、ソースコードと学習済みモデルはMicrosoftから公開されていないため、非公式の実装となっています。単一言語の音声合成モデルのVALL-Eを、多言語対応した音声合成モデルがVALL-E-Xとなります。


論文は出てるけど、実装がないのでOSSで実装したのがVALL-E Xですね。


githubはこちら

https://github.com/Plachtaa/VALL-E-X


従来、ボイスチェンジャーを行う場合、RVCが利用されており、RVCでは事前に、10分程度の音声を使用した学習が必要でした。VALL-E-Xでは学習不要で、数秒の音声のみで声質の変更が可能です。


RVCとは違ってtext to voice のようです。正直この解説記事一つで十分そうです。


VALL-E-XはMetaの開発した音声合成アルゴリズムのAudioGen と、Googleの開発したAudioLM をベースとしています。


「AudioGenは、Audio Encoder、Text Encoder、Transformer Encoder、Audio Decoderの4つのモデルで構成されており、Audio DecoderはAuto Regressive Audio Generation Modelを使用して、テキストからの音声合成を行います。

AudioLMは、入力された音声をw2v-BERTを使用してSemantic Tokenに変換した後、SoundStream(Encodecと同等のモデル)を使用してAcoustic Tokenに変換し、入力された音声の続きの音声を生成します。」


ほとんどが元の解説記事の通りになってしまいますが、この二つを組み合わせて使っているようですので、その辺りを学習する必要がありますね。


詳しく見てもいいのですが、ほぼこの記事のコピーになってしまうので、別の実装の機会があれば工夫して学んでみたいです。


次の記事です。


VALL-E X

https://qiita.com/fuyu_quant/items/0bf07e43e03c2251a53f


僕も使ったことありますが、使い方は結構簡単で、しかもインターフェイスがつくんですよね。



使い方中心の紹介になっていました。


VALL-E X の OSS実装を試す

https://zenn.dev/kun432/scraps/ca42215a5f9bc6


こちらはGUIもついていました。



全体的には最初の記事でほとんどが解決してしまう現状です。巷の解説記事はほとんどありませんでした。このままでは何も収穫がないので、もちょいだけ深掘りしようと思います。ということで、AudioGenとaudioLMについて調べてみましたが、さらにこの分野の解説記事が少なかったです。。。


まず、AudioGenですが、AudioCraftの中に含まれているということでいくつか記事はありましたが、正直元論文を読むか、公式の解説記事を読むのが良さそうです。


AudioGen: Textually Guided Audio Generation

https://arxiv.org/abs/2209.15352


こちらが論文。今回はVALL-E Xについての記事なので、これを読むのは別の機会に。


【Meta社】オープンソースの音声・音楽生成AI「AudioCraft」をリリース!

https://www.goatman.co.jp/media/%E7%94%9F%E6%88%90ai/meta-audiocraft-news/#%EF%BC%92%EF%BC%8EAudioGen%EF%BC%88%E9%9F%B3%E5%A3%B0%E7%94%9F%E6%88%90AI%EF%BC%89_%E7%92%B0%E5%A2%83%E9%9F%B3%E3%82%84%E5%8A%B9%E6%9E%9C%E9%9F%B3%E3%81%AE%E7%94%9F%E6%88%90%E3%81%AB%E3%82%82%E5%AF%BE%E5%BF%9C


ちょっとだけAudioGenについて言及がありました。


AudioGen: Textually Guided Audio Generation

https://felixkreuk.github.io/audiogen/


論文の筆頭著者のページのようです。サンプルがたくさんありますが、やはり論文を読むか公式ページを読むのが良さそうです。


AudioCraft の AudioGen を試す

https://note.com/npaka/n/ne20ba718dead

ちょっとだけ試したレポートが書いてありました。やはり他の技術に比べると記事は少なめです。


AudioGen: Textually-Guided Audio Generation

https://audiocraft.metademolab.com/audiogen.html

結局githubか論文へのリンクがあるだけなので、論文を読むのが最良の方法のようです。


AudioGenについては、論文を読むしかなさそうです。



次に、audioLMです。


論文

AudioLM: a Language Modeling Approach to Audio Generation

https://arxiv.org/abs/2209.03143


公式論文です。読むのが良さそうです。


MusicLMができるまで

https://qiita.com/xiao_ming/items/e4fb67ceaaf9e5ded8af


いい感じです。


MusicLMは、Googleラボが去年発表した研究成果AudioLMMuLanをベースにしており、AudioLMはさらにSoundStreamW2V-BERTという研究がベースになっています。これらの先行研究と合わせて読むと、MusicLMに辿り着くまでの道筋が見えて、とても面白いです。


きちんと解説されています。


SoundStreamは本来、機械学習によって作られた「音響データ圧縮用のニューラルコーデック」です。3kbpsという低ビットレートで、12kbpsで圧縮されたOpusコーデックよりも高品質な音を再現できる優れものです。


「W2V-BERT自動音声認識の性能を向上させるための事前学習手法です。事前学習とは、ラベルの無い音声データを使う自己教師あり学習によって、音声から高次(抽象度の高い)な意味情報をあらわす特徴量に変換するエンコーダーを作ることです。事前学習済みのエンコーダーが計算した特徴量を使うことで、自動音声認識など音声関連の教師あり学習を容易にする(=少量の教師ありデータで高い汎化性能を達成する)ことができます。」


「SoundStream + W2VBERT = AudioLM」


ということで、audioLMについてはこの記事を読めば良さそうです。


AudioLM: a Language Modeling Approach to Audio Generation

https://blog.research.google/2022/10/audiolm-language-modeling-approach-to.html


この解説記事を読むのはかなり良さそうですので、別の機会にしたいと思います。


VALL-E Xはいろんな技術の組み合わせになっていて、ベースの技術を全部理解できていないと説明が難しそうなのでなんか解説記事がかなり少なめでした。AudioGenやaudioLMなどから順番に入っていった方が良さそうですね。以上です。

© 2023, blueqat Inc. All rights reserved