NSDL(NES Sound Driver Library)

FAQ

今まで、質問のあった内容をまとめています。
是非、ご参照下さい。

NSD.libによる曲の打ち込み

休符で音量が0じゃなくて2になる

音量エンベロープが無効な場合、キーオフ後の音量はRvコマンドで指定した値が適用されます。
Rvコマンドの初期値は2であるため、音量が2となります。
解決策としては、音量エンベロープを使う、Rvコマンドで設定する、もしくはr(休符)コマンドに臨時記号`-'を付けてください。

休符なのに、音が鳴りっぱなしになる

音量エンベロープで、リリースのパターンを定義していない可能性があります。
各系統のエンベロープにおいてリリースのパターンを指定しない場合、そのままエンベロープが継続されます。
解決策としては、音量エンベロープにはリリースのパターンを定義する、もしくはr(休符)コマンドに臨時記号`-'か`+'を付けてください。
なお、`q',`u'(ゲートタイム)コマンドによってキーオフされた後の挙動は、Rmコマンドで設定します。

周波数エンベロープのかかり方が変

NSD.libの周波数エンベロープは、現在の音階(ドレミ)を基準とした値で指定します。
また、NSD.libは12.5[cent]単位で音程を制御する設計であり、音源・音階による変化量の差はほとんどありません。
(但し、12.5[cent]単位の制御ができない音源(ノイズ、儕CM)や、音域(APUの高音域等)もあります。)

NSD.libを用いたアプリケーション開発

今後、何か質問があったら、掲載いたします。