見出し画像

MIDIがモタる話(ゲームサウンド制作よろずチャット)

目次

・MIDI楽器が処理落ちする(モタる)
・処理に優先度があるらしい
・まとめ

10日目です。
最近のゲームサウンドでMIDIデータそのものを鳴らす事は滅多にないと思いますが20年ほど前は主流でした。さてはこのチャット、おっさん(※ベテラン)だらけだな?

・MIDI楽器が処理落ちする(モタる)

A:VSTiだとファミコン実機と比べてエンベローブが滑らか過ぎるという問題(※前回記事参照)を見て、これはもしやSC-88、88Pro全盛期のMIDIデータをSoundCanvasVAで鳴らすとモタらないのでノリが違うという事になりそうだと思った。当時のすごい人達は大量のMIDIデータでSC88がモタることを前提でデータ作っていたと思う。

B:SoundCanvasの処理落ちまで再現とかか。

C:シューティングゲームみたいですねw

B:処理落ちしないと弾が避けられないやつ

D:MIDIデータ上で、ドラム・ベーストラック等モタりが目立ちやすいトラックのキーオンが先に送られるようにとかはしていました。

B:ああ、同時に送らなければ 先に鳴るのか。もしかして

・処理に優先度があるらしい

C:10chが優先高いんでしたっけ。今思うと、あれ本当なんすかね

A:処理順の話はどこまで本当かわかりませんが、実際にcc大量に送るとデータの取りこぼしとかあった気がするので10tickずつずらして送るとかやりましたね

D:Tickをずらすのを、むしろノリを引き出すのにも転用したりw
General MIDIの仕様書にも10chは優先して処理するように記述してあったと思いますが、「どう」優先していたのか、ホント謎です。

E:多分、同時発音数超えた場合の話なのかも・・・ >優先度
GM2 の場合は優先度は無くなってるんですね(※ 以下資料参照)

> 新たなノート・オンを受信した時に空きボイスがあれば,チャンネルに関わらず,そのボイスにアサインする。チャンネルによる優先順位は規定しない。 http://amei.or.jp/midistandardcommittee/Recommended_Practice/GM2_japanese.pdf

D:GM2の頃は、もう64とか128音前提だったんですかね。
あ、32音以上が要求事項でした。(2ページ目)
KONTAKT用のNES/SNES等のライブラリって、そのうちスクリプトでエンベロープ16段階モードとか付いたりして…いやもう付いてるのもありそう…。

・まとめ

おっさん達の昔話に花が咲いていますが、過去の知見はどこかで応用できたりすると信じています。あと、こういう話題からまた別の話題に移るのも面白いところです。一番最後に出てきたKONTAKT用のスクリプトなんて、僕は知らなかったので、この後それについて情報を得たり良い機会でした。

気になった方はぜひ、こちらのリンクからDiscordに参加してください。アカウント登録無しの状態では閲覧のみ可能です。発言するにはお手数ですが、Discordのアカウントを取得し、メール確認まで行ってください。よろしくお願いいたします。


この記事が気に入ったらサポートをしてみませんか?