Roland SC-8850(GS汎用)関数セット "SC-8850.h" ver.1.0

Roland SCシリーズのエクスクルーシブを簡単に送信する為の関数セットです。 全ての情報はエクスクルーシブによって送信されます。
コントロールチェンジによる送信には対応していません。コントロールチェンジによるデータ送信は、"GM2CC.h"(作成中)を使用してください。

対象音源はRoland SCシリーズ全てです。ただし、SC-55系では使えるエクスクルーシブが極端に減りますのでSC-88以上での使用を推奨します。

なお、ソフトウェアシンセサイザー VSCシリーズは互換性にかなり難があるので一切サポート致しません。
また、Microsoft GS Wavetable SW Synthは、GSとは名ばかりのGM音源なので動作しません。

現時点ではパラメータ値の解説などは記載しておりませんので、マニュアル片手に使うことになります。
まぁ、ある程度使い込めば体で覚えるはずですから大丈夫でしょう。

関数名はMIDIインプリメンテーションに記載されている名称をそのまま使っていますので、参照しやすいかと思います。
ちょっと長ったらしい関数名の物もありますが、サクラのエディターから挿入することを前提にしているので問題ないでしょう。
ただし、全ての関数名の先頭に「GS_」が追加されています。これは同じ関数名が拙作のMU1000.hに存在するので区別の為です。

※重要※
当関数セットを使用する際には汎用関数セット"4neria.h"をインクルードする必要があります。
使用される際には下記の2行をMMLの出来る限り先頭(タイトル情報の後など)に記述してください。

Include(4neria.h);
Include(SC-8850.h);

▼対応音源

SC-8850、SC-8820、SC-D70、SC-88Pro、SK-88Pro、SC-88ST Pro、SC-880
SC-88、SC-88VL、SC-88ST、M-GS64、SC-55、SC-55mkII、SC-55ST、SC-33、SC-155

▼非対応エクスクルーシブ

・ディスプレイパラメータに関わるエクスクルーシブ
・ユーザーパッチに関わるエクスクルーシブ
・ユーザーエフェクトに関わるエクスクルーシブ

上記のエクスクルーシブに関しては今後も対応予定はありません。

▼音源とエクスクルーシブの対応状況

SC-88Pro以降であればポート数の設定さえ行えば(後述)、実装されている関数は全て動作します。
SC-88以下ではEFXに関わるエクスクルーシブは動作しません。SC-55系は使えないエクスクルーシブばかりです。

SC-88Pro系以外で使用される方は、SC-8850.hファイル内の下記の行を書き換えて使ってください。エラーチェックが少しだけ強化されます。

先ずは25行目の「Int PortNumberGS_MAX = 2;」で、使用される音源のポート数を記述してください。
各音源のポート数は、25行目の上にコメントで書いてあります。

また、デバイスナンバーを変更されている方は12行目を変更してください。

▼実装しているエクスクルーシブ関数一覧

マスターパート

GS_SYSTEM_MODE_SET()
SC-88以降のモードセットをします。この関数ではMODE-1、シングルモジュールモードで使用することを前提にしています。
パラメータ値はありません。値は0が自動的に送信されます。

GS_CHANNEL_MSG_RX_PORT(Port,Channel,n) Port:1-4 Channel:1-16 n:0-3
各チャンネルの受信ポートを設定します。Portで設定を変えるポートを指定します。値は1からPortNumberGS_MAXで設定した値までです。
Channelで設定を変えるチャンネルを指定します。値は1〜16までです。
nで目的のポート&チャンネルの受信ポートをどれに変更するか指定します。値は0-3までで、PortA-Dに対応します。
(PortC-Dが使えるのはSC-8850だけです。それ以外の機種では0-1の範囲に留めてください。エラーチェックは行っていません。)

GS_MASTER_TUNE(a,b,c,d)
マスターチューンを設定します。

GS_MASTER_VOLUME(n) n:0-127
マスターヴォリュームを設定します。

GS_MASTER_KEY_SHIFT(n) n:$28〜$40〜$58 (-24〜0〜+24)
マスターキーシフトを設定します。

GS_MASTER_PAN(n) n:$01〜$00〜$7F (L63〜CENTER〜R63)
マスターパンを設定します。

GS_MODE_SET()
所謂、GSリセットです。パラメータ値はありません。

リバーブ

GS_REVERB_MACRO(n) n:0-7
リバーブマクロを設定します。

GS_REVERB_CHARACTER(n) n:0-7
リバーブキャラクターを設定します。

GS_REVERB_PRE_LPF(n) n:0-7
リバーブPRE LPFを設定します。

GS_REVERB_LEVEL(n) n:0-127
リバーブレベルを設定します。

GS_REVERB_TIME(n) n:0-127
リバーブタイムを設定します。

GS_REVERB_DELAY_FEEDBACK(n) n:0-127
ディレイフィードバックを設定します。

GS_REVERB_PREDELAY_TIME(n) n:0-127
ディレイタイムを設定します。

コーラス

GS_CHORUS_MACRO(n) n:0-7
コーラスマクロを設定します。

GS_CHORUS_PRE_LPF(n) n:0-7
コーラスPRE LPFを設定します。

GS_CHORUS_LEVEL(n) n:0-127
コーラスレベルを設定します。

GS_CHORUS_FEEDBACK(n) n:0-127
コーラスフィードバックを設定します。

GS_CHORUS_DELAY(n) n:0-127
コーラスディレイを設定します。

GS_CHORUS_RATE(n) n:0-127
コーラスの周期を設定します。

GS_CHORUS_DEPTH(n) n:0-127
コーラスの深さを設定します。

GS_CHORUS_SEND_LEVEL_TO_REVERB(n) n:0-127
コーラスからリバーブへの送り値を設定します。

GS_CHORUS_SEND_LEVEL_TO_DELAY(n) n:0-127
コーラスからディレイへの送り値を設定します。

ディレイ

GS_DELAY_MACRO(n) n:0-9
ディレイマクロを設定します。

GS_DELAY_PRE_LPF(n) n:0-7
ディレイPRE LPFを設定します。

GS_DELAY_TIME_CENTER(n) n:$01-$73
中央のディレイタイムを設定します。

GS_DELAY_TIME_RAITO_LEFT(n) n:$01-$78
左のディレイタイムの中央に対する割合を設定します。

GS_DELAY_TIME_RAITO_RIGHT(n) n:$01-$78
右のディレイタイムの中央に対する割合を設定します。

GS_DELAY_LEVEL_CENTER(n) n:0-127
中央のディレイレベルを設定します。

GS_DELAY_LEVEL_LEFT(n) n:0-127
左のディレイレベルを設定します。

GS_DELAY_LEVEL_RIGHT(n) n:0-127
右のディレイレベルを設定します。

GS_DELAY_LEVEL(n) n:0-127
ディレイレベルを設定します。

GS_DELAY_FEEDBACK(n) n:$00〜$40〜$7F (-64〜0〜+64)
ディレイフィードバックを設定します。

GS_DELAY_SEND_LEVEL_TO_REVERB(n) n:0-127
ディレイからリバーブへの送り値を設定します。

EQ

GS_EQ_LOW_FREQ(n) n:0-1 (200Hz/400Hz)
EQ LOWの周波数を設定します。

GS_EQ_LOW_GAIN(n) n:$34〜$40〜$4C (-12〜0〜+12[dB])
EQ LOWのゲインを設定します。

GS_EQ_HIGH_FREQ(n) n:0-1 (3KHz/6KHz)
EQ HIGHの周波数を設定します。

GS_EQ_HIGH_GAIN(n) n:$34〜$40〜$4C (-12〜0〜+12[dB])
EQ HIGHのゲインを設定します。

EFX

GS_EFX_TYPE(a,b)
EFXタイプを設定します。

GS_EFX_PARAMETER(lsb,n) lsb:$03-$16 n:$00-$7F
EFXパラメータを設定します。lsb実際のアドレスのLSBを指定します。
SC-88Proのマニュアルにはパラメータ番号でなく、アドレスのLSBが直接書いてありますのでこの方式になっています。
GS_EFX_SEND_LEVEL_TO_REVERB(n) n:0-127
EFXからリバーブへの送り値を設定します。

GS_EFX_SEND_LEVEL_TO_CHORUS(n) n:0-127
EFXからコーラスへの送り値を設定します。

GS_EFX_SEND_LEVEL_TO_DELAY(n) n:0-127
EFXからディレイへの送り値を設定します。

GS_EFX_COTROL_SOURCE1(n) n:$00-$7F (OFF,CC1-95,CAf,BEND)
EFXをコントロールするソースを設定します。

GS_EFX_COTROL_DEPTH1(n) n:$00〜$40〜$7F (-100〜0〜+100[%])
EFXをコントロールする深さを設定します。

GS_EFX_COTROL_SOURCE2(n) n:$00-$7F (OFF,CC1-95,CAf,BEND)
EFXをコントロールするソースを設定します。

GS_EFX_COTROL_DEPTH2(n) n:$00〜$40〜$7F (-100〜0〜+100[%])
EFXをコントロールする深さを設定します。

GS_EFX_SEND_EQ_SWITCH(n) n:0-1 (OFF/ON)
EFXからEQへ送るか否かの設定をします。

パート

パート情報に関するエクスクルーシブは送信先チャンネルとポートを指定する事ができます。
デフォルトでは関数が呼び出されたトラックのチャンネル、ポートを自動的に読みとって送信先を取得します。
これらを変更するには、下記の変数を変更します(これらの変数はSC-8850.h内で定義済みです)

> PortNumberGS
> ChannelNumberGS

ポートを変更するにはPortNumberGSの値を変更します。"0"で自動取得になります。"1"以降でポート1以降を指定できます。
サクラのPort()命令は"0"から定義できますが、"0"でポート1に対応する事に注意してください。以後も1つずつズレます。
チャンネルを変更するにはChannelNumberGSの値を変更します。"0"で自動取得になります。"1〜16"でチャンネル1-16に対応します。

> Track(1) Channel(1) Port(0)
> GS_PART_LEVEL(2);
 この場合、GS_PART_LEVELはポート1のチャンネル1に送信されます(デフォルト状態)

> Track(1) Channel(1) Port(0)
> PortNumberGS = 2; ChannelNumberGS = 3;
> GS_PART_LEVEL(2);
 この場合、GS_PART_LEVELはポート2のチャンネル3に送信されます。

PortNumberGSChannelNumberGSの値を変更した時は、必要がなくなったら"0"の自動取得に戻す事を忘れないでください。
忘れると以後のエクスクルーシブはずっとそのポートとチャンネルに送信されてしまいます。

※上記の変数とGS_RX_CHANNNELGS_CHANNEL_MSG_RX_PORTを活用することで、1ポートだけで複数のポート/チャンネルを操ることができます。


GS_TONE_NUMBER(a,b) a,b:0-127
プログラムチェンジを行います。aで音色マップのMSBを、bでプログラムナンバーを指定します。

GS_RX_CHANNNEL(n) n:$00-$10 (1-16,OFF)
受信するチャンネルを変更します。

GS_RX_PITCH_BEND(n) n:0-1 (OFF/ON)
ピッチベンドを受信するか否かの設定をします。

GS_RX_CH_PRESSURE(n) n:0-1 (OFF/ON)
チャンネルアフタータッチを受信するか否かの設定をします。

GS_RX_PROGRAM_CHANGE(n) n:0-1 (OFF/ON)
プログラムチェンジを受信するか否かの設定をします。

GS_RX_CONTROL_CHANGE(n) n:0-1 (OFF/ON)
コントロールチェンジを受信するか否かの設定をします。

GS_RX_POLY_PRESSURE(n) n:0-1 (OFF/ON)
ポリフォニックアフタータッチを受信するか否かの設定をします。

GS_RX_NOTE_MESSAGE(n) n:0-1 (OFF/ON)
ノートオンとノートオフを受信するか否かの設定をします。

GS_RX_RPN(n) n:0-1 (OFF/ON)
RPNを受信するか否かの設定をします。

GS_RX_NRPN(n) n:0-1 (OFF/ON)
NRPNを受信するか否かの設定をします。

GS_RX_MODULATION(n) n:0-1 (OFF/ON)
モジュレーションを受信するか否かの設定をします。

GS_RX_VOLUME(n) n:0-1 (OFF/ON)
ヴォリュームを受信するか否かの設定をします。

GS_RX_PANPOT(n) n:0-1 (OFF/ON)
パンポットを受信するか否かの設定をします。

GS_RX_EXPRESSION(n) n:0-1 (OFF/ON)
エクスプレッションを受信するか否かの設定をします。

GS_RX_HOLD1(n) n:0-1 (OFF/ON)
HOLD1を受信するか否かの設定をします。

GS_RX_PORTAMENTO(n) n:0-1 (OFF/ON)
ポルタメントを受信するか否かの設定をします。

GS_RX_SOSTENUTO(n) n:0-1 (OFF/ON)
ソステヌートを受信するか否かの設定をします。

GS_RX_SOFT(n) n:0-1 (OFF/ON)
ソフトを受信するか否かの設定をします。

GS_MONO_POLY_MODE(n) n:0-1 (MONO/POLY)
MONOモード、POLYモードの設定をします。

GS_ASSIGN_MODE(n) n:0-2 (SINGLE/LIMITED-MULTI/FULL-MULTI)
アサインモードを設定します。

GS_USE_FOR_RHYTHM_PART(n) n:0-2 (OFF/MAP1/MAP2)
ドラムパートに変更するか否かの設定を行います。

GS_PITCH_KEY_SHIFT(n) n:$28〜$40〜$58 (-24〜0〜+24)
ピッチキーシフトを設定します。

GS_PITCH_OFFSET_FINE(n) n:$08〜$40〜$F8 (-12.0〜0〜+12.0[Hz])
ピッチオフセットファインを設定します。

GS_PART_LEVEL(n) n:0-127
ヴォリュームを設定します。

GS_VELOCITY_SENSE_DEPTH(n) n:0-127
ヴェロシティセンスデプスを設定します。

GS_VELOCITY_SENSE_OFFSET(n) n:0-127
ヴェロシティセンスオフセットを設定します。

GS_PART_PANPOT(n) n:$00〜$40〜$7F (RND/L63〜CENTER〜R63)
パンを設定します。

GS_KEYBOARD_RANGE_LOW(n) n:$00-$7F (C-1〜G9)
発音する下限を設定します。

GS_KEYBOARD_RANGE_HIGH(n) n:$00-$7F (C-1〜G9)
発音する上限を設定します。

GS_CC1_CONTROLLER_NUMBER(n) n:0-95
アサイナブルコントローラ1の設定をします。

GS_CC2_CONTROLLER_NUMBER(n) n:0-95
アサイナブルコントローラ2の設定をします。

GS_CHORUS_SEND_LEVEL(n) n:0-127
コーラスへの送り値を設定します。

GS_REVERB_SEND_LEVEL(n) n:0-127
リバーブへの送り値を設定します。

GS_RX_BANK_SELECT(n) n:0-1 (OFF/ON)
バンクセレクト(MSB)を受信するか否かの設定をします。

GS_RX_BANK_SELECT_LSB(n) n:0-1 (OFF/ON)
バンクセレクト(LSB)を受信するか否かの設定をします。

GS_PITCH_FINE_TUNE(a,b)
ピッチファインチューンの設定をします。

GS_DELAY_SEND_LEVEL(n) n:0-127
ディレイへの送り値を設定します。

GS_VIBRATO_RATE(n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートの周期を設定します。

GS_VIBRATO_DEPTH(n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートの深さを設定します。

GS_TVF_CUTOFF_FREQ(n) n:$00〜$40〜$7F (-64〜0〜+63)
カットオフ周波数を設定します。

GS_TVF_RESONANCE(n) n:$00〜$40〜$7F (-64〜0〜+63)
レゾナンスの設定をします。

GS_TVF_TVA_ENV_ATTACK(n) n:$00〜$40〜$7F (-64〜0〜+63)
アタックタイムの設定をします。

GS_TVF_TVA_ENV_DECAY(n) n:$00〜$40〜$7F (-64〜0〜+63)
ディケイタイムの設定をします。

GS_TVF_TVA_ENV_RELEASE(n) n:$00〜$40〜$7F (-64〜0〜+63)
リリースタイムの設定をします。

GS_VIBRATO_DELAY(n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートのディレイを設定します。

GS_SCALE_TUNING(a1,a2,a3……a12) an:$00-$7F
スケールチューニングを設定します。値はc〜bまで12個必須です。

GS_MOD_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
モジュレーションによるピッチコントロールを設定します。

GS_MOD_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
モジュレーションによるカットオフコントロールを設定します。

GS_MOD_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
モジュレーションによるアンプリチュードコントロールを設定します。

GS_MOD_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
モジュレーションによるLFO1の周期を設定します。

GS_MOD_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
モジュレーションによるLFO1のピッチに変化を与える深さを設定します。

GS_MOD_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
モジュレーションによるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_MOD_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
モジュレーションによるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_MOD_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
モジュレーションによるLFO2の周期を設定します。

GS_MOD_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
モジュレーションによるLFO2のピッチに変化を与える深さを設定します。

GS_MOD_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
モジュレーションによるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_MOD_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
モジュレーションによるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_BEND_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
ピッチベンドによるピッチコントロールを設定します。

GS_BEND_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
ピッチベンドによるカットオフコントロールを設定します。

GS_BEND_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
ピッチベンドによるアンプリチュードコントロールを設定します。

GS_BEND_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
ピッチベンドによるLFO1の周期を設定します。

GS_BEND_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
ピッチベンドによるLFO1のピッチに変化を与える深さを設定します。

GS_BEND_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
ピッチベンドによるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_BEND_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
ピッチベンドによるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_BEND_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
ピッチベンドによるLFO2の周期を設定します。

GS_BEND_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
ピッチベンドによるLFO2のピッチに変化を与える深さを設定します。

GS_BEND_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
ピッチベンドによるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_BEND_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
ピッチベンドによるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_CAF_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
チャンネルアフタータッチによるピッチコントロールを設定します。

GS_CAF_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
チャンネルアフタータッチによるカットオフコントロールを設定します。

GS_CAF_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
チャンネルアフタータッチによるアンプリチュードコントロールを設定します。

GS_CAF_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
チャンネルアフタータッチによるLFO1の周期を設定します。

GS_CAF_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
チャンネルアフタータッチによるLFO1のピッチに変化を与える深さを設定します。

GS_CAF_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
チャンネルアフタータッチによるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_CAF_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
チャンネルアフタータッチによるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_CAF_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
チャンネルアフタータッチによるLFO2の周期を設定します。

GS_CAF_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
チャンネルアフタータッチによるLFO2のピッチに変化を与える深さを設定します。

GS_CAF_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
チャンネルアフタータッチによるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_CAF_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
チャンネルアフタータッチによるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_PAF_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
ポリフォニックアフタータッチによるピッチコントロールを設定します。

GS_PAF_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
ポリフォニックアフタータッチによるカットオフコントロールを設定します。

GS_PAF_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
ポリフォニックアフタータッチによるアンプリチュードコントロールを設定します。

GS_PAF_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
ポリフォニックアフタータッチによるLFO1の周期を設定します。

GS_PAF_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
ポリフォニックアフタータッチによるLFO1のピッチに変化を与える深さを設定します。

GS_PAF_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
ポリフォニックアフタータッチによるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_PAF_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
ポリフォニックアフタータッチによるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_PAF_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
ポリフォニックアフタータッチによるLFO2の周期を設定します。

GS_PAF_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
ポリフォニックアフタータッチによるLFO2のピッチに変化を与える深さを設定します。

GS_PAF_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
ポリフォニックアフタータッチによるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_PAF_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
ポリフォニックアフタータッチによるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_CC1_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
アサイナブルコントローラ1によるピッチコントロールを設定します。

GS_CC1_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
アサイナブルコントローラ1によるカットオフコントロールを設定します。

GS_CC1_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
アサイナブルコントローラ1によるアンプリチュードコントロールを設定します。

GS_CC1_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
アサイナブルコントローラ1によるLFO1の周期を設定します。

GS_CC1_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
アサイナブルコントローラ1によるLFO1のピッチに変化を与える深さを設定します。

GS_CC1_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
アサイナブルコントローラ1によるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_CC1_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
アサイナブルコントローラ1によるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_CC1_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
アサイナブルコントローラ1によるLFO2の周期を設定します。

GS_CC1_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
アサイナブルコントローラ1によるLFO2のピッチに変化を与える深さを設定します。

GS_CC1_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
アサイナブルコントローラ1によるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_CC1_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
アサイナブルコントローラ1によるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_CC2_PITCH_CONTROL(n) n:$28〜$40〜$58 (-24〜0〜+24)
アサイナブルコントローラ2によるピッチコントロールを設定します。

GS_CC2_TVF_CUTOFF_CONTROL(n) n:$00〜$40〜$7F (-9600〜0〜+9600[セント])
アサイナブルコントローラ2によるカットオフコントロールを設定します。

GS_CC2_AMPLITUDE_CONTROL(n) n:$00〜$40〜$7F (-100.0〜0〜+100.0[%])
アサイナブルコントローラ2によるアンプリチュードコントロールを設定します。

GS_CC2_LFO1_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
アサイナブルコントローラ2によるLFO1の周期を設定します。

GS_CC2_LFO1_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
アサイナブルコントローラ2によるLFO1のピッチに変化を与える深さを設定します。

GS_CC2_LFO1_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
アサイナブルコントローラ2によるLFO1のTVFカットオフに変化を与える深さを設定します。

GS_CC2_LFO1_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
アサイナブルコントローラ2によるLFO1のTVAアンプリチュードに変化を与える深さを設定します。

GS_CC2_LFO2_RATE_CONTROL(n) n:$00〜$40〜$7F (-10.0〜0〜+10.0[Hz])
アサイナブルコントローラ2によるLFO2の周期を設定します。

GS_CC2_LFO2_PITCH_DEPTH(n) n:$00〜$7F (0-600[セント])
アサイナブルコントローラ2によるLFO2のピッチに変化を与える深さを設定します。

GS_CC2_LFO2_TVF_DEPTH(n) n:$00〜$7F (0-2400[セント])
アサイナブルコントローラ2によるLFO2のTVFカットオフに変化を与える深さを設定します。

GS_CC2_LFO2_TVA_DEPTH(n) n:$00〜$7F (0-100.0[%])
アサイナブルコントローラ2によるLFO2のTVAアンプリチュードに変化を与える深さを設定します。

GS_TONE_MAP_NUMBER(n) n:0-4 (SELECTED/SC-55MAP/SC-88MAP/SC-88ProMAP/SC-8850MAP)
トーンマップを設定します。

GS_TONE_MAP0_NUMBER(n) n:1-4 (SC-55MAP/SC-88MAP/SC-88ProMAP/SC-8850MAP)
トーンマップが0の時のマップを設定します。

GS_EQ_ON_OFF(n) n:0-1 (OFF/ON)
EQへ通すか否かの設定をします。

GS_OUTPUT_ASSIGN(n) n:0-3 (OUTPUT1/OUTPUT2/OUTPUT2L/OUTPUT2R)
アウトプットの設定をします。

GS_PART_EFX_ASSIGN(n) n:0-1 (BYPASS/EFX)
EFXへ通すか否かの設定をします。

ドラムパート

ドラムセットに関するエクスクルーシブには共通のパラメータ"DNumber","NNumber"を設定します。
DNumberはパラメータを変更したいドラムマップのナンバーを記述します。値は1〜2の範囲です。
NNumberはパラメータを変更したいノートナンバーを記述します値の範囲は"$00-$7F"(o0c〜o8gに対応)です。
また、{}で括ってo4cなどと記述すると自動的にノートナンバーに変換します。

> GS_DRUM_LEVEL(1,{o2c},127)
> GS_DRUM_LEVEL(1,24,127)

どちらもドラムマップ1のノートナンバー24のヴォリュームを127に設定します。

※重要※
NNumberを{o4c}のような形式で指定した場合、NoteNo()関数を用いて数値に変換します。
NoteNo()関数はKeyFlagの影響などを受けますので注意して使用してください。


GS_DRUM_PLAY_NOTE_NUMBER(DNumber,NNumber,n) n:$00-$7F
ピッチコースの設定をします。

GS_DRUM_LEVEL(DNumber,NNumber,n) n:0-127
ヴォリュームの設定をします。

GS_DRUM_ASSIGN_GROUP_NUMBER(DNumber,NNumber,n) n:$00-$7F
アサイングループの設定をします。

GS_DRUM_PANPOT(DNumber,NNumber,n) n:$00〜$40〜$7F (RND/L63〜CENTER〜R63)
パンの設定をします。

GS_DRUM_REVERB_SEND_LEVEL(DNumber,NNumber,n) n:0-127
リバーブへの送り値の設定をします。

GS_DRUM_CHORUS_SEND_LEVEL(DNumber,NNumber,n) n:0-127
コーラスへの送り値の設定をします。

GS_DRUM_RX_NOTE_OFF(DNumber,NNumber,n) n:0-1 (OFF/ON)
ノートオフを受信するか否かの設定をします。

GS_DRUM_RX_NOTE_ON(DNumber,NNumber,n) n:0-1 (OFF/ON)
ノートオンを受信するか否かの設定をします。

GS_DRUM_DELAY_SEND_LEVEL(DNumber,NNumber,n) n:0-127
ディレイへの送り値の設定をします。

ユーザーインストゥルメント

ユーザーインストゥルメントに関するエクスクルーシブには共通のパラメータ"INumber","PNumber"を設定します。
INumberはパラメータを変更したいユーザーインストゥルメントマップのナンバーを記述します。値は1〜2の範囲です。
PNumberはパラメータを変更したいプログラムナンバーを記述します。値は0-127の範囲です。


GS_USERINST_SOURCE_TONE_BANK_LSB(INumber,PNumber,n) n:1-3
ソースとなる音色のトーンマップを設定します。

GS_USERINST_SOURCE_TONE_BANK_MSB(INumber,PNumber,n) n:0-127
ソースとなる音色のトーンバンクを設定します。

GS_USERINST_SOURCE_TONE_NUMBER(INumber,PNumber,n) n:0-127
ソースとなる音色のトーンを設定します。

GS_USERINST_VIBRATO_RATE(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートの周期を設定します。

GS_USERINST_VIBRATO_DEPTH(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートの深さを設定します。

GS_USERINST_TVF_CUTOFF_FREQ(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
カットオフ周波数を設定します。

GS_USERINST_TVF_RESONANCE(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
レゾナンスの設定をします。

GS_USERINST_TVF_TVA_ENV_ATTACK(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
アタックタイムの設定をします。

GS_USERINST_TVF_TVA_ENV_DECAY(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
ディケイタイムの設定をします。

GS_USERINST_TVF_TVA_ENV_RELEASE(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
リリースタイムの設定をします。

GS_USERINST_VIBRATO_DELAY(INumber,PNumber,n) n:$00〜$40〜$7F (-64〜0〜+63)
ヴィブラートのディレイを設定します。

ユーザードラム

ユーザードラムに関するエクスクルーシブには共通のパラメータ"DNumber","NNumber"を設定します。
DNumberはパラメータを変更したいユーザードラムマップのナンバーを記述します。値は1〜2の範囲です。
NNumberはパラメータを変更したいノートナンバーを記述します値の範囲は"$00-$7F"(o0c〜o8gに対応)です。
また、{}で括ってo4cなどと記述すると自動的にノートナンバーに変換します。

> GS_USERDRUM_LEVEL(1,{o2c},127)
> GS_USERDRUM_LEVEL(1,24,127)

どちらもユーザードラムマップ1のノートナンバー24のヴォリュームを127に設定します。

※重要※
NNumberを{o4c}のような形式で指定した場合、NoteNo()関数を用いて数値に変換します。
NoteNo()関数はKeyFlagの影響などを受けますので注意して使用してください。


GS_USERDRUM_PLAY_NOTE(DNumber,NNumber,n) n:$00-$7F
ピッチコースの設定をします。

GS_USERDRUM_LEVEL(DNumber,NNumber,n) n:0-127
ヴォリュームの設定をします。

GS_USERDRUM_ASSIGN_GROUP(DNumber,NNumber,n) n:$00-$7F
アサイングループの設定をします。

GS_USERDRUM_PAN(DNumber,NNumber,n) n:$00〜$40〜$7F (RND,L63〜CENTER〜R63)
パンの設定をします。

GS_USERDRUM_REVERB_SEND_LEVEL(DNumber,NNumber,n) n:0-127
リバーブへの送り値を設定します。

GS_USERDRUM_CHORUS_SEND_LEVEL(DNumber,NNumber,n) n:0-127
コーラスへの送り値を設定します。

GS_USERDRUM_RX_NOTE_OFF(DNumber,NNumber,n) n:0-1 (OFF/ON)
ノートオフを受信するか否かの設定をします。

GS_USERDRUM_RX_NOTE_ON(DNumber,NNumber,n) n:0-1 (OFF/ON)
ノートオンを受信するか否かの設定をします。

GS_USERDRUM_DELAY_SEND_LEVEL(DNumber,NNumber,n) n:0-127
ディレイへの送り値を設定します。

GS_USERDRUM_SOURCE_DRUM_BANK_LSB(DNumber,NNumber,n) n:1-3
ソースとなるドラムセットのトーンマップを設定します。

GS_USERDRUM_SOURCE_DRUM_TONE_NUMBER(DNumber,NNumber,n) n:0-127
ソースとなるドラムセットのトーンを設定します。

GS_USERDRUM_SOURCE_DRUM_NOTE_NUMBER(DNumber,NNumber,n) n:$00-$7F
ソースとなるドラムセットのノートナンバーを設定します。

SPECIAL THANKS

SC-8850のマニュアルを貸してくださった、Fire-Candy.comのmhintさん。

お忙しい中、どうもありがとうございましたm(__)m

サポート

当関数セットのサポートは、4neriaが行います。
バグ情報や要望などは、メールでお願いいたします(サクラの掲示板だと見落とす可能性があるかもしれません…)

なお、HTMLメールは送らないでください。メーラーの設定により表示せずに削除されます(ウィルス対策です)