|
Java MIDI で初音ミクのマルチトラック再生に失敗
|
|
kamide
|
|
|
No6953 Sat Mar 15 23:29:29 JST 2008
|
|
こんばんは、 昨年12月8日、こちらの掲示板に Java の MIDI で初音ミクに歌わせることに成功 ということを書いたのですが、実はこれ、単一の歌声トラックでの話しでした。
最近、歌声が2トラックの場合を試してみたのですが、 この場合 VSTi を2個起動してそれぞれに歌を送ってあげないと、 うまく歌ってくれないことがわかりました。
これを MIDI OUT だけでやろうとすると、2つの MIDI OUT に振らなければいけないのですが...Java の MIDI ではこれができないようです。MIDI メッセージを一旦送り出すと、 どのトラックから来たかを見分ける方法がないのです。これは意外な盲点でした。
参考URL(英語) http://www.jsresources.org/faq_midi.html#receiver_track
|
| るいも |
メール
|
ホームページ
|
No6957 Sun Mar 16 18:16:33 JST 2008
|
|
初音ミクを持っていないので、良く事情が飲み込めていないのですが、1つのVSTで別のMIDIトラックに送ってやってもダメなんでしょうか?
|
|
| kamide |
|
|
No6958 Sun Mar 16 19:19:41 JST 2008
|
|
イメージとしてはこういう感じです:
うまく歌えない例(VST Host の画面で VST プラグインを1個しか起動しない)
Java Sequencer で再生 → VST Host で発声 音声トラック1 →↓ 音声トラック2 →→→ VOCALOID2.dll(声を出すためのVSTi)
うまく歌える例(VST Host で VSTi を2個起動するのがポイント) ただしこれは javax.sound.midi では実現できない(トラックごとに分離できないため)
Java Sequencer で再生 → VST Host で発声 音声トラック1 →→→ VOCALOID2.dll 音声トラック2 →→→ VOCALOID2.dll
ちなみに、初音ミク(VOCALOID2)の音声ファイルは拡張子 VSQ ですが、 SMF としても読み込めます。トラックの単位も全く同じです。 音声データは Note on/off ではなく NRPN などとして入っているので 単純に普通の MIDI 音源で再生しても無音のままになります。
|
|
| るいも |
メール
|
ホームページ
|
No6959 Sun Mar 16 19:37:48 JST 2008
|
|
どうやら初音ミクは、マルチトラック再生には対応していないという事なのでしょうか。 だとすると、確かに2つ上げないと、だめなのでしょうね。
|
|