Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
3 tasks
shigobu opened this issue Jan 31, 2024 · 13 comments · Fixed by #1952
Closed
3 tasks

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

shigobu opened this issue Jan 31, 2024 · 13 comments · Fixed by #1952

Comments

@shigobu
Copy link
Contributor

shigobu commented Jan 31, 2024

内容

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

Pros 良くなる点

歌詞の入力が早くなる。

Cons 悪くなる点

とくになし。

実現方法

VOICEVOXのバージョン

0.16.1

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

  • Windows
  • macOS
  • Linux

その他

@Hiroshiba
Copy link
Member

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

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

  • ノート右クリック
  • 「歌詞を流し込む」みたいなメニュークリック
  • →テキスト欄が入力できるダイアログ表示
  • 決定したら歌詞が流し込まれる

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

@shigobu
Copy link
Contributor Author

shigobu commented Feb 1, 2024

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

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

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 1, 2024

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

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

@shigobu
Copy link
Contributor Author

shigobu commented Feb 1, 2024

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

@shigobu
Copy link
Contributor Author

shigobu commented Feb 1, 2024

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

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

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

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 1, 2024

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

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

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

@romot-co
Copy link
Contributor

romot-co commented Feb 1, 2024

@Hiroshiba

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

こちら、同意です!


UI的に考えてみると

  • 変更後の状態が予測できない
    → どこで区切られるかわからないなど
  • 入力もそうですが、間違えた場合・修正したい場合の修正の容易さを担保する方向がよさそう
    → たいてい1文字ずれたとかが問題になるので、その調整を容易にするなど?
  • ミスっても元に戻せばいいや(可逆変更)ができる
    → Undo/Redoいるので当面むずかしそう

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

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

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

  • モーラで分割して流し込める
  • ノートに対し変更後の歌詞のプレビューが行える or 対象ノートの歌詞範囲明示のみ

あたりでしょうか…?

@sigprogramming
Copy link
Contributor

sigprogramming commented Feb 2, 2024

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

@Hiroshiba

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

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

@Hiroshiba
Copy link
Member

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

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

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 3, 2024

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

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

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

@sigprogramming

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

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

@sevenc-nanashi
Copy link
Member

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

@sevenc-nanashi sevenc-nanashi self-assigned this Mar 9, 2024
@Hiroshiba
Copy link
Member

@sevenc-nanashi ぜひぜひ!!

@Hiroshiba
Copy link
Member

Hiroshiba commented Mar 27, 2024

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

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


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

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

  • 1ノート1モーラ前提の日本語エンジン
    • VOICEVOXは"今"これ
      • ボカロもたぶんこれだけど、英語エンジンもあるのでこれを大前提にしていない
    • 自動歌詞送りが実装簡単&便利
  • 1ノート2モーラ以上入力できる日本語エンジン
    • NEUTRINOとか大体の日本語歌声エンジンがこれ(なのでマルチエンジンを考えるとこのUXを想定すべき)
      • 「ワン・トゥー・スリー」みたいな歌詞で便利なのでVOICEVOXも可能ならこっちを目指したい気持ちがある
    • ノート入力時の歌詞自動移動がなく、右クリックで歌詞流し込みができ、スペース区切りで次のノートに行くか、1文字ごとに次のノートに行くかを選べる UI が多い
      • SynthVの例
      • なので右クリックで歌詞入力は将来的にほぼ必須
    • ノートに歌詞入力時の自動歌詞送りが逆に不便なこともある
      • これはデフォルトの歌詞送り方法を設定可能にすれば解決
  • 英語エンジン
    • 1ノート1モーラを前提にするかしないかに関わらず、そもそも文字と音が1対1対応しない
      • 日本語におけるひらがなカタカナがない
    • 歌詞流し込みする時は右クリックでやることが多い
    • ちなみにSynthVも英語エンジンがあるのでこっち寄りで、歌詞流し込みのショートカットキーはcommand+L。

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants
@Hiroshiba @romot-co @shigobu @sevenc-nanashi @sigprogramming and others