![見出し画像](https://assets.st-note.com/production/uploads/images/152626795/rectangle_large_type_2_7c9cc1db1f6e2380aa7fb9c60240b14b.png?width=1200)
Sunoで作った歌声の発音ミスを歌声合成ソフトで修正する実験(1):概要編
Sunoで歌あり曲を生成している人なら誰しも思うであろう、歌い方の部分修正を歌声合成ソフトを使ってやってみたという記事です。
思いついた時はやべー、音楽生成の新時代を切り開いてしまったかも、って思いましたが2ヶ月も前にTamo Lab.さんが実験済みでした。
でも当時と比較するとSunoもUdioもSTEM分離(歌と楽器などを分離して出力する)ができるようになったので取り組みのハードルは少し下がったと思います。
加えて、Udioの曲データ読み込み&リミックス機能を使うことでやりにくかった部分を乗り越えられるようになってきているようにも思います。
なので私がこのタイミングでこの記事を書く意味は十分にあるんですよと自分に言い聞かせてモチベーションを上げつつ書いていきます。
やることは下記の通りです。
Sunoで曲を作る
めっちゃ最高の曲やねんけどここの歌い方だけちょっとちゃうねん、というレベルの曲ができたところからがスタートです。UdioでSTEM分離する(1.で作った曲をUdioに読み込む)
Sunoでも歌と楽器を分離することはできるのですが、やってみた感触としては失敗率高そうです。歌と楽器の分離がところどころうまくいかないことがあり、素材として使いにくいです。一方Udioの方は比較的うまく分離できる印象です。もちろんSunoでうまく分離できた場合はそのまま使ってOKです。歌声合成ソフト「Synthesizer V」(以下SynthV) で歌声データに変換
このすごいソフトを使うことにより歌パートの音声ファイルを「歌声データ」に変換し、いわゆるボカロ的な感じで歌声を自由に編集できるようになります。SynthV上で楽器パートの音声データとミックスし、完成
楽器パートも上手く行けばそのまま使えるのですが場合によっては一部の音が抜けることもあるので必要に応じて修正したうえでSynthVに読み込み、歌声とミックスした音声ファイルを書き出せば完成!
SynthVで歌声データにした後は声の強さやビブラート、息づかいなどいくらでも調整できるのですが、この記事ではとりあえずベタ打ちまでの流れを書きます。
ちなみにベタ打ちというのはボカロ界隈の用語で上記のような歌い方の調整をする前の素の状態、音符に歌詞が割り当てられただけの状態のことを指すようです。今回のやり方ではボカロ用語としては正確な意味でのベタ打ちとは違うかもしれませんが、この記事ではそう呼ぶことにします。
それでは各ステップについて詳しく書いていきます。
STEP1:Sunoで曲を作る
これはあらためて書くことはないです。皆さんおそらくすごく気に入っているのに一部歌が不自然でお蔵入りにしている曲があると思います。
私は今回は少し前に作った「さよなら理性」をちょっとブラッシュアップしてみようと思います。曲全体としてはとても気に入っているのですがほんのちょっとだけ歌い方に満足がいってなくて、自分で聴くにはいいけど配信して他の人の作品と並べるのはちょっときついなーという感じでした。でも、だからこそそのちょっとの部分を修正できれば配信クオリティになりそうなのに!というもどかしさをエネルギーして取り組んでみることにしました。
Sunoで作った曲のリンクはこちらです。
1:08あたりの「天空の牢獄へ」の部分が音が詰まりすぎてて気になっています。歌い出しをワンテンポ早くすればいい感じに収まるんじゃないかなーと思うのですが生成でこの部分を修正するのは大変そうなので寝かせたままになっています。
STEP2:UdioでSTEM分離する
今回やってみた結果SunoよりUdioの方がSTEM分離がうまくいったのでこのステップでUdioを使うことにしていますが、もちろんSunoでうまく分離できた場合はそのまま使ってOKです。
ところでSunoで作った曲をUdioでSTEM分離と言われても???ってなるかもしれませんが、要はUdioのファイルアップロード機能とリミックス機能を使ってSunoでつくった曲をUdio上で作り直す感じです。なかなか贅沢なUdioクレジットの使い方になってしまいますがやりたいことをやるにはやるしかないので仕方ありません。ちなみにUdioは2分10秒までしかリミックスできないので、それ以上長い曲の場合複数に分けてリミックス版を作る必要があります。
やり方のもうちょっとだけ詳しい説明は下記ツイートを参照してください。
#Suno で作った曲「星空にドライブ」を #Udio でRimixしてみたら一応できました。とりあえず試しでやったのでクオリティ的には微妙ですが、可能性は感じます。うまくやればUdioのInpaintで部分修正して生産性UP!できるかも。
— HIRO (@SousakujikkenH) July 28, 2024
Check out my track from Udio: https://t.co/nKzunNKaIe
と思いましたが上記のツイートは情報量だいぶ少なかったので少し画面キャプチャしつつ書いておきます。
![](https://assets.st-note.com/img/1724579327779-9oRfHvjNVy.png?width=1200)
まずファイルをアップロードし、生成モードボタンでリミックスを選択します。
曲生成のプロンプトを適宜設定(Sunoの時のスタイル指定と同じような内容でOK)します。
Modelは130秒分生成できるudio-130を使います。
上記画像の通り、一発では生成できないので一旦前半部分を生成します。
Remix SettingのVarianceは一番Similar寄りでOKです。
![](https://assets.st-note.com/img/1724583008672-kDmqHAu00T.png?width=1200)
LyricsはCustomにしてSunoで生成した時の歌詞をそのまま記入します。
これをやらないと歌パートの歌がいい感じに生成できないと思います。
![](https://assets.st-note.com/img/1724583125543-6l0VLDvOy0.png?width=1200)
Model v1.5:1.5の方が色々向上してるっぽいので1.5でいいとおもいます。
Prompt Strength:プロンプトにどれだけ忠実に生成するかの値のようですが、今回の用途であれば初期値の50%でいいと思います。
Lyrics Strength:歌詞にどれだけ忠実に生成するかの値のようですが、こちらも初期値の50%でOKです。
Clarity:楽器の音の明瞭さとのこと。STEM分離する上である程度明瞭な方が精度が上がるかもしれないので今回の用途でそこそこ重要になるのかもしれませんが、とりあえず初期値の25%でいいんじゃないでしょうか。うまくいかなかったらもう少しあげてもいいと思いますが、数値を上げると刺々しい音になりがちな気がします。
Generation Quality:あげた方が音の質が良くなるっぽいですがちゃんと比較したことがないのでよくわかりません。とりあえず初期値のままでいいと思います。
以上、設定できたらRimixボタンを押せばUploadしたオリジナル曲とかなり近い曲が2曲生成されます。
ちなみに今回の曲「さよなら理性」をUdioで再生成した結果はこちらです。
オリジナルに比べるとちょっとたどたどしかったり歌詞のミスなど劣化している部分もありますが、今回の用途においてはある程度聞き取れるレベルであれば気にする必要はありません。後でどうせ歌詞を手作業修正するので。
Udioのダウンロードボタンを押すとダウンロード画面が開き、File TypeのところからStems (WAV)を選択すると下記のようにパートごとに分離されたファイルをダウンロードできます。
この時点で各パートの再生ができるので、もし分離がうまくできていなければリミックスをやり直して再度Stemsの生成をします。
![](https://assets.st-note.com/img/1724578433259-fHDsj1gVBq.png?width=1200)
最初に必要なのはVocalだけですが、ほかのパートもいずれは必要なのでDownload Allで取得すればOKです。
STEP3:SynthVで歌声データに変換
いよいよSynthVの出番です。これ本当にすごいソフトですよ!歌パートの音声ファイルを読み込ませると歌の音程のノート(譜面)と歌詞に一発で変換できるのですよ!?そして指定した声で歌ってくれるんですよ!?
最高でしかないですよね!!
そしてこの歌声の出来が凄まじく、いかにもボーカロイドな機械的な声じゃなくてもうほぼ人間な声で歌えるわけですよ。そしてその歌い方を好きなように調整できるという、もう全てを操れるわけですよ。まさに神ソフトです。
そんな存在するだけでありがたい神ソフトが、なんと税込1万円ちょっとで買えてしまいます。ありがたく購入させていただきました。
あ、ちなみにSynthVは機能を限定した無料版もありますが、今回使う「オーディオをノートに変換」機能は有料版じゃないと使えません。
さて、そんなSynthVでやることの流れは下記のような感じです。
Udioで生成した歌パートの音声ファイルを読み込む→ボーカルトラックとして読み込まれる
ボーカルトラックを「オーディオをノートに変換」することでノート+歌詞のトラック(歌ノートトラックと呼ぶことにします)に変換する
歌ノートトラックに歌声を割り当てる
Udioで生成した楽器パートの音声ファイルを読み込む→それぞれのパートのトラックとして読み込まれる
歌声を再生しながら歌詞や発声タイミングが不自然な部分を修正する
とりあえずベタ打ちレベルで仕上げるまでで上記のような感じです。
今回のように曲の長さが130秒より長く、Udioで生成した時に複数ファイルに分かれてしまう場合は続きのファイルも読み込みます。
なんか長くなりそうなのでこのパートの詳細は次の記事に分けて書きます。
![](https://assets.st-note.com/img/1724758082167-XHJ67LVpYU.png?width=1200)
歌詞の発音が違う部分などは手作業で修正します。
STEP4:SynthV上で楽器パートの音声データとミックス
楽器パートの音声データ自体の修正をします。
UdioでSTEM分離する上でどうしてもボーカルとの分離がうまくいかずボーカルの一部が入ってしまったり逆に残ってて欲しい楽器の音がボーカルの方に抜けてしまってたりすることがあるので、そういうのを修正します。
ざっくりとやることとしては下記の通りです。
楽器パートの不具合箇所を見つける
Udioで再度リミックスするなどして楽器パートファイルをもう一度作成する
2のファイルで全編不具合なければ2のファイルを採用、もし2のファイルにも不具合箇所がある場合、1のファイルと切り貼りして使えるところを補うように加工する
できたファイルをSynthVに読み込み、歌ノートトラックとミックスする
3の部分はAudacityなどの波形編集ソフトでやる感じです。
ここもちゃんと書くと長くなりそうなので省略します。
そして、最終的にできたベタ打ち曲はこんな感じです。
以前Sunoで作った曲「さよなら理性」の歌声をSynthesizer Vで修正する実験をしてみました。ボーカルトラックを読み込んでノートに変換した後手作業で細かい修正をする感じです。#suno #SynthesizerV pic.twitter.com/jwjQa07HEx
— HIRO (@SousakujikkenH) August 26, 2024
以上、ベタ打ちレベルまでのやるべきことはこんな感じです。
ここまでの中で難しい部分というか時間がかかるのは発音のタイミング合わせですねー。詳細は次の記事に書きますが、生成された曲のテンポって一定じゃなくて結構揺らいでるみたいで、楽譜の音符みたいに4/4拍子できっちりこの場所でこの音、みたいにはできなさそうでした。少なくとも64分音符ぐらいの細かさで微調整して違和感がな苦なるように手作業修正が必要です。
楽器パートも打ち込みで作るなら正確なテンポでベタ打ちを作るのがいいのだと思いますが、手を抜いて生成曲をベースに作ろうとするとこういうところで意外と手間がかかるということがわかりました。
それでも作曲の技術がなくても曲を作れる(形にできる)ってのが楽しいので、思っている形に近づけていく楽しさみたいなのがあって、手間はかかるけどこれはこれでいいんじゃないかなーと思います。
次はSynthVの実際の操作内容などを書こうかなと思います。
その後ハモりパート追加とか歌い方の調整とかまだまだやることがあるのでその辺りもトライしつつ記事にしていこうと思います。
ではまた!