Java 如何将jsyn示波器添加到jsyn锯齿
为了一些大学的工作,我正在制作一个JavaVST/合成器。我已经让振荡器产生声音,并在需要改变音高时将频率更改为所需的值,但我希望屏幕上有一个可视示波器,所有选项都可以编辑声音。我怎么能这样做?以下是锯齿声产生和播放的代码,以防有帮助:Java 如何将jsyn示波器添加到jsyn锯齿,java,jsyn,Java,Jsyn,为了一些大学的工作,我正在制作一个JavaVST/合成器。我已经让振荡器产生声音,并在需要改变音高时将频率更改为所需的值,但我希望屏幕上有一个可视示波器,所有选项都可以编辑声音。我怎么能这样做?以下是锯齿声产生和播放的代码,以防有帮助: import com.jsyn.JSyn; import com.jsyn.Synthesizer; import com.jsyn.unitgen.LineOut; import com.jsyn.unitgen.SawtoothOscillatorBL; i
import com.jsyn.JSyn;
import com.jsyn.Synthesizer;
import com.jsyn.unitgen.LineOut;
import com.jsyn.unitgen.SawtoothOscillatorBL;
import com.jsyn.unitgen.UnitOscillator;
public class SawTooth {
public static Synthesizer synth = JSyn.createSynthesizer();
public static UnitOscillator osc;
public static LineOut lineout;
public static double Frequency = 261.626;
public static double Amplitude = 0.6;
public static int Voices = 1;
public static void Play() {
synth.start();
synth.add(osc = new SawtoothOscillatorBL());
synth.add(lineout = new LineOut());
osc.output.connect(0, lineout.input, 0);
osc.output.connect(0, lineout.input, 1);
osc.frequency.set(Frequency);
osc.amplitude.set(Amplitude);
lineout.start();
System.out.println("Wave Playing");
}
}
提前感谢GitHub上有一个示例程序,演示了如何添加作用域。它包括一些音量控制器来控制声音 以下是主要步骤:
AudioScope scope = new AudioScope(synth);
// Add a scope trace that will be driven by an output port.
scope.addProbe(oscillator.output);
// Trigger on a rising edge.
scope.setTriggerMode(AudioScope.TriggerMode.NORMAL);
// Turn off scope controls if you want a cleaner UI.
scope.getView().setShowControls(false);
// Start a thread that will periodically update the scope.
scope.start();
// Add the scope's View to your UI
add(BorderLayout.CENTER, scope.getView());