art.jmusic.1.6.4.1.source-code.BowedPluckInst Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jmusic Show documentation
Show all versions of jmusic Show documentation
JMusic - Java Music Library
The newest version!
import jm.audio.io.SampleOut;
import jm.audio.synth.*;
public final class BowedPluckInst extends jm.audio.Instrument {
/**
* The points to use in the construction of Envelopes
*/
private EnvPoint[] pointArray = new EnvPoint[10];
/**
* The number of channels
*/
private int channels;
/**
* the sample rate passed to the instrument
*/
private int sampleRate;
/**
* the filter cutoff frequency in hertz
*/
private int cutoff;
/**
* A constructor to set an initial sampling rate
*/
public BowedPluckInst(int sampleRate) {
this(sampleRate, 1, 8000);
}
/**
* A constructor to set an initial sampling rate and number of channels.
*/
public BowedPluckInst(int sampleRate, int channels, int cutoff) {
this.sampleRate = sampleRate;
this.channels = channels;
this.cutoff = cutoff;
}
/**
* Initialisation method used to build the objects that this instrument will use
*/
public void createChain() {
Pluck plk = new Pluck(this, sampleRate, this.channels);
Filter filt = new Filter(plk, this.cutoff, Filter.LOW_PASS);
Envelope env = new Envelope(filt, new double[]{0.0, 0.0, 0.1, 0.5, 0.3, 1.0, 0.4, 0.5, 1.0, 0.0});
Volume vol = new Volume(env);
SampleOut sout = new SampleOut(vol);
}
}