![見出し画像](https://assets.st-note.com/production/uploads/images/118858488/rectangle_large_type_2_6c0acd3efd01f01388e786b5636e801e.png?width=800)
RVC, Spleeter, Basic Pitchと音声に関わるAI技術を試してみた
RVC
音声変換で使用した
An easy-to-use Voice Conversion framework based on VITS.
手順
Google Colabratoryをカスタムして組んでくれた人がいるので使って見ると良い。
ただし、二点注意がある。
手順3でgit cloneした後に関連ライブラリのインストールをした
!pip install -r requirements.txt
手順5と手順6のフォルダパスだが、githubのディレクトリ構成から察してフォルダパスを変更した
/content/Retrieval-based-Voice-Conversion-WebUI/assets/pretrained
/content/Retrieval-based-Voice-Conversion-WebUI/assets/pretrained_v2
/content/Retrieval-based-Voice-Conversion-WebUI/assets/hubert
/content/Retrieval-based-Voice-Conversion-WebUI/assets/rmvpe
感想
ノイズのない音声を探すのが難しい。空気音などはAudacityのノイズ軽減でも削るのは難しい。キレイに削ることが出来ればサンプルとしてよいと感じた。ボイスチェンジしてみた感想は、歌声も素材がシュワシュワと音が入っているとキレイに変換することは難しい。また、吐息など特定の表現の変換が難しく課題に感じた。要はライブラリ→ライブラリとどんどん精度が悪くなるので完パケにしてから次に進めないとガッカリな結果となる可能性がある。なお、セリフなどは元の音声によるのかもしれないが、マッチしたすごさも同時に感じた
Spleeter
音源のボーカルと伴奏を分離できる
Spleeter is Deezer source separation library with pretrained models written in Python and uses Tensorflow. It makes it easy to train source separation model (assuming you have a dataset of isolated sources), and provides already trained state of the art model for performing various flavour of separation :
Vocals (singing voice) / accompaniment separation (2 stems)
Vocals / drums / bass / other separation (4 stems)
Vocals / drums / bass / piano / other separation (5 stems)
オフィシャルのページでも書いてあるが、iZotopeのRX8のMusic Rebalanceでも使われている。どおりで似たような分離結果に聴こえるわけだ。性能を比べたことはないが、このプロジェクトを知っていれば音声分離にお金を出さなくてもよかったじゃんと今更ながら後悔した
Spleeter pre-trained models have also been used by professionnal audio softwares. Here's a non-exhaustive list:
iZotope in its Music Rebalance feature within RX 8
SpectralLayers in its Unmix feature in SpectralLayers 7
Acon Digital within Acoustica 7
VirtualDJ in their stem isolation feature
Algoriddim in their NeuralMix and djayPRO app suite
手順
オフィシャルでGoogle Colabのコードを展開しているので使用するとよい
注意点は、Google Colabのサンプルにも書かれているaudio_example.mp3と同一のディレクトリにファイルをアップロードして、そのファイル名で実行すると楽である
!wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
Audio('audio_example.mp3')
感想
伴奏と分離させるとシュワシュワしたボーカルが抽出される、完全な抽出は難しいが聴き取れはする。もう少し、キレイに分離できればよいのだが・・・。何かコマンドで解決するかは研究が必要である
Basic Pitch
オーディオファイルからmidiを抽出する
Basic Pitch is a Python library for Automatic Music Transcription
手順
Google Colabのコードは提供していないが、実行するまであまりコードは必要ないのでGoogle Colabで実行するのが楽である
注意点としては、audioファイルはファイルパスまで、midi化はmidiを置くフォルダパスまで指定することだ
!basic-pitch /content/output /content/output/audio/vocal_only.mp3
感想
恐らく、midiにするためのオーディオファイルはいくつかのプロセスを通ってきたのものだと思う。後から編集をするのもよい(不要な部分を削るのもよい)が、やはり素材の段階でコンバートしやすい形になっていることで精度が上がると思う。
おわり!