• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SineOscillator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.jsyn.unitgen.SineOscillator的典型用法代码示例。如果您正苦于以下问题:Java SineOscillator类的具体用法?Java SineOscillator怎么用?Java SineOscillator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SineOscillator类属于com.jsyn.unitgen包,在下文中一共展示了SineOscillator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: setUp

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void setUp() throws Exception {

        // Create a synthesizer
        synth = JSyn.createSynthesizer();

        passThrough = new PassThrough();

        // Prepare a SineOscillator (its amplitude will be modulated by the envelope)
        sineOsc = new SineOscillator();
        sineOsc.amplitude.set(1.0);
        sineOsc.frequency.set(320.0);

        // LineOut
        out1 = new LineOut();
        out2 = new LineOut();
        out3 = new LineOut();

        synth.add(out1);
        synth.add(out2);
        synth.add(out3);
        synth.add(passThrough);
        synth.add(sineOsc);
    }
 
开发者ID:StephaneMangin,项目名称:Synth,代码行数:24,代码来源:PassThroughTesting.java


示例2: SimpleTest

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void SimpleTest() throws InterruptedException {

        // Create a synthesizer
        synth = JSyn.createSynthesizer();

        // Prepare a SineOscillator (its amplitude will be modulated by the envelope)
        sineOsc = new SineOscillator();
        sineOsc.amplitude.set(1.0);
        sineOsc.frequency.set(320.0);

        synth.add(sineOsc);
        synth.start();
        sineOsc.start();

        int n = 30;
        while (n > 0){
            n--;
            System.out.println(sineOsc.output.getValue());
            synth.sleepFor(0.1);
        }



    }
 
开发者ID:StephaneMangin,项目名称:Synth,代码行数:25,代码来源:PassThroughTesting.java


示例3: setUp

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void setUp() throws Exception {

        // Create a synthesizer
        synth = JSyn.createSynthesizer();

        // Prepare a squareOscillator (it produce a binary signal !)
        // Needed for an envelope generator
        squareOsc = new SquareOscillator();
        squareOsc.amplitude.set(1.0);
        squareOsc.frequency.set(80.0);

        // Prepare a SineOscillator (its amplitude will be modulated by the envelope)
        sineOsc = new SineOscillator();
        sineOsc.amplitude.set(1.0);
        sineOsc.frequency.set(320.0);

        // LineOut
        out = new LineOut();

        synth.add(squareOsc);
        synth.add(out);
        synth.add(sineOsc);
    }
 
开发者ID:StephaneMangin,项目名称:Synth,代码行数:24,代码来源:EnvelopeGeneratorTest.java


示例4: JSynSynchronizeTesting

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public JSynSynchronizeTesting() throws InterruptedException {
    synth = JSyn.createSynthesizer();

    sin = new SineOscillator();
    sin.amplitude.set(1.0);
    sin.frequency.set(320.0);

    synth.add(sin);

    out = new LineOut();
    synth.add(out);

    sin.output.connect(out.getInput());

    synth.start();
    out.start();

    ThreadUpdater tu = new ThreadUpdater(sin);
    Thread t = new Thread(tu);
    t.start();

    synth.sleepFor(10000.0);
}
 
开发者ID:StephaneMangin,项目名称:Synth,代码行数:24,代码来源:JSynSynchronizeTesting.java


示例5: JsynMultiply

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public JsynMultiply() throws InterruptedException {

        synth = JSyn.createSynthesizer();
        lineOut = new LineOut();
        sine = new SineOscillator();
        multiply = new Multiply();

        synth.add(lineOut);
        synth.add(sine);
        synth.add(multiply);

        sine.frequency.set(320.0);
        sine.amplitude.set(1.0);

        sine.output.connect(multiply.inputA);
        multiply.inputB.set(0.0);

        multiply.output.connect(lineOut.input);

        lineOut.start();
        multiply.start();
        synth.start();

        synth.sleepFor(5.0);

    }
 
开发者ID:StephaneMangin,项目名称:Synth,代码行数:27,代码来源:JsynMultiply.java


示例6: init

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void init()
{
	synth = JSyn.createSynthesizer();
	// Add a tone generator.
	synth.add( modulator = new SineOscillator() );
	// Add a trigger.
	synth.add( carrier = new SineOscillatorPhaseModulated() );
	// Add an output mixer.
	synth.add( lineOut = new LineOut() );

	modulator.output.connect( carrier.modulation );
	carrier.output.connect( 0, lineOut.input, 0 );
	carrier.output.connect( 0, lineOut.input, 1 );
	modulator.amplitude.setup( 0.0, 1.0, 10.0 );
	carrier.amplitude.setup( 0.0, 1.0, 1.0 );
	setupGUI();
}
 
开发者ID:WiredProgrammers,项目名称:collegeProjects,代码行数:18,代码来源:HearSinePM.java


示例7: init

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
@Override
   public void init()
{
	synth = JSyn.createSynthesizer();
	// Add a tone generator.
	synth.add( modulator = new SineOscillator() );
	// Add a trigger.
	synth.add( carrier = new SineOscillatorPhaseModulated() );
	// Add an output mixer.
	synth.add( lineOut = new LineOut() );

	modulator.output.connect( carrier.modulation );
	carrier.output.connect( 0, lineOut.input, 0 );
	carrier.output.connect( 0, lineOut.input, 1 );
	modulator.amplitude.setup( 0.0, 1.0, 10.0 );
	carrier.amplitude.setup( 0.0, 1.0, 1.0 );
	setupGUI();
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:19,代码来源:HearSinePM.java


示例8: createUnits

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
private void createUnits()
{
	// Add a tone generators.
	synth.add( osc = new SineOscillator() );
	// Add a controller that will sweep the envelope rate up.
	synth.add( envSweeper = new ExponentialRamp() );
	// Add a controller that will sweep the oscillator down.
	synth.add( oscSweeper = new ExponentialRamp() );

	synth.add( latch = new LatchZeroCrossing() );
	// Add an output unit.
	synth.add( lineOut = new LineOut() );

	// Add an envelope player.
	synth.add( envelopePlayer = new VariableRateMonoReader() );
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:17,代码来源:NotesToTone.java


示例9: init

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
@Override
public void init() {
    synth = JSyn.createSynthesizer();
    // Add a tone generator.
    synth.add(modulator = new SineOscillator());
    // Add a trigger.
    synth.add(carrier = new SineOscillatorPhaseModulated());
    // Add an output mixer.
    synth.add(lineOut = new LineOut());

    modulator.output.connect(carrier.modulation);
    carrier.output.connect(0, lineOut.input, 0);
    carrier.output.connect(0, lineOut.input, 1);
    modulator.amplitude.setup(0.0, 1.0, 10.0);
    carrier.amplitude.setup(0.0, 0.25, 1.0);
    setupGUI();
}
 
开发者ID:philburk,项目名称:jsyn,代码行数:18,代码来源:HearSinePM.java


示例10: testMixedAdding

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void testMixedAdding() {
    boolean gotCaught = false;
    SynthesisEngine synthesisEngine1 = new SynthesisEngine();
    synthesisEngine1.setRealTime(false);
    synthesisEngine1.setPullDataEnabled(true);
    SynthesisEngine synthesisEngine2 = new SynthesisEngine();
    synthesisEngine2.setRealTime(false);
    synthesisEngine2.setPullDataEnabled(true);

    // Create a sineOscillator but do not add it to the synth!
    SineOscillator sineOscillator = new SineOscillator();
    LineOut lineOut = new LineOut();

    synthesisEngine1.add(lineOut);
    synthesisEngine2.add(sineOscillator);
    try {
        sineOscillator.output.connect(0, lineOut.input, 0);
    } catch (RuntimeException e) {
        gotCaught = true;
        assertTrue("informative MPE message", e.getMessage().contains("different synths"));
    }

    assertTrue("caught NPE caused by forgetting synth.add", gotCaught);
}
 
开发者ID:philburk,项目名称:jsyn,代码行数:25,代码来源:TestEngine.java


示例11: benchmark

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
private void benchmark() throws InstantiationException, IllegalAccessException,
        InterruptedException {
    double realTime = 10.0;
    int count = 40;

    // benchFFTDouble();
    // benchFFTFloat();
    /*
     * realTime = 20.0; benchmarkOscillator(SawtoothOscillator.class, count, realTime);
     * benchmarkOscillator(SawtoothOscillatorDPW.class, count, realTime);
     * benchmarkOscillator(SawtoothOscillatorBL.class, count, realTime);
     */
    benchmarkOscillator(SquareOscillator.class, count, realTime);
    benchmarkOscillator(SquareOscillatorBL.class, count, realTime);

    benchmarkOscillator(SineOscillator.class, count, realTime);
    benchmarkPitchDetector(count, realTime);

}
 
开发者ID:philburk,项目名称:jsyn,代码行数:20,代码来源:BenchJSyn.java


示例12: SineEnvelope

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public SineEnvelope() {
    // Create unit generators.
    add(mFrequencyPassThrough = new PassThrough());
    addPort(frequency = mFrequencyPassThrough.input, "frequency");
    add(mAmplitudePassThrough = new PassThrough());
    addPort(amplitude = mAmplitudePassThrough.input, "amplitude");
    add(mOutputPassThrough = new PassThrough());
    addPort( output = mOutputPassThrough.output, "output");
    add(mSineOsc = new SineOscillator());
    add(mDAHDSR = new EnvelopeDAHDSR());
    // Connect units and ports.
    mFrequencyPassThrough.output.connect(mSineOsc.frequency);
    mAmplitudePassThrough.output.connect(mSineOsc.amplitude);
    mSineOsc.output.connect(mDAHDSR.amplitude);
    mDAHDSR.output.connect(mOutputPassThrough.input);
    // Setup
    frequency.setup(40.0, 698.4584691287101, 8000.0);
    amplitude.setup(0.0, 0.999969482421875, 1.0);
    mDAHDSR.input.set(0.0);
    // Sum of these times should not exceed MIN_TIME_VALUE_CHANGE_MS
    mDAHDSR.delay.set(0.01);
    mDAHDSR.attack.set(0.01);
    mDAHDSR.hold.set(0.04);
    mDAHDSR.decay.set(0.01);
    mDAHDSR.sustain.set(0.045);
    mDAHDSR.release.set(0.01);
}
 
开发者ID:google,项目名称:science-journal,代码行数:28,代码来源:SineEnvelope.java


示例13: init

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void init()
{
	synth = JSyn.createSynthesizer();
	// Add a tone generator.
	synth.add( osc = new SineOscillator() );
	// Add a trigger.
	synth.add( gatingOsc = new SquareOscillator() );
	// Use an envelope to control the amplitude.
	synth.add( dahdsr = new EnvelopeDAHDSR() );
	// Add an output mixer.
	synth.add( lineOut = new LineOut() );

	//e/xit1.add();
	gatingOsc.output.connect( dahdsr.input );
	dahdsr.output.connect( osc.amplitude );
	dahdsr.attack.setup( 0.001, 0.01, 2.0 );
	osc.output.connect( 0, lineOut.input, 0 );
	osc.output.connect( 0, lineOut.input, 1 );

	gatingOsc.frequency.setup( 0.001, 0.5, 10.0 );
	gatingOsc.frequency.setName("Rate");

	osc.frequency.setup( 50.0, 440.0, 2000.0 );
	osc.frequency.setName("Freq");
	

	// Arrange the knob in a row.
	setLayout( new GridLayout( 1, 0 ) );

	setupPortKnob( osc.frequency );
	setupPortKnob( gatingOsc.frequency );
	setupPortKnob( dahdsr.attack );
	setupPortKnob( dahdsr.hold );
	setupPortKnob( dahdsr.decay );
	setupPortKnob( dahdsr.sustain );
	setupPortKnob( dahdsr.release );

	validate();
}
 
开发者ID:WiredProgrammers,项目名称:collegeProjects,代码行数:40,代码来源:HearDAHDSR.java


示例14: initSynthetizer

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public void initSynthetizer() {
    synth = JSyn.createSynthesizer();
    synth.add(oscillo = new SineOscillator());
    synth.add(lineOut = new LineOut());
    synth.add(frequencyRamp = makeFrequencyRamp(oscillo.frequency));
    synth.add(amplitudeRamp = makeAmplitudeRamp(oscillo.amplitude));
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:8,代码来源:JsynMonoscilloRampSynth.java


示例15: start

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
@Override
   public void start()
{
	synth = JSyn.createSynthesizer();
	
	// Add an LFO.
	synth.add( lfo = new SineOscillator() );
	synth.add( adder = new Add() );
	
	// Add an output so we can hear the oscillators.
	synth.add( lineOut = new LineOut() );
	
	lfo.frequency.set( 0.1 );
	lfo.amplitude.set( 200.0 );
	adder.inputB.set( 400.0 );
	lfo.output.connect(  adder.inputA );
	
	oscillators.add( new SawtoothOscillatorBL() );
	oscillators.add( new SineOscillator() );
	oscillators.add( new TriangleOscillator() );
	for( UnitOscillator osc : oscillators)
	{
		synth.add( osc);
		adder.output.connect(  osc.frequency );
		osc.output.connect( 0, lineOut.input, 0 );
		osc.amplitude.set(  0.2  );
	}
	
	// Start synthesizer using default stereo output at 44100 Hz.
	synth.start();
	// Start lineOut so it can pull data from other units.
	lineOut.start();
	setupGUI();
	
	// We only need to start the LineOut. It will pull data from the
	// oscillator.
	lineOut.start();
	
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:40,代码来源:ShowWaves.java


示例16: init

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
@Override
   public void init()
{
	synth = JSyn.createSynthesizer();
	
	// Add a tone generator.
	synth.add( osc = new SineOscillator() );
	// Add a trigger.
	synth.add( gatingOsc = new SquareOscillator() );
	// Use an envelope to control the amplitude.
	synth.add( dahdsr = new EnvelopeDAHDSR() );
	// Add an output mixer.
	synth.add( lineOut = new LineOut() );

	gatingOsc.output.connect( dahdsr.input );
	dahdsr.output.connect( osc.amplitude );
	osc.output.connect( 0, lineOut.input, 0 );

	gatingOsc.frequency.setup( 0.001, 0.5, 10.0 );
	gatingOsc.frequency.setName("Rate");

	osc.frequency.setup( 50.0, 440.0, 2000.0 );
	osc.frequency.setName("Freq");
	
	// Arrange the knob in a row.
	setLayout( new GridLayout( 1, 0 ) );

	setupPortKnob( osc.frequency );
	setupPortKnob( gatingOsc.frequency );
	setupPortKnob( dahdsr.attack );
	setupPortKnob( dahdsr.hold );
	setupPortKnob( dahdsr.decay );
	setupPortKnob( dahdsr.sustain );
	setupPortKnob( dahdsr.release );

	validate();
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:38,代码来源:HearDAHDSR.java


示例17: setupSynth

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
private void setupSynth()
{
	synth = JSyn.createSynthesizer();

	// Add an output.
	synth.add( lineOut = new LineOut() );

	synth.add( powerOfTwo = new PowerOfTwo() );
	synth.add( lfo = new SineOscillator() );
	// Sums pitch modulation.
	lfo.output.connect( powerOfTwo.input );
	lfo.amplitude.set( vibratoDepth );
	lfo.frequency.set( vibratoRate );

	voices = new SubtractiveSynthVoice[MAX_VOICES];
	for( int i = 0; i < MAX_VOICES; i++ )
	{
		SubtractiveSynthVoice voice = new SubtractiveSynthVoice();
		synth.add( voice );
		powerOfTwo.output.connect( voice.pitchModulation );
		voice.getOutput().connect( 0, lineOut.input, 0 );
		voice.getOutput().connect( 0, lineOut.input, 1 );
		voices[i] = voice;
	}
	allocator = new VoiceAllocator( voices );

	// Start synthesizer using default stereo output at 44100 Hz.
	synth.start();
	// We only need to start the LineOut. It will pull data from the
	// oscillator.
	lineOut.start();

	// Get synthesizer time in seconds.
	double timeNow = synth.getCurrentTime();

	// Advance to a near future time so we have a clean start.
	double time = timeNow + 0.5;

}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:40,代码来源:UseMidiKeyboard.java


示例18: test

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
private void test()
{
	synth = JSyn.createSynthesizer();
	// Add a tone generator.
	synth.add( osc = new SineOscillator() );
	// Add a tone generator.
	synth.add( cuber = new CustomCubeUnit() );
	// Add an output to the DAC.
	synth.add( lineOut = new LineOut() );
	// Connect the oscillator to the cuber.
	osc.output.connect( 0, cuber.input, 0 );
	// Connect the cuber to the right output.
	cuber.output.connect( 0, lineOut.input, 1 );
	// Send the original to the left output for comparison.
	osc.output.connect( 0, lineOut.input, 0 );
	
	osc.frequency.set( 240.0 );
	
	// Start synthesizer using default stereo output at 44100 Hz.
	synth.start();
	// We only need to start the LineOut.
	// It will pull data from the cuber and the oscillator.
	lineOut.start();
	// Sleep while the sound is generated in the background.
	try
	{
		double time = synth.getCurrentTime();
		// Sleep for a few seconds.
		synth.sleepUntil( time + 10.0 );
	} catch( InterruptedException e )
	{
		e.printStackTrace();
	}
	// Stop everything.
	synth.stop();
}
 
开发者ID:vocobox,项目名称:vocobox,代码行数:37,代码来源:PlayCustomUnit.java


示例19: DrumWoodFM

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public DrumWoodFM() {
    // Create unit generators.
    add(carrierOsc = new SineOscillatorPhaseModulated());
    add(freqDistributor = new PassThrough());
    add(modSummer = new Add());
    add(ampEnv = new EnvelopeAttackDecay());
    add(modEnv = new EnvelopeAttackDecay());
    add(modOsc = new SineOscillator());
    add(frequencyMultiplier = new Multiply());

    addPort(mcratio = frequencyMultiplier.inputB, "MCRatio");
    addPort(index = modSummer.inputA, "Index");
    addPort(modRange = modEnv.amplitude, "ModRange");
    addPort(frequency = freqDistributor.input, "Frequency");

    ampEnv.export(this, "Amp");
    modEnv.export(this, "Mod");

    freqDistributor.output.connect(carrierOsc.frequency);
    freqDistributor.output.connect(frequencyMultiplier.inputA);

    carrierOsc.output.connect(ampEnv.amplitude);
    modEnv.output.connect(modSummer.inputB);
    modSummer.output.connect(modOsc.amplitude);
    modOsc.output.connect(carrierOsc.modulation);
    frequencyMultiplier.output.connect(modOsc.frequency);

    // Make the circuit turn off when the envelope finishes to reduce CPU load.
    ampEnv.setupAutoDisable(this);

    usePreset(0);
}
 
开发者ID:philburk,项目名称:jsyn,代码行数:33,代码来源:DrumWoodFM.java


示例20: WaveShapingVoice

import com.jsyn.unitgen.SineOscillator; //导入依赖的package包/类
public WaveShapingVoice() {
    add(frequencyScaler = new Multiply());
    add(osc = new SineOscillator());
    add(waveShaper = new FunctionEvaluator());
    add(rangeEnv = new EnvelopeDAHDSR());
    add(ampEnv = new EnvelopeDAHDSR());

    addPort(amplitude = ampEnv.amplitude);
    addPort(range = osc.amplitude, "Range");
    addPort(function = waveShaper.function);
    addPort(frequency = frequencyScaler.inputA, "Frequency");
    addPort(pitchModulation = frequencyScaler.inputB, "PitchMod");

    ampEnv.export(this, "Amp");
    rangeEnv.export(this, "Range");

    function.set(chebyshevTable);

    // Connect units.
    osc.output.connect(rangeEnv.amplitude);
    rangeEnv.output.connect(waveShaper.input);
    ampEnv.output.connect(waveShaper.amplitude);
    frequencyScaler.output.connect(osc.frequency);

    // Set reasonable defaults for the ports.
    pitchModulation.setup(0.1, 1.0, 10.0);
    range.setup(0.1, 0.8, 1.0);
    frequency.setup(osc.frequency);
    amplitude.setup(0.0, 0.5, 1.0);

    // Make the circuit turn off when the envelope finishes to reduce CPU load.
    ampEnv.setupAutoDisable(this);

    usePreset(2);
}
 
开发者ID:philburk,项目名称:jsyn,代码行数:36,代码来源:WaveShapingVoice.java



注:本文中的com.jsyn.unitgen.SineOscillator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java RootClass类代码示例发布时间:2022-05-22
下一篇:
Java Slf4JStopWatch类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap