VOICEVOX / voicevox

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのエディター
https://voicevox.hiroshiba.jp/
Other
2.49k stars 306 forks source link

ソング:歌詞の流し込み機能がほしいです #1815

Closed shigobu closed 6 months ago

shigobu commented 8 months ago

内容

ボーカロイド等で使える、歌詞の流し込み機能がほしいです。 現状、ノート毎に文字を入力する必要があり、歌詞の入力に手間がかかります。歌詞の流し込み機能では、テキストボックスに、ひらがなで複数文字の歌詞を入力して決定すると、各ノートに自動で歌詞を割り振ります。 とても便利です。

Pros 良くなる点

歌詞の入力が早くなる。

Cons 悪くなる点

とくになし。

実現方法

VOICEVOXのバージョン

0.16.1

OSの種類/ディストリ/バージョン

その他

Hiroshiba commented 8 months ago

UIをどうするかが課題に感じました! 既存ソフトのUIがどうなってるかご存知だったら知りたいです。

既存手法は置いといて、とりあえずボイボのUIでできそうな流れはこうでしょうか。

「1文字ずつ流し込む」みたいなチェックボックスがあっても便利そう?

shigobu commented 8 months ago

私が想像してた機能は、ノートをダブルクリックしたときに表示されるテキストボックスに複数の文字を入力したら、二文字目以降が自動で次のノートに割り振られる、というような機能でした。 VOCALOID4Editor For Cubaseではそうなっています。

これだと、UIの変更は無いに等しく、実装も比較的簡単かと思います。

Hiroshiba commented 8 months ago

なるほどです! 今は1ノート1モーラですが、将来的に2モーラ以上可能になった場合の挙動は考えとかないとかもです。 あとその機能を知らないと「なんか勝手に次のノートに移動するバグがある」と思われるかもですね。

他のエディタはどうなっていますか? たしかCeVIOは流し込むダイアログがあり、スペース区切りでノートを分けるか、1モーラずつ分けるかを選ぶチェックボックスがありました。

shigobu commented 8 months ago

VOCALOIDしか持っていないのですが、ピアプロスタジオもVOCALOID4Editor For Cubaseと同様です。ノートをダブルクリックすると表示される枠がすでに歌詞流し込み画面になっていて、テキストボックスに入力しOKボタンを押すと、1ノート1モーラで割り振られます。区切り方法の設定はありませんでした。

shigobu commented 8 months ago

VOCALOIDは、1ノートに1モーラが基本らしいです。VOCALOIDの発音記号を直接入力すると、2モーラ以上当てることができるらしいですけど。

CeVIOやSynthesizer Vの1ノートに2モーラ以上入れられる機能って何であるのだろうか?ノートを分割すれば良いような気がします。 1ノートに2モーラ以上入れられる機能に意味があって、それがVOICEVOXのソング機能に必要であるならば、歌詞流し込み機能はCeVIOのように、分割方法を選ぶラジオボタン等をつける必要があると思います。

1ノート1モーラ固定で良いならば、歌詞入力欄に複数文字入れたら、モーラごとに分割されて順番にノートに割り振られる方式で良いのかなと思いました。実装も比較的かんたんかと思われます。

Hiroshiba commented 8 months ago

ノート内に複数モーラ置けるのはわりとメジャーで、1音だと感じる区切りが日本語テキストの発声とズレてるためだと思います! よくある例だと「ワン・トゥー・スリー・フォー・ファイ(ブ)」とか、全部1音として歌うと思います。もちろん分割して手動にもできるので、AIが良い感じに調整してくれるか、人間がマニュアル調整するかの差かなと。 あと、1ノート1モーラは合成エンジンの制約で、その制約をエディタ側にも適用してるのがボカロ4、してないor複数モーラもいけるのが他、とかかもです。

とりあえず状況が変化するまでは、勝手にモーラが次に送られるように実装し、将来的にはチェックボックスがある工程を挟実装に変える…かも、というのはどうでしょうか?

この辺りご意見あれば!! @romot-co @sigprogramming @y-chan

romot-co commented 8 months ago

@Hiroshiba

とりあえず状況が変化するまでは、勝手にモーラが次に送られるように実装し

こちら、同意です!


UI的に考えてみると

あたりが重要そうに思えます。

案ですが、以下の感じがありえそうかな、と思っております。 https://xd.adobe.com/view/c433028a-50b3-4411-871d-f4e13d5bd358-9160/

これであれば、とりあえず最初は

あたりでしょうか…?

sigprogramming commented 8 months ago

「1ノートに2モーラ以上入れられる機能」は、英語や「~し(たい)」「~(ない)」等の二重母音があるときに(AIがいい感じに調整してくれると)便利&時短になるかなと思います。

@Hiroshiba

とりあえず状況が変化するまでは、勝手にモーラが次に送られるように実装し

良いと思いますが、「右クリック→歌詞の流し込み」で普段入力を行っているユーザーも多いかもと思いました! なので、歌詞入力のダイアログ(チェックボックスは一旦なし)も同じくらいの優先度で実装が良いかもです。

Hiroshiba commented 8 months ago

@romot-co 案見させて頂きました、なるほどです!!! プレビューするの良さそうなのですが、「入力中のinputでカーソルより右の文字を薄くする」が相当しんどいかもです。 多分HTML inputじゃ無理で、自作する感じになりそうかもで、なかなか厳しいかもしれません・・・。

@sigprogramming さんの意見も確かにと思いました! まあもしダイアログ版がなくても、いつか2文字入力して勝手に次のノートに1モーラ移動することに気づいてくれるかもとかちょっと思いました。

Hiroshiba commented 8 months ago

次のノートに勝手に歌詞が移動するのは、将来的に1ノートに2モーラ以上入力可能になった場合にやっぱり衝突すると思います。 その解決ができて実現可能そうなUXの目処が立っていない場合、2モーラ入力を簡単にするために将来破壊的に仕様変更するか、頻繁に行う2モーラ入力が面倒なUIのままにするか、という2択を選ぶことになるかもです。

となると現状は、自動的に入力歌詞が次のノートに行く仕様は一旦ペンディングにして、とりあえず右クリックで歌詞流し込みを可能にするのが無難かもと思いました! (重要度のバランスがちょっと微妙かもなので違和感あったらご指摘いただければ!)

あと歌詞入力をダイアログじゃなくポップアップとかにすれば、プレビュー表示しながら流し込みもできるかもです。 他にも、まあかなりワークアラウンドですが、1ノートの複数文字入力した時に「複数文字無理です、あと右クリックに歌詞流し込みがあります」みたいなツールチップ出してあげると意外と流せるかもとか思いました。

@sigprogramming

「1ノートに2モーラ以上入れられる機能」は、英語や「~し(たい)」「~(ない)」等の二重母音があるときに(AIがいい感じに調整してくれると)便利&時短になるかなと思います。

マジレスしてしまうと、データがなくて色々用意するのに相当大変そうですね・・・ 😇

sevenc-nanashi commented 7 months ago

そこそこ欲しかったのでやってみようと思います。

Hiroshiba commented 7 months ago

@sevenc-nanashi ぜひぜひ!!

Hiroshiba commented 6 months ago

@sevenc-nanashi さんプルリクエストありがとうございます! やっぱり歌詞自動送り便利ですね!!

頂いたプルリクエストの実装は、実は以前に課題有るよなーと議論した内容のUI(1ノート1モーラを前提としたUI)だったりします。 問題だったのは UX の迂回策が見つかってなかったからでしたが、迂回策を思いついたのでメモです。


(将来的に)ノートに歌詞を入力した場合のデフォルトの挙動をグローバル設定で選べるようするとかどうでしょう? で、デフォルトの動作以外で歌詞を流し込みたい場合は右クリックから歌詞入力とか。 デフォルトの動作はたぶん言語やエンジンによって最適なものが変わる気がします。将来的には言語によってデフォルト設定を変えてもいいかも。

UX をまとめるとこうですかね

なんか見落としがある気がするのでコメントとかあればぜひ・・・!! @sigprogramming @romot-co @sevenc-nanashi @shigobu