Forums: おーぷんMIDIぷろじぇくとフォーラム (Thread #42622)

機能の追加要望(世界樹5.9) (2020-07-11 22:11 by とある世界樹ユーザーf #85324)

お久しぶりでございます。
世界樹にいくつか追加してほしい機能があります。
まず、MIDIてすたーについている「現在の状態を送信」ボタンです。
私は最近「loopMIDI」に接続してこれ経由で音源を鳴らしたりということをしているのですが
途中で接続先を変えたり、増やしたりしたときに世界樹のプログラムチェンジなどの状態が
新しい接続先に送られずまた最初から再生したりしなくてはいけないので面倒です。
多重経由までは考慮していないかもしれませんが検討お願いします。
もう一つはオプションか何かに、
再生する曲を変更したときにGMリセットか何かを送信する
というのをつけてほしいです。
曲を複数再生したときに(おそらく)システムエクスクルーシブメッセージ由来の、
もしくはRPN/NRPNの設定が後を引いているために?(いまいち原因がわからない、音源/PC固有の現象かもしれない、要調査)
音がおかしくなる(音が異常に低いなど)という現象がありました。
MIDIてすたー経由で各種リセットメッセージを送ると普通の状態に戻りました。
フォーラムの履歴などを見るにあまり音源依存の仕様はいれないようにするというポリシーが感じられます(勘違いかもしれませんが)
し、リセットによる弊害なども(送った情報がパーになる)ありますので、
対応してくださるかわかりませんが検討お願いします。
以上長文になりましたが検討お願い致します。

追記:二つ目の機能依頼についてです
使用音源:VirtualMIDISynth(サウンドフォント:SGM-V2.01.sf2)
この現象をみつけたファイル:nc143561.mid(ニコニコモンズのunオーエンは彼女なのか原曲のファイル)
手順:上記ファイルを再生する(4,5小節目以降まで)->別のファイルを再生する->その別ファイルの音がおかしくなっている
(->再び上記ファイルを再生すると上記ファイルの音もおかしくなっている)(再生を停止してから別ファイルに切り替えてもなる)
不可解な点:境目の4,5小節目にはノートイベント以外特にイベントがない。
以上の条件で出てきたものですので、もしかしたらこの中に原因があるのかもしれません。


Reply to #85324×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 機能の追加要望(世界樹5.9) (2020-07-12 19:44 by kuzu #85335)

このたびは長らく世界樹をご愛用いただきまして、誠にありがとうございます。

>まず、MIDIてすたーについている「現在の状態を送信」ボタンです。
>途中で接続先を変えたり、増やしたりしたときに世界樹のプログラムチェンジなどの状態が
>新しい接続先に送られずまた最初から再生したりしなくてはいけないので面倒です。

将来的には、MIDIてすたーのように手動での強制送信機能をつけることは可能です。
MIDIてすたーの「現在の状態を送信する」は、画面表示項目のみそのまま送信している
ので単純ですが(そのため表示されてない項目は送信しない)、
世界樹の場合ですと、先頭からの差分送信となりますので、
音源側が差し替えられていることまでには対応しきれないものと思われます。

>再生する曲を変更したときにGMリセットか何かを送信する
>というのをつけてほしいです。
>曲を複数再生したときに(おそらく)システムエクスクルーシブメッセージ由来の、
>もしくはRPN/NRPNの設定が後を引いているために?(いまいち原因がわからない、音源/PC固有の現象>>かもしれない、要調査)
>音がおかしくなる(音が異常に低いなど)という現象がありました。
>MIDIてすたー経由で各種リセットメッセージを送ると普通の状態に戻りました。

将来的には、楽曲の切り替え時に、GMオフ(ネイティブ)・GM1リセット・GM2リセット・
GSリセット・88リセット(システムモードセット)・XGリセット(MIDIデータ内にこれら
のイベントが含まれる場合に限る)を送信するオプションを付けることは可能です。
ただしこのオプション機能は非推奨です。
いわゆる初期化メッセージは、音源側が処理するのに0.1~0.5秒程度を要するので、
楽曲の切り替えが遅くなり、激しく楽曲を切り替える作曲作業では使い物にならない、
あるいは一度にメッセージを送りすぎて音源が処理しきれなくなるなどの弊害が大きい
と思われるからです。

なお、現時点では、楽曲の切り替え時にに更新されるものの中に、システムエクスクル
ーシヴメッセージは含まれておりません。これらは上記の理由の他に、音源固有の機能
であり、世界樹側で何のメッセージなのかを把握していないためです。

>フォーラムの履歴などを見るにあまり音源依存の仕様はいれない
>ようにするというポリシーが感じられます(勘違いかもしれませんが)

まさにその通りでございます。察していただきありがとうございます。
音源依存の仕様は、インストゥルメント定義ファイル(*.ins)にあり、
これで対応しきれない機能に関しては、なるべくつけない予定です。
(例:システムエクスクルーシヴデータの解釈が必要なものなど)

>追記:二つ目の機能依頼についてです
>使用音源:VirtualMIDISynth(サウンドフォント:SGM-V2.01.sf2)
>この現象をみつけたファイル:nc143561.mid

詳細はあとで時間のあるときに調べてみます。想定ではありますが、
→nc143561.midには先頭にGMリセットとシステムモードセット(88/88Pro)が入っている。
→システムモードセットが解釈できない音源では強制的にGMモードになり、
 GM規格以外のメッセージを無視する※2。
→システムモードセットが解釈できる音源では強制的に88/88Proモードになり、
 88/88Pro規格(GSの規格を含む)に従って動作する。
 (※注意1:nc143561はRoland SC-88Proで作られた形跡があるため、
 GS音源であっても、SC-88Proでないと正しく鳴らない音色・部分はある)
 (※注意2:どのように無視するのか、単に無視する、ピアノで出す、無音となる、
 などの仕様は、音源により異なる)
 (※注意3:GMモードとネイティブモードでは基本的に使われる音色は異なります)

わたしは、Microsoft GS Wavetable Synth(以降MSGS)で試しましたが、
まず、MSGSがシステムモードセット(88/88Pro)を認識しないので、GMモードで正常演奏され、
次に、GSリセットが入った別のMIDIデータを演奏開始し、GSモードで正常演奏され、
再び戻ると、MSGSはGSモードのままであるが、SC-88Proではないので一部音が出なく
なったという現象がおきました。このような場合、現状においては、最初から演奏して
リセット信号を一旦通過させるしかないです。

また、ユーザー側での手動強制送信は、SALのsendmidi関数を使って、強制的にGMリセットや
GSリセット等を送っていただきたいと思います。

なお、最近は会社がさらに大変忙しく、何か対応するにしても時間が無いことに関し
ましては、あらかじめご了承ください。
Reply to #85324

Reply to #85335×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 機能の追加要望(世界樹5.9) (2020-07-18 19:14 by kuzu #85376)

その後さらに考えたですが、楽曲が切り替わった際にどのリセットメッセージを送るかに関して、
nc143561.midのように、複数のリセットメッセージ(例:GMリセット→システムモードセット)
が含まれている場合、音源が最後に解釈できたものが有効になるため、
結局、先頭からすべてのシステムエクスクルーシブメッセージを送らない限り、しかも
通常のメッセージも含めて正しい順序にてすべて送らない限り、正しく演奏されないこととなり、
切り替えタイミングでこれを行うのはあまり現実的でないことがわかりました。
(現在はシステムエクスクルーシブを除く状態の差分だけを送信するようになっております)。

そのため、楽曲が切り替わった際のシステムエクスクルーシブメッセージの再送信機能は、
現時点ではつけないものとし、システムエクスクルーシブメッセージを含めて正確に演奏
するためには、最初から演奏して頂きたいと思います。

または、SALのsendmidiを使って、手動でシステムエクスクルーシブメッセージを送信をして
頂きたいと思います。単一送信のサンプルは、今度時間のあるときに作って、
SALのサイトに置いておきたいと思います。
Reply to #85324

Reply to #85376×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 機能の追加要望(世界樹5.9) (2020-07-21 20:28 by とある世界樹ユーザーf #85404)

返信遅くなりすみません。
非常に丁寧な回答ありがとうございます。

>楽曲が切り替わった際のシステムエクスクルーシブメッセージの再送信機能は、
>現時点ではつけないものとし、システムエクスクルーシブメッセージを含めて正確に演奏
>するためには、最初から演奏して頂きたいと思います。
わかりました。システムエクスクルーシブ再送信機能をつけるのは大変そうだ
ということがよくわかりましたので、そこは妥協して使わしていただきます。

>または、SALのsendmidiを使って、手動でシステムエクスクルーシブメッセージを送信をして
>頂きたいと思います。
いつかは買いたいんですけどね・・・paypalアカウント(もといクレジットカード等)がないんですよね・・・
(理由はお察しください)
(無料期間だけでも使えばいいんですけど、使わない理由もお察しください)

大変仕事が忙しいということですのでいつ次のバージョンが出るかわかりませんが
気長に待つことといたします。
回答ありがとうございました。
Reply to #85376

Reply to #85404×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login