GSバンクセレクトの謎
私は現在、Roland SC−88Pro
という音源を使っています。
ハチプロの普及率は現在どのくらいなんでしょうねぇ・・・アクティブに活動している人では50%以上になっているような気がするのですが?
私の曲で一部CHをハチプロマップで指定した曲が、SC−88系のユーザーから音が鳴らないと言う連絡を受けました。また、あるSC−88系のユーザーからは、ピアノで音が鳴ったとも連絡を受けました。良い機会なのでいろいろと調べてみました。
Winにおいては、「TMIDI」、MACでは、「マック郎」というMIDI再生プレーヤーのエミュレーション機能を使えば代理発音をしてくれるようですが、エミュレーション機能のないプレーヤーで再生されている方には、面倒な作業をして代理発音しなければ曲を聴くことが出来なかったようで、大変申し訳なく思っています。
というのも、対応音源を「SC−88Pro」「SC−88系」としてしまったからです。
音源マップが違えば、ピッチやNRPNのかかり具合も変わり、音量等も随分と変わってしまうパッチもあります。2つの音源を設定することは本来難しいことだと思います。汎用性を考えて音源は指定せずGMレベルで曲を作っても、音源によって再生差があまりにもあるのは周知の事実です。
そこで、SC−88Proでバンクセレクトしたデータを、88系の音源で聴くとどうなるか?
今回は、SC−88系のユーザーが「音が鳴らない」または「ピアノで鳴る」ということに、ちょっと突っ込んでみました。(^_^;
SC−8850も出たことだし、GS音源もかなり複雑になりましたよね。。私は現在の自分のデータを未知の音源で鳴らされることにはやはり少し不安があります。
GS音源に「GMシステムオン」を送出すると、Rx,BANK SELECT=OFF となり、バンクセレクトを受信しません。また、GS音源に「GSリセット」を送出すれば、自動的にRx,BANK
SELECT=ON となり、バンクセレクトを受信するようになります。
音色バンクの設定の仕方には2つの方法がありますよね。
GS音源の音色のコントロールNo,0、コントロールNo,32についてですが。。。
MIDIのバンクナンバーには上位部分(Bank MSB)と下位部分(Bank
LSB)があって、それぞれ0〜127の値を取ることができるので、128×128=16384のバンクを指定することが出来ます。(128も音源はありませんが・・)
例えばプログラムナンバー「30」の「Overdrive Gt.」ひとつをとっても、、
●コントロールNo,0 | (Bank MSB) | →バンクセレクト上位(バリエーション音色) |
●コントロールNo,32 | (Bank LSB) | →バンクセレクト下位(GS機種選択) |
とあるわけで、SC−88Pro の機種番号は「3」ですよね。。
ハチプロマップで指定(BankLSB=3)してしまうと、それ未満の音源、例えば、SC−88(無印)、SC−88VL、SC−88ST、VSC−88等で再生する場合は、音が出ないのだろうか?
そうなればこれから SC−8850 等が出てくれば、例えば(BankLSB=4?)で指定してしまうとハチプロでは果たしてどうなるのか?
今回は良い機会なので、各音源のユーザーの協力を得て、いろいろと実験してみました。
答えは、機種によってどうやら仕様が違うらしいのです。。。
まず、ここで音源機種バンクの設定の仕方の方法を整理しておきましょう。
GS音源の設定は、次のような順番で記述します。
↓ | BankMSB | コントロールNo,0 |
↓ | BankLSB | コントロールNo,32 |
↓ | Program NO, | 音色のナンバー |
現状のところ、
コントロールNo,32 | GS機種 | 例 |
0 | GS音源デフォルト(その機種の音色で鳴る) | Roland SCシリーズ、XPシリーズ、JVシリーズ、その他、 等を含む全てのGS音源 |
1 | SC−55系 | SC-55(無印)、SC-55MkII |
2 | SC−88系 | SC-88(無印)、SC-88VL、SC-88ST |
3 | SC−88Pro系 | SC-88Pro(無印)、SC-88STPro、SK-88Pro、SC-88Pro(G)、SC-88STPro(G) |
4? | SCー8850系? | ←誰か確認してください。m(_ _)m |
以下はSMFの専門書を何冊も立ち読みして分かったことですが(笑)、、SMFの基準が最近変わったと書いてありました。。
次のように書いてあります。
以前はコントロールNO,32(BankLSB)は設定する必要はなかったが、最近は必ず設定しなければならないと言うことです。
(BankLSB は、「0」でもいいから必ず設定するようにとのこと)
新しいMIDI機器は、BankLSB を要求してくるそうです。(具体的に機種が書いてなかったので、時期もわからないのですが、、m(_
_)m)
以前は、BankMSB を受信すると強制的に LSB=0 も送っていたようです。そこからさらにユーザーが送った
LSB を受信するということです。
現在は LSB を送信しないと以前使っていた音色の LSB がそのまま残されるようです。
(当然GSリセットを送信すればクリアされますが・・)
さらにこの
↓ | BankMSB |
↓ | BankLSB |
↓ | Program No, |
は、必ずこの順番で 5/480 以上の間隔をあけて、続けて記述すること、となっていました。
(TBを変えると、変換したときにデータが狂うので、実際には 10/480 の間隔をあけた方がよいかも知れません。)
また、MIDIの専門書によると、問題の BankLSB が機種の音色になかった場合、、
(または BankMSB が無かった場合・・)
1・音が鳴らない
2・近似音色で鳴る
3・以前使っていた音色で鳴る。(GSリセットされた場合には Piano1 で鳴る)
の場合がある。。。と書いてありました。
どの場合そうなるとは書いていなかったので、詳しくは分かりません。
(特にGS音源とは書いてはなかったです・・)
さて、問題の結果ですが、、
SC-88Pro の BankLSB は「3」ですが、このコマンドを受信したSC-88系の動作として、、
SC-88(無印) | →音が出ない。 |
SC-88VL | →以前使っていた音色で鳴る。(GSリセットされていれば、Piano1 で鳴る。) |
SC-88ST | →SC-88VLに同じ。 |
VSC-88(ソフトウェア音源) | →全てVSC-88の音色で鳴る。 |
ということになるようです。
実験をしていただいたユーザーは、
SC-88(無印)2名
SC-88VL 2名
SC-88ST 2名
です。
ご協力有り難うございました。m(_ _)m
ただ、SC-88(無印)は、発売時期によって使われているROMが違っているらしいので、全ての無印88ユーザーがこうであるかはまだ分かりません。
なお、XG音源については、代理発音はOKということなので、実験してみるとやはり最後に設定した音色で鳴るようです。(MU-50
で実験)
ちなみに、私の持っているシンセRoland XP-10 ではキャピタル落ちしません。
(基本的に SC-55 と音色、その他、ほぼ同等の仕様のようです。)
さて、音色機種バンクの下位互換をは図るために、音色2回設定という方法があります。
一度全て88マップで設定し(BankLSB=2)、続けてハチプロマップで指定(BankLSB=3)し直す方式です。
例えば、、、
↓ | BankMSB | 16 | . |
↓ | BankLSB | 2 | . |
↓ | Program No, | 56 | Lo Fi Rave |
↓ | BankMSB | 23 | . |
↓ | BankLSB | 3 | . |
↓ | Program No, | 56 | Rave Hit |
この順番で記述すると、SC-88VL、SC-88ST のユーザーについては、「Lo
Fi Rave」が選択され、意図通り88マップで鳴ることになります。
(SC-88Pro の BankLSB は「3」ですが、このコマンドを受信したSC-88系の動作として、「以前使っていた音色で鳴る」という法則があるからです。←つまり影響を受けないと言うことですね。(^_^;)
しかしながら、音色の互換を図るために、2回音色バンクを設定しても、SC-88(無印)ユーザーには音色2回設定は無意味で関係ないということですね。(BankLSBが3以上だと、音が鳴らなくなってしまうからです。)
これはSMFの問題と言うより、GSの問題のようですね。(^^;
GS規格が出始めた頃、無印55の頃は、将来こういうことが起こらないようにと、代理発音機能があったようですが、SC-55MkII
が出たときに廃止されたようです。
「代理発音するよりは、音が出ないほうが親切である。」と、Roland の担当者が以前雑誌等で明言していたようです。(大切なレコーディング等で使う際にもも、すぐに気がつくようにということらしいです。)
しかし、「音が出ない」のと「以前使っていた音色で鳴る」というのも随分違うと思うのですが、、、
新しいGS音源、SC-8850 ではどうなっているのでしょうか?情報をお持ちしています。m(_
_)m
ちなみにSC-88Pro で、指定にないBankLSB「4」を設定するとどうなるか?、、は次のようになります。
GSリセット | . | . |
BankMSB | 0 | . |
BankLSB | 4 | . |
Program | 19 | Organ3 |
この場合、音色設定の3行?がまるまる無視されるみたいです。
つまり無指定?=ピアノ音で鳴りました。(GSリセットした場合)
(GM音源では最初の2行だけが無視されて Organ3 で音が出るようです。)
また音色の2回設定ですが・・
GSリセット | . | . |
BankMSB | 0 | . |
BankLSB | 3 | . |
Program | 19 | Organ3 |
BankMSB | 0 | . |
BankLSB | 4 | . |
Program | 89 | Fantasia |
とすると、LSB=4 の Fantasia は無視(無指定?)され、音色は Organ3 のままです。
逆に
GSリセット | . | . |
BankMSB | 0 | . |
BankLSB | 4 | . |
Program | 19 | Organ3 |
BankMSB | 0 | . |
BankLSB | 3 | . |
Program | 89 | Fantasia |
とすると、今度は Organ3 が無視され、Fantasia が鳴りました。
またもうひとつ問題なのが、88系でBankLSB が「2」でも、BankMSB(バリエーション音色)がマップに無いときの事なんだけど、この場合も「無音」または「Piano1」で鳴ることになるようですね。
ハチプロで実験してみると、、
GSリセット | . | . |
BankMSB | 99 | (←このバリエーションは無い。) |
BankLSB | 0 | . |
Program | 19 | Organ3 |
これは、Piano1 で鳴ります。
GSリセット | . | . |
BankMSB | 99 | (←このバリエーションは無い。) |
BankLSB | 3 | . |
Program | 19 | Organ3 |
これもPiano1 で鳴ります。
GSリセット | . | . |
BankMSB | 0 | . |
BankLSB | 2 | . |
Program | 19 | Organ3 |
BankMSB | 99 | (←このバリエーションは無い。) |
BankLSB | 1 | . |
Program | 89 | Fantasia |
とやっても、88map で Organ3 が鳴ることを考えると、やはり MSB と LSB はセットで動いているのかも知れません。(この順番は重要ですね。)
GSリセット | . | . |
BankMSB | 99 | (←このバリエーションは無い。) |
BankLSB | 2 | . |
Program | 19 | Organ3 |
BankMSB | 0 | . |
BankLSB | 1 | . |
Program | 89 | Fantasia |
これは、55map の Fantasia で鳴ります。
いろいろと実験してきましたが、まだ分からない点、もしかしたら間違っている点ももあるかと思います。
もしこれを読んで、それは違う、またこの音源の場合はこうだ!、、、また感想等がございましたらご意見お待ちしております。m(_
_)m
SMFという基準は難しいものです。一緒に勉強していきましょう。(^^)