6.11.2. 発声命令の設定を行なう命令について


[表紙に戻る] [<<<<<] [>>>>>] [ひとつ上へ]


6.11.1 発声と待ち時間に関連する命令について」についての各種設定を行なう命令群です。

Oオクターブの設定を行ないます。
<>オクターブを移動します。
@<@><>”の移動量を設定します。
I移調を行ないます。
@I特定ノートの音程移動を行ないます。
UONベロシティのデフォルト値を設定します。
U*OFFベロシティのデフォルト値を設定します。
U!ポリフォニック・キープレッシャーのデフォルト値を設定します。
[]ONベロシティのデフォルト値を移動します。
@[@][]”の移動量を設定します。
LCB”“!”“R”“@W”命令の音長・ゲート値のデフォルト値を設定します。
L*C*B*”“!*”命令の音長・ゲート値のデフォルト値を設定します。
L!C!B!”“!!”命令の音長・ゲート値のデフォルト値を設定します。
QCB”“!”“L”命令のゲートのデフォルト値を設定します。
@QCB”“!”“L”“Q”命令のゲート長の算出方法を設定します。
@%音長値の表記方法を設定します。

O

書式 Oオクターブ
解説

オクターブの設定を行ないます。

オクターブ}は-1〜9を指定します。O4Aが440Hzとなります。初期値は4になっています。

参照 <>
用例 オクターブを変えながら発声します。
; 初期設定
3 @%0                   ; クロック数表記を基本
3 U64                   ; ONベロシティ64
3 U*64                  ; OFFベロシティ64
3 @Q0                   ; ゲート長はゲートそのまま
3 L24,22                ; 音長24mc, ゲート長22mc
3 O4                    ; オクターブ4
; 発声
3 O4 CDEFGAB O5C        ; ドレミファソラシドを発声

<>オクターブ移動量

書式<>
解説

オクターブを移動します。移動量は{オクターブ移動量}で指定しますが、省略時は“@<@>”命令で設定した量だけ移動します。

オクターブ移動量}による移動の方向は、@<@>命令で設定した方向となります。例えば“@<-1”のとき“<2”は「オクターブを2下げる」となります。

参照 O
@<@>
用例 オクターブを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 CDEFGAB<C>    ; ドレミファソラシドを発声

@<@>

書式@<@>>{オクターブ移動量
解説

<>”命令の移動量を設定します。“@<”は“<”の、“@>”は“>”の移動量を設定します。

オクターブ移動量}は-10〜+10を指定します。初期値は“@<”が+1、“@>”は-1になっています。“@<”でオクターブが1上がり、“@>”で1下がります。

参照 <>
用例 オクターブを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 @<+1 @>-1     ; <でオクターブ+1、>で-1
3 CDEFGAB<C>    ; ドレミファソラシドを発声
3 @<-1 @>+1     ; <でオクターブ-1、>で+1
3 CDEFGAB>C<    ; ドレミファソラシドを発声

I

書式 I音程移動量
解説

表記したノートと、実際に発音するノートの差を設定します。例えばキー変更(移調)などに使用します。

音程移動量}は-127〜+127を指定します。初期値は0になっています。 “@I”命令とは相関して動作します。

参照 @I
用例 へ長調でドレミファソラシドを発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 I0            ; 音程移動量を0にする
3 CDEFGAB<C>    ; ドレミファソラシドを発声
3 I5            ; 音程移動量を5にする
3 CDEFGAB<C>    ; ドレミファソラシドを発声

@I

書式 @ICB,音程移動量
解説

特定のノートについて、表記したノートと、実際に発音するノートの差を設定します。例えば「ヘ長調で“B”と表記して“B-”を発音させたい」ときなどに使用します。

音程移動量}は-127〜+127を指定します。初期値は各ノートとも0になっています。

I”命令とは相関して動作します。

参照 I
用例 へ長調でドレミファソラシドを発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 @IB,0         ; Bの音程移動量を0にする
3 FGAB-<CDEF>   ; へ長調でドレミファソラシドを発声
3 @IB,-1        ; Bの音程移動量を-1にする
3 FGAB<CDEF>    ; へ長調でドレミファソラシドを発声

U

書式 UONベロシティ
解説

CB”“!”命令のONベロシティを省略したときに与える値を設定します。

ONベロシティ}は、ノートオンの強さです。0〜127で絶対的な強さを、“$$-127”〜“$$+127”で最後に使用した“U”命令からの相対的な強さを指定します。初期値は64となっています。

参照 CB
!
[]
用例 ONベロシティを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 U64           ; ONベロシティ64
3 C             ; Cを発声
3 U96           ; ONベロシティ96
3 C             ; Cを発声
3 U$$-24        ; ONベロシティ72 (96-24)
3 C             ; Cを発声

U*

書式 U*OFFベロシティ
解説

CB”“!”“C*B*”“!*”命令のOFFベロシティを省略したときに与える値を設定します。

OFFベロシティ}は、ノートオフの強さです。0〜127で絶対的な強さを、“$$-127”〜“$$+127”で最後に使用した“U*”命令からの相対的な強さを指定します。初期値は64となっています。 参照:

参照 CB
!
C*B*
!*
用例 OFFベロシティを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 U*64          ; OFFベロシティ 64
3 C             ; Cを発声
3 U*96          ; OFFベロシティ 96
3 C             ; Cを発声
3 U*$$-24       ; OFFベロシティ 72 (96-24)
3 C             ; Cを発声

U!

書式 U!PKP値
解説

C!B!”“!!”命令のPKP値を省略したときに与える値を設定します。

PKP値}は、ポリフォニック・キープレッシャーの値です。0〜127で絶対的な値を、“$$-127”〜“$$+127”で最後に使用した“U!”命令からの相対的な値を指定します。初期値は64となっています。

参照 C!B!
!!
用例 ポリフォニック・キープレッシャーを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 U!64          ; PKP値 64
3 C&            ; Cを発声
3 C!$$,8        ; ポリフォニック・キープレッシャー 64
3 C!$$+16,8     ; ポリフォニック・キープレッシャー 80  (64+16)
3 C!$$+16,8     ; ポリフォニック・キープレッシャー 96  (80+16)
3 C!$$+16,24    ; ポリフォニック・キープレッシャー 112 (96+16)
3 C*0           ; Cの発声を停止

[]ベロシティ移動量

書式[]
解説

CB”“!”命令のONベロシティを省略したときに与える値を移動します。移動量は{ベロシティ移動量}で指定しますが、省略時は“@[@]”命令で設定した量だけ移動します。

ベロシティ移動量}による移動の方向は、@[@]命令で設定した方向となります。例えば“@[-1”のとき“[2”は「ONベロシティを2下げる」となります。

参照 CB
!
@[@]
用例 ONベロシティを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 C]C]C]C]C]C   ; 強くしながら発声
3 C[C[C[C[C[C   ; 弱くしながら発声

@[@]

書式@[@]>{ベロシティ移動量
解説

[]”命令の移動量を設定します。“@[”は“[”の、“@]”は“]”の移動量を設定します。

ベロシティ移動量}は-127〜+127を指定します。初期値は“@[”が-3、“@]”は+3になっています。“[”でONベロシティが3下がり、“]”で3上がります。

参照 []
用例 ONベロシティを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q0           ; ゲート長はゲートそのまま
3 L24,22        ; 音長24mc, ゲート長22mc
3 O4            ; オクターブ4
; 発声
3 @]+3          ; ]でONベロシティを+3
3 C]C]C]C]C]C   ; 強くしながら発声
3 @]-3          ; ]でONベロシティを-3
3 C]C]C]C]C]C   ; 弱くしながら発声

L

書式 L音長}〔,ゲート}〕
解説

CB”“!”“R”“@W”命令の音長・ゲートを省略したときに与える値を設定します。

音長}は、次の命令を処理するまでの待ち時間です。音長値を指定します。初期値は4分音符分が与えられています。

ゲート}は、ノートオフまでの待ち時間を求めるための「引数」です。音長値または“@Q”命令の分子部分を指定します。省略時は“Q”命令のゲートが与えられます。初期値は2が与えられています。実際の待ち時間であるゲート長はSMCが“@Q”命令の値に基づいて算出します。“@Q”命令の初期値が1であるためゲート長は「音長から2mcを引いたもの」が初期値となります。

参照 CB
!
R
@W
Q
@Q
L*
L!
@%
用例 音長を変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 L24           ; 音長24mc, ゲート長22mc (24-2)
3 CCCC          ; Cを発声
3 L12           ; 音長12mc, ゲート長10mc (12-2)
3 CCCCCCCC      ; Cを発声

L*

書式 L*音長
解説

C*B*”“!*”命令の音長を省略したときに与える値を設定します。

音長}は、次の命令を処理するまでの待ち時間です。音長値を指定します。初期値は4分音符分が与えられています。

参照 C*B*
!*
L
@%
用例 音長を変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 L*24          ; 音長24mc
3 C&C*          ; Cを発声後, 24mc待つ
3 L*48          ; 音長24mc
3 C&C*          ; Cを発声後, 48mc待つ

L!

書式 L!音長
解説

C!B!”“!!”命令の音長を省略したときに与える値を設定します。

音長}は、次の命令を処理するまでの待ち時間です。音長値を指定します。初期値は4分音符分が与えられています。

参照 C!B!
!!
L
@%
用例 音長を変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 U!64          ; PKP値64
3 C&            ; Cを発声
3 L!8           ; 音長8mc
3 C!$$          ; ポリフォニック・キープレッシャー 64
3 C!$$+16       ; ポリフォニック・キープレッシャー 80  (64+16)
3 C!$$+16       ; ポリフォニック・キープレッシャー 96  (80+16)
3 L!24          ; 音長24mc
3 C!$$+16       ; ポリフォニック・キープレッシャー 112 (96+16)
3 C*0           ; Cの発声を停止

Q

書式 Qゲート
解説

CB”“!”“L”命令のゲートを省略したときに与える値を設定します。

ゲート}は、ノートオフまでの待ち時間を求めるための「引数」です。音長値または“@Q”命令の分子部分を指定します。初期値は2が与えられています。実際の待ち時間であるゲート長はSMCが“@Q”命令の値に基づいて算出します。“@Q”命令の初期値が1であるためゲート長は「音長から2mcを引いたもの」が初期値となります。

参照 CB
!
L
@Q
@%
用例 ゲートを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 Q2            ; ゲート長22mc (24-2)
3 CCCC          ; Cを発声
3 Q12           ; ゲート長12mc (24-12)
3 CCCC          ; Cを発声

@Q

書式 @Qゲートモード
解説

CB”“!”“L”“Q”命令のゲートから実際の待ち時間であるゲート長を算出する方法を設定します。

ゲートモード}は、ゲート長を算出する方法です。0・1・2以上のいずれかを指定します。初期値は1が与えられています。値の意味は以下のとおりです。

0

従来の「ステップ入力エディタ」に近い方法です。

ゲートをそのままゲート長とします。音長24mc・ゲート長21mcを与えるには“@Q0L24Q21”とします。

1

拙作「X1用NEWFM音源ドライバー」の“@Q”命令に近い方法です。

音長からゲートを引いたものをゲート長とします。音長24mc・ゲート長21mcを与えるには“@Q1L24Q3”とします。

2以上

従来のBASICのMMLの“Q”命令に近い方法です。

ゲートモード}を分母、ゲートを分子として、音長に掛けたものをゲート長とします。この場合、ゲートとして与える引数は音長値でなく、「0以上{ゲートモード}以下」の数値となります。{ゲートモード}8・音長24mcでゲート長21mcを与えるには“@Q8L24Q7”とします。

このモードに限り、“L”命令でゲートを与えることができなくなります。また“CB”“!”命令でゲートを与えると、モード0と同じくゲートをそのままゲート長とします。

参照 CB
!
L
Q
@%
用例 ゲートを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 @Q0           ; ゲート長はゲートそのまま
3 L24 Q21       ; 音長24mc, ゲート長21mc
3 C             ; Cを発声
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24 Q3        ; 音長24mc, ゲート長21mc(24-3)
3 C             ; Cを発声
3 @Q8           ; ゲート長は音長のn/8
3 L24 Q7        ; 音長24mc, ゲート長21mc(24*(7/8))
3 C             ; Cを発声

@%

書式 @%音長値モード
解説

音長値を「クロック数表記」「n分表記」のどちらで与えるかを設定します。

音長値モード}は、音長値を与える方法です。0・1のいずれかを指定します。初期値は0が与えられています。値の意味は以下のとおりです。

0

従来の「ステップ入力エディタ」に近い方法です。

「クロック数表記」で与えます。“%”で、局所的に「n分表記」で与えることができます。

1

従来のBASICのMMLに近い方法です。

「n分表記」で与えます。“%”で、局所的に「クロック数表記」で与えることができます。

参照 音長値引数の表記について
#DIVISION
用例 音長値モードを変えながら発声します。
; 初期設定
3 @%0           ; クロック数表記を基本
3 U64           ; ONベロシティ64
3 U*64          ; OFFベロシティ64
3 @Q1           ; ゲート長は音長からゲートを引いたもの
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 O4            ; オクターブ4
; 発声
3 @%0           ; クロック数表記を基本
3 L24,2         ; 音長24mc, ゲート長22mc (24-2)
3 C             ; Cを発声
3 L%8,2         ; 音長24mc, ゲート長22mc (24-2)
3 C             ; Cを発声
3 @%1           ; n分表記を基本(#DIVISIONは48)
3 L%24,%2       ; 音長24mc, ゲート長22mc (24-2)
3 C             ; Cを発声
3 @%0 L8,%2     ; 音長24mc (8分音符), ゲート長22mc (24-2)
3 C             ; Cを発声


[表紙に戻る] [<<<<<] [>>>>>] [ひとつ上へ]