6

Pure Data で海の音を自動的にシミュレートしようとしています。これまでのところ、いくつかのノイズを [bp~] でフィルタリングすることにより、非常に基本的なサウンドを実現することができました。カットオフ周波数の最適な範囲は 300 ~ 500 Hz であることがわかりました。したがって、水平スライダー [hsl] を 300 ~ 500 から 500 に移動し、自動的に繰り返すようにしたいと思います。止まる。(私はすでにスライダーに範囲 (300,500) を割り当てています。今はそれを自動的に制御する必要があるだけです)。[osc~] で試してみましたが、スライダーがオーディオ要素ではなく、[osc~] の出力がオーディオ信号であるため、うまくいきません。写真では、これまでに持っているものを示しています。

私のプログラムの現在の配布

では、手動で変更することなく、スライダーを自動的に制御するにはどうすればよいでしょうか? これまでのところ、すべてが思いどおりに機能していますが、海の波をシミュレートするには、スライダーを定期的に増減させる必要があります。

4

2 に答える 2

5

あなたの質問が単に次のような場合: スライダーを自動化するにはどうすればよいですか? 答えは [line] オブジェクトを見ることです。ラインは、現在の値から特定の時間内のターゲット値まで補間します。

線オブジェクトを使用してフロート間を補間し、スライダーの動きを自動化します

(注: シグナルを制御するときは、代わりに [line~] を使用します。)

ただし、目標は海岸の波のシミュレーションです。上記のスライダー オートメーションには 2 つの問題があります。1.) 信号データ レートではなく、制御データ レートで動作している、2.) ランピングのイーズインとイーズアウトが必要です。発振器は両方の問題を同時に解決します。

信号のエンベロープとして機能するオシレーター

(注: 簡単にするためにここでは省略されていますが、これは、ボリュームの知覚がパワーの増加と等しくないため、振幅制御が線形であってはならないということです。)

振幅のみを変更するのではなく、音色 (バンドパスのカットオフ周波数) を変更したいので、サイン関数を使用してカウンターを実行し、イージングインと -アウト。注: このパッチでは、スライダーは単なる視覚化として機能します。

バンドパスオートメーション

(ループポイントの位置がずれすぎているため、アニメーションに不具合が生じます)

于 2015-05-18T04:29:33.093 に答える
4

Pd には、シグナル ワールドからコントロール ワールドに変換できる 2 つのオブジェクトがあります。[sig~] はコントロールをシグナルに変換し、[snapshot~] はシグナルをコントロールに変換します。[snapshot~] を使用して、[osc~] ソリューションを使用できます。

[snapshot~] は、強打を受信するたびに瞬時のシグナル値を数値として報告することで機能します。特定のレートでメトロを設定して、これらを定期的に報告できます。

これは、[snapshot~] を毎秒 20 回叩いて、1 Hz で移動する [osc~] をキャプチャするテストです。いくつかの単純な演算子を使用して、出力を -1 から 1 にスケーリングし、例に合わせて 300 から 500 の間にしました。これをスライダーにパッチして、レースに出かけることができます。

スナップショットとメトロノーム ソリューションを示す Pd パッチ

于 2015-05-15T03:55:14.547 に答える