Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将jsyn示波器添加到jsyn锯齿_Java_Jsyn - Fatal编程技术网

Java 如何将jsyn示波器添加到jsyn锯齿

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

为了一些大学的工作,我正在制作一个JavaVST/合成器。我已经让振荡器产生声音,并在需要改变音高时将频率更改为所需的值,但我希望屏幕上有一个可视示波器,所有选项都可以编辑声音。我怎么能这样做?以下是锯齿声产生和播放的代码,以防有帮助:

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());