主にMSX関係のコンテンツが置いてあります。

定義-ピッチエンベロープ

@p

使用場所
定義
書式
@p定義名=[周波数値,クロック値 … ]
@p"env1"=[: 1,1 1,1 1,1 -1,1 -1,1 -1,1]
解説

PSG、SCC、OPLL(M)、Y8950、ADPCM用ピッチエンベロープ定義です。周波数値は相対指定となり、前回の周波数値に加算されていき、音階の発音時に0にリセットされます。

周波数値は-32767〜32767、クロック値は1〜255。:はループ指定。音源によって、周波数の限界値は異なります。

例では細かい揺れを定義しています。周波数値はレジスタ直接値か、半音1/256値で意味合いが変わります。

@fp

使用場所
定義
書式
@fp定義=[周波数値,クロック値,サスティンフラグ … ]
@fp"env1"=[: 10,1,1]
解説

OPLL用ピッチエンベロープ定義です。@pと違い、サスティンフラグをコントロールできます。

他のパラメータは@pと同じで、サスティンフラグは0〜1。:はループ指定。

0=サスティンフラグオフ

1=サスティンフラグオン

となっています。

サスティンフラグはOPLLがハードウエアで持っている機能で、オンにするとキーオフ時のリリースが5に固定されます。音を発音するときにサスティンフラグは解除されます。

周波数値はレジスタ直接値か、半音1/256値で意味合いが変わります。

@h

使用場所
定義
書式
@h定義名=[周波数値,周波数値,周波数値,周波数値,周波数値,周波数値 … ]
@h"env1"=[
10,10,10,10,10,10
:
20,20,20,20,20,20
30,30,30,30,30,30]
解説

PSG専用の高速ピッチエンベロープ定義です。

周波数値は-32767〜32767で、周波数に付きクロック1/360秒固定なのでクロック値はありません。必ず6個セットで定義して下さい。

通常のピッチエンベロープと違い、周波数値は6個で0クリアされます。

周波数値はレジスタ直接値か、半音1/256値で意味合いが変わります。

:はループ指定。

@hn

使用場所
定義
書式
@hn定義名=[ノート値,ノート値,ノート値,ノート値,ノート値,ノート値 … ]
@hn定義名=[
2,2,2,2,2,2
:
3,4,2,1,-1,3]
解説

PSG専用の高速ノートエンベロープ定義です。

高速ピッチエンベロープとほぼ同じですが、パラメータがノート指定となっています。ノート値は-95〜95で、1が半音に相当します。指定が音階単位なので、高速にドミソ等と鳴らしたい場合は高速ピッチエンベロープより楽です。

:はループ指定。