投稿日:2009-05-23 Sat
先に動画を作ってしまったのですが、Rewireでも、MTCでもない、MIDIメッセージを使った同期再生の実験をしました。
動画内で銘打っている通り、まだ不安定なので実装は当分先になりますが、
もしかしてマシンスペックが高ければ使い物になるかもしれません。
・こんな接続をします。
DAW等 ⇒ MidiYoke ⇒ UTAU
・シーケンサにはUTAUからエクスポートした同期用のSMFファイルを読み込ませます。
・あくまで「同期再生」なので、シーケンサ側でノートデータをいじることは出来ません。
・同期再生にはUTAUのキャッシュファイルが必要です。
(全て生成されていることが条件。「必要」といってもどこかに移動するわけではありません)
・UTAU側で変更があった場合、SMFファイルをエクスポートしなおす必要があります。
もちろんキャッシュも更新。キャッシュの設定が有効なら、一度聞けば生成されます。
・シーケンサーからUTAUに送られるのはノート番号(とタイミング)だけです。
・UTAU側はシーケンサからの番号とメッセージのタイミングに従って、
一つ先と二つ先の音符を準備します。
・最初の音符の手前に少なくとも一個の休符がないと先頭の音符が再生できません。
・途中再生では「最初に始まる音符の次の音符」から再生が始まります。
つまり最初の一音は(休符でも音符でも)鳴りません。
・途中で止めると二つ先まで歌います。
こんな感じ。結構面倒です。
以下は比較用に「普通」にオケと合成したもの。
そして、これらの動画を上げたあと、DOMINOで同期再生の実験をしつつ、
同曲のオケの耳コピをしてたわけですが、MIDIシーケンサで作業している時、再生で一緒に歌が聞こえるのが思いのほか楽しくて、作業がはかどってしまいました。
動画ではああいう風に書きましたが、気に入りましたよ。これ。
というワケで、改訂版です。
MIDI同期機能もさることながら、再生音符の色が変わりながら、ピアノロール画面が自動スクロールする機能が凄く気になります。
調声晒しのプレビューの見栄えがとても良くなります(また、動画キャプチャで一気に録画できるので、一枚ずつ静止画を取る手間が無くなる)ので、できましたら、この機能だけでも先に実装して頂けると有難く存じます。
調声晒しのプレビューの見栄えがとても良くなります(また、動画キャプチャで一気に録画できるので、一枚ずつ静止画を取る手間が無くなる)ので、できましたら、この機能だけでも先に実装して頂けると有難く存じます。
演奏と同時に進行していくカーソル…。
ますます機能がDTMソフトに近づいていきますね。
このペースで進化が進んだら、遂には歌えるDTMソフトになってしまうかもしれませんね。
素人考えですが、先行で送る音符数を可変にするのは如何でしょうか?
早いフレーズでは、事前に多く転送しておく訳です。
それを"UTAU"側の受信バッファに溜めて…。
でも、すべてが早いフレーズの曲ですと、この案は無意味ですね…。
すみません…。やはり私では、あめや様の発想力にはかないません。
あめや様の研究が進む度、強力になる"UTAU"System…。
1隠れユーザーとして、研究の成功を御祈り申し上げております。
ますます機能がDTMソフトに近づいていきますね。
このペースで進化が進んだら、遂には歌えるDTMソフトになってしまうかもしれませんね。
素人考えですが、先行で送る音符数を可変にするのは如何でしょうか?
早いフレーズでは、事前に多く転送しておく訳です。
それを"UTAU"側の受信バッファに溜めて…。
でも、すべてが早いフレーズの曲ですと、この案は無意味ですね…。
すみません…。やはり私では、あめや様の発想力にはかないません。
あめや様の研究が進む度、強力になる"UTAU"System…。
1隠れユーザーとして、研究の成功を御祈り申し上げております。
2009-05-24 日 15:04:10 |
URL |
Kirk
[編集]
UTAUの再生方式は切り張り&ファイル再生で、再生にあわせたシーケンス信号を生成する機能はない(もともとの作りがそういう仕組みを必要としない・出来ない)ので、「先に、これだけ」というのは難しいです。
言い方を変えますと、
「同期再生の仕組みあっての自動スクロール」なので、外部シーケンサの助けなしにこれをやろうとすると内部に「簡易シーケンサ」を組み込むような話になってしまいます。
これは元々の切り張りの仕組みとは全く別物で、このためにUTAUの内部がかなり複雑化してしまうことは避けられません。そうなると不安定になり、調整や不具合つぶしでかなり時間がかかってしまうことが予想されます。この時間にはリリース後、安定版が出るまでの時間も含みます。
勿論、今、動いている開発作業はその分遅れます。
本来の「歌声を合成する」という目的に、(プログラム的に)必ずしも必要でない機能のために、これだけのリスクを払う価値があるかどうかは考えてみる必要があると思いますが、いかがなものでしょう?
言い方を変えますと、
「同期再生の仕組みあっての自動スクロール」なので、外部シーケンサの助けなしにこれをやろうとすると内部に「簡易シーケンサ」を組み込むような話になってしまいます。
これは元々の切り張りの仕組みとは全く別物で、このためにUTAUの内部がかなり複雑化してしまうことは避けられません。そうなると不安定になり、調整や不具合つぶしでかなり時間がかかってしまうことが予想されます。この時間にはリリース後、安定版が出るまでの時間も含みます。
勿論、今、動いている開発作業はその分遅れます。
本来の「歌声を合成する」という目的に、(プログラム的に)必ずしも必要でない機能のために、これだけのリスクを払う価値があるかどうかは考えてみる必要があると思いますが、いかがなものでしょう?
2009-05-24 日 15:23:58 |
URL |
あめや
[編集]
>kirkさん
内部的には「各音ばらばらにリアルタイム再生」という仕組みなので、
先行する音をいくら多くしても負荷は余り変わりません。
いやむしろ負荷が多くなるんですが…。
とするとここは、切り張り方式とのハイブリッドでしょうね。
短い音符が続いたら、その部分は「切り張り」して一つにしてしまうとか。
ただ、その条件をどうするかだとか、まだまだ、研究課題はたくさんありそうですが。
内部的には「各音ばらばらにリアルタイム再生」という仕組みなので、
先行する音をいくら多くしても負荷は余り変わりません。
いやむしろ負荷が多くなるんですが…。
とするとここは、切り張り方式とのハイブリッドでしょうね。
短い音符が続いたら、その部分は「切り張り」して一つにしてしまうとか。
ただ、その条件をどうするかだとか、まだまだ、研究課題はたくさんありそうですが。
2009-05-24 日 15:48:56 |
URL |
あめや
[編集]
>飴屋様
了解いたしました。
勿論本来の「歌声を合成する」という目的が一番重要だと思っていますので、UTAU進化の最終段階の時に実現される事を楽しみにしたいと思います。
了解いたしました。
勿論本来の「歌声を合成する」という目的が一番重要だと思っていますので、UTAU進化の最終段階の時に実現される事を楽しみにしたいと思います。
う~ん、確かに困難ですね…。
単純に、1~n小節毎にDTMからタイミングをもらって、それでページ
スクロール的な動作が出来るだけでも、喜ばれるかもしれません。
むしろその方が、調整のカーブをじっくり見る事が出来て、好都合かも…。
勿論、これは個人的な妄想ですから、私もこれは最後の懸案で良いと
思います。
試験実装とはいえ、未来の"UTAU"の可能性の一端を拝見できて
喜んでおります。次はどんな実験・新機能で私たちを驚かして下さ
るのか、実に楽しみです。
開発、頑張って下さいませ!
単純に、1~n小節毎にDTMからタイミングをもらって、それでページ
スクロール的な動作が出来るだけでも、喜ばれるかもしれません。
むしろその方が、調整のカーブをじっくり見る事が出来て、好都合かも…。
勿論、これは個人的な妄想ですから、私もこれは最後の懸案で良いと
思います。
試験実装とはいえ、未来の"UTAU"の可能性の一端を拝見できて
喜んでおります。次はどんな実験・新機能で私たちを驚かして下さ
るのか、実に楽しみです。
開発、頑張って下さいませ!
2009-05-24 日 23:37:16 |
URL |
Kirk
[編集]
報告です。
UTAU0.2.41のmode2にて、長さ1120以上の音符にビブラートを「長さ92、深さ35、周期180ms、入0出20、位相高さ0にした場合、最大とその次の倍率、ひとつとんで次の倍率、最小倍率と一つとんで次の倍率で「0で除算しました」と出て、その音からは歌詞が、以降の音符は消滅します。
テンポは116、音源はデフォ子でもモモでも出ます。
そのまま倍率を変えれば戻ってきます。
UTAU0.2.41のmode2にて、長さ1120以上の音符にビブラートを「長さ92、深さ35、周期180ms、入0出20、位相高さ0にした場合、最大とその次の倍率、ひとつとんで次の倍率、最小倍率と一つとんで次の倍率で「0で除算しました」と出て、その音からは歌詞が、以降の音符は消滅します。
テンポは116、音源はデフォ子でもモモでも出ます。
そのまま倍率を変えれば戻ってきます。
2009-05-26 火 20:17:44 |
URL |
yuka
[編集]
蒸し返すようですが、やっぱりこの機能、VSTiになるといいなぁ。
うち、MIDIのソフトウェア音源をVSTHOST(もしくはREAPER)->ASIO4ALL経由で鳴らしてるんです。
UATUを含め、通常のサウンドドライバ経由でのWAVE出力とは共存できないという罠(T_T)
VSTiでREAPERに組み込めれば、DOMINO->REAPER->ASIO というコンビネーションで使えるかなぁと。そうすれば多少はレイテンシも改善されないかなぁ、とか思ったり。
なんちゃってASIOなんか使うな!という突っ込みはご容赦を(><)
うち、MIDIのソフトウェア音源をVSTHOST(もしくはREAPER)->ASIO4ALL経由で鳴らしてるんです。
UATUを含め、通常のサウンドドライバ経由でのWAVE出力とは共存できないという罠(T_T)
VSTiでREAPERに組み込めれば、DOMINO->REAPER->ASIO というコンビネーションで使えるかなぁと。そうすれば多少はレイテンシも改善されないかなぁ、とか思ったり。
なんちゃってASIOなんか使うな!という突っ込みはご容赦を(><)
2009-05-28 木 05:35:20 |
URL |
鈴貴六俵
[編集]
あらかじめUTAUのキャッシュが生成されてる事が条件って事なら思ったより現実的なのかな?
以前のVSTi化の話の時はリアルタイムにレンダリングする仕組みで遅かったワケだし。
これが出来れば、UTAUエディタでキャッシュの生成までやって(再生はASIOとカチ合うので無理)REAPER->ASIO っていけそうな気がする~。
有ると思います?
以前のVSTi化の話の時はリアルタイムにレンダリングする仕組みで遅かったワケだし。
これが出来れば、UTAUエディタでキャッシュの生成までやって(再生はASIOとカチ合うので無理)REAPER->ASIO っていけそうな気がする~。
有ると思います?
2009-05-28 木 05:50:14 |
URL |
鈴貴六俵
[編集]
このコメントは管理人のみ閲覧できます
2009-05-30 土 03:08:56 |
|
[編集]
△ PAGE UP