NSDL(NES Sound Driver Library)

FAQ

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

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

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

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

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

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

再生開始時の休符で音が鳴ってしまう

再生開始時も、通常の休符ではリリース機能が働いてしまい、音が鳴ってしまいます。
解決策としては、r(休符)コマンドに臨時記号`-'を付けるか、音量を0にしてください。

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

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

儕CMトラックが、休符・ゲートタイムでキーオフされない。

デフォルトでは、MIDIのトラック10(パーカッショントラック)と同様に、キーオフしない設計となっております。
Rmコマンドにて0を指定することで、キーオフされます。

儕CMの発音時にプチノイズが載る。

デフォルトでは、発音時に初期ボリュームを0に設定しているため、前回の儕CM終了時点のボリュームとの差が大きい時にプチノイズが発生します。
回避策としては、儕CM定義ブロックにて初期ボリュームを`-1'にすることで、 儕CMの初期ボリュームを設定せず、プチノイズが軽減されます。

n106/n163の音色設定方法が分からない。

別途、n106/n163の使い方をご参照ください。

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

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