3MHz
3MHz
3MHz
MSX BASIC version 4.0
Copyright 1990 by Microsoft
25277 Bytes free
Disk BASIC version 2.01
主にMSX関係のコンテンツが置いてあります。

発音時間について(q1,q2)

SCMDでは1つの発音時間を2つに分けて管理しています(前半をq1,後半をq2とします)。

発音時間
q1
q2

q1の割合をqコマンド及びqxコマンドで指定します。

qコマンドは音長を8分割し1-8で指定可能で、8を指定した場合発音時間はq1のみとなります。

(q=8)

発音時間
q1

(q=1)

発音時間
q1
q2

この時間の区切りはエンベロープの切り換えに使用されます。エンベロープが使用されていない場合、何の効果も現れません。

例えばボリュームエンベロープで@v"env1","env2"と指定すると、q1時間でエンベロープ"env1"が、q2時間でエンベロープ"env2"が適用されることになります。

また@v"env1"とq1エンベロープのみ指定し、q4 cdeと演奏した場合、時間が経ってq2時間になってもq1エンベロープが適用され続けます。

休符とq2

SCMDではデフォルトで休符は強制消音になります。

しかし演奏的には、緩やかな減衰型のボリュームエンベロープを適用しているなどの場合、休符で強制消音となり都合が悪い状況が発生します。

そこでrronコマンドを使うと休符がq2時間に変更されます。

(rroff)

発音時間
休符時間
q1
q2
消音

(rron)

発音時間
休符時間
q1
q2

これにより、休符になっても減衰が続く表現が可能です。

rronコマンドはボリュームエンベロープに連動しており、ボリュームエンベロープのq2を指定しrronコマンドを使用しないと休符がq2時間に変更されません。

q2時間に移行すると他のエンベロープもq2に移行しますが、ピッチエンベロープのみq2を指定し、rronとしても休符でq2に移行することはありません。