音長について
音長は、音楽的音長、もしくは絶対音長(カウント数)で表記します。必ず10進数で指定してください。
パラメータ | 解説 |
---|---|
1〜192 | 音楽的音長 |
#<num> | 絶対音長(1〜9999) |
. | 付点(複付点も可) |
^ | 音長加算(タイ) |
+ | 〃 |
- | 音長減算 |
\ | 〃 |
0 | Tone Doubler用音程指定 |
- 音楽的音長による指定
全音符を「1」、4分音符を「4」、8分音符を「8」…と表現する方法で、n分音符のnの値で指定します。 1〜192を指定可能です。音長の直後に「.」(ピリオド)をつけると付点音符として扱います。複数の付点も記述可能です。付点は解釈可能な範囲の間、機能します。
[例] c8 ; 8分音符 [例] c8. ; 付点8分音符(8分音符 + 16分音符相当) [例] c4... ; 4分音符 + 8分音符 + 16分音符 + 32分音符相当
なお、「0」は特殊な扱いとなっており、Tone Doubler用音程指定となります。
- 絶対音長(カウント数)による指定
数値の頭に「#」を置くと、ドライバの分解能単位での指定になります。全音符の分解能が192カウントの場合、4分音符は「#48」、8分音符は「#24」となります。付点は使用できません。指定可能範囲は 1〜9999です。これ以上の音長を表現する場合は、タイやレガートを使用してください。
[例] c#192 ; 全音符(分解能が192カウントの場合) [例] c#12 ; 16分音符(分解能が192カウントの場合(192÷16=12)) [例] c#12. ; エラー(付点は使えない)
ドライバ分解能の初期値は、4分音符=48カウント(全音符=192カウント)ですが、#COUNTヘッダで変更可能です。
音長の省略
音長は省略可能です。省略時の音長はlコマンドで設定してください。
音長の加減算
「^」もしくは「+」で音長の加算(タイ)、「\」もしくは「-」で音長の減算が可能です。音楽的音長、絶対音長、音長省略を組み合わせ、柔軟な音長表現ができます。
音楽的音長の演算は他の数値とは異なり、楽典的な加減算となります。たとえば、「4+8」は12ではなく付点4分音符です。
なお、音程指定名は最初のひとつだけで構いません。たとえば4分音符と8分音符のドをタイで繋げる場合は「c4^c8」ではなく「c4^8」となります。
[例] c16.^4 ; 付点16分音符 + 4分音符相当 [例] c2^4^8 ; 複付点2分音符 (2分音符 + 4分音符 + 8分音符) 相当 [例] l8 c4^^ ; 2分音符 (4分音符 + 8分音符 + 8分音符) 相当 [例] c2-16-4 ; 付点8分音符 (2分音符 - 16分音符 - 4分音符) 相当 [例] c2-8^4. ; 付点2分音符 (2分音符 - 8分音符 + 付点4分音符) 相当 [例] c2-#3 ; 2分音符から3カウントぶん引いた音長 [例] c#12-32 ; 12カウントから32分音符ぶん引いた音長 [例] l4 f\16 ; 付点8分音符 (4分音符 - 16分音符) 相当 [例] l4 c++2 ; 付点2分音符 (ド♯の4分音符 + 2分音符) 相当 [例] l2 e--8 ; 付点4分音符 (ミ♭の2分音符 - 8分音符) 相当
音長表記の注意点
- #COUNTヘッダで分解能を変更すると絶対音長が変化します。音楽的音長もカウント数の小数点以下が切り捨てられるため、演奏がずれる要因となります。ご注意ください。
- 1バイトのデータが持てる最大音長は254カウントです。音長加算の結果254を超えた場合、コンパイル時に255+x1+x2…と2バイト以上に音長を畳み込んでデータを作成します(255カウントなら255+0、600カウントなら255+255+90、1000カウントなら255+255+255+235)。その際、qコマンドは最後の1バイトぶんの音長に対して機能するので、意図しない音の切れ方をすることがあります。この場合はスラーもしくはレガートを用いて、明示的に音長を指定してください。