私は人々のJavaシンセを見てきましたが、彼らのプログラムの単純なバージョンを作成する方法を理解することができません。私の目標は、Javaで簡単なテストトーンを作成することです。これは、ユーザーが特定のキーを押すことで変更できるようになります。たとえば、「r」を押すと振幅が上がり、「f」を押すと周波数が上がります。知りたいのですが、これの作成をどこから始めればよいでしょうか。
3 に答える
Beeper
トーンを生成する例については、を参照してください。
Java 経由で実行されるテルミンがあります。
http://www.adonax.com/blog/?p=187 http://www.hexara.com/VSL/JTheremin.htm
ウェーブテーブルを使用してデータを生成しているため、ピッチはカーソルがテーブル内を移動する速度によって決まります。カーソルがテーブル要素の間にある場合は、線形補間を使用します。したがって、1024 要素のテーブルが 1 つの正弦波を表す場合、一度に 1 つの要素を通過するのが 1 速度であり、1.2 要素を一度に通過する (中間値を取得するための線形補間を使用) と、少し高速で高速になります。ピッチ。
うーん、それは不快ですが、最も簡単な方法は、方形波を作成することです。
符号付き振幅または符号なし振幅のどちらでファイルを作成しているかに応じて、0
とamplitude
、または-amplitude
との間で振動するかどうかを判断する必要があります+amplitude
。
周波数は、切り替える前に各値で作成するサンプル数を決定します。
作成しようとしている出力形式などの詳細がなければ、これ以上説明するのは困難ですが、最初は役立つかもしれません。より良いトーンのために正弦波を作成します:)