Audacity の Nyquist Prompt プラグインを使用して、長さが 2048 サンプルの区分線形波形を作成したいと考えています。たとえば、2048 個のサイレント (ゼロ) サンプルから始めてすべてを選択し、次のようにナイキスト プロンプトを呼び出すことで、方形パルス波を生成できます。
(sum s (pwl
0 1
0.5 1
0.5))
これは、区分線形 (pwl) 関数を使用して、時間 0、レベル 1.0 で開始し、時間 0.5 (選択範囲の中間)、レベル 1.0 まで線形補間し、すぐにレベル 0.0 にジャンプする波形を作成します。時間 1.0 まで 0.0 で続行します。
これは機能しますが、結果の波形には時間 0.5 で鋭い 1 サンプル遷移 (ステップ) がなく、代わりに ~40 サンプルにわたって 1.0 と 0.0 の間の線形ランプがあります。これは、この状況では受け入れられません。
ここでの変換は、Audacity 内で Nyquist プラグインが実際にはオーディオ レートよりもはるかに低い制御レートで実行されることを示唆しています。
実際には方形波よりもはるかに複雑な波形を作成したいので、この問題が解決したら、引き続き完全な波形を作成できます。
私の質問は次のとおりです。
- pwl 関数をサンプル精度で制御できるように、オーディオのサンプリング レートに合わせて制御レートを調整することはできますか?
- これは、'pwl' も呼び出す Nyquist Lisp 式にどのように組み込まれますか? 私は Lisp にまったく詳しくなく、2 つのステートメントを順番に実行する方法を理解していません。私の推測では、それを行う機能があります...
それがより理にかなっていれば、Audacity の外で Nyquist を使用できれば幸いです。