public class Oscillator extends AudioObject
Modifier and Type | Field and Description |
---|---|
static int |
AMPLITUDE
Use the modulation source to change the amplitude of this oscillator
|
static int |
COSINE_WAVE
The constant that represents the cosine wave form
|
static int |
FREQUENCY
Use the modulation source to change the frequency of this oscillator
|
static int |
PULSE_WAVE
The constant that represents the sine wave form.
|
static int |
SABERSAW_WAVE
The constant that represents the exponential sawtooth wave form
|
static int |
SAWDOWN_WAVE
The constant that represents the inverse sawtooth wave form
|
static int |
SAWTOOTH_WAVE
The constant that represents the sawtooth wave form
|
static int |
SINE_WAVE
The constant that represents the sine wave form
|
static int |
SQUARE_WAVE
The constant that represents the square wave form
|
static int |
TRIANGLE_WAVE
The constant that represents the triangle wave form
|
channels, currentNote, currentNoteStartTime, finished, inputs, inst, name, next, numOfSamples, previous, sampleRate
DEBUG, DYNAMIC, EIGHT_BIT, KEY_SIG_EVT, MONO, NO_DENOMINATOR, NO_INSTRUMENT, NO_KEY_QUALITY, NO_KEY_SIGNATURE, NO_NUMERATOR, OCTAPHONIC, PAN, PITCH, PROG_EVT, QUADRAPHONIC, RHYTHM, SIXTEEN_BIT, STEREO, TEMP_EVT, THIRTY_TWO_BIT, TIME_SIG_EVT, VERBOSE
C, CD, CDD, CROTCHET, CROTCHET_TRIPLET, CT, DC, DDC, DDEN, DDHN, DDM, DDQ, DDQN, DEMI_SEMI_QUAVER, DEMI_SEMI_QUAVER_TRIPLET, DEN, DHN, DM, DOTTED_CROTCHET, DOTTED_EIGHTH_NOTE, DOTTED_HALF_NOTE, DOTTED_MINIM, DOTTED_QUARTER_NOTE, DOTTED_QUAVER, DOTTED_SEMI_QUAVER, DOTTED_SIXTEENTH_NOTE, DOUBLE_DOTTED_CROTCHET, DOUBLE_DOTTED_EIGHTH_NOTE, DOUBLE_DOTTED_HALF_NOTE, DOUBLE_DOTTED_MINIM, DOUBLE_DOTTED_QUARTER_NOTE, DOUBLE_DOTTED_QUAVER, DQ, DQN, DSN, DSQ, DSQT, EIGHTH_NOTE, EIGHTH_NOTE_TRIPLET, EN, ENT, HALF_NOTE, HALF_NOTE_TRIPLET, HN, HNT, M, MD, MDD, MINIM, MINIM_TRIPLET, MT, Q, QD, QDD, QN, QNT, QT, QUARTER_NOTE, QUARTER_NOTE_TRIPLET, QUAVER, QUAVER_TRIPLET, SB, SEMI_QUAVER, SEMI_QUAVER_TRIPLET, SEMIBREVE, SIXTEENTH_NOTE, SIXTEENTH_NOTE_TRIPLET, SN, SNT, SQ, SQD, SQT, THIRTYSECOND_NOTE, THIRTYSECOND_NOTE_TRIPLET, TN, TNT, TSN, TSNT, WHOLE_NOTE, WN
a0, A0, a1, A1, a2, A2, a3, A3, a4, A4, a5, A5, a6, A6, a7, A7, a8, A8, af0, AF0, af1, AF1, af2, AF2, af3, AF3, af4, AF4, af5, AF5, af6, AF6, af7, AF7, af8, AF8, afn1, AFN1, an1, AN1, as0, AS0, as1, AS1, as2, AS2, as3, AS3, as4, AS4, as5, AS5, as6, AS6, as7, AS7, as8, AS8, asn1, ASN1, b0, B0, b1, B1, b2, B2, b3, B3, b4, B4, b5, B5, b6, B6, b7, B7, b8, B8, bf0, BF0, bf1, BF1, bf2, BF2, bf3, BF3, bf4, BF4, bf5, BF5, bf6, BF6, bf7, BF7, bf8, BF8, bfn1, BFN1, bn1, BN1, bs0, BS0, bs1, BS1, bs2, BS2, bs3, BS3, bs4, BS4, bs5, BS5, bs6, BS6, bs7, BS7, bs8, BS8, bsn1, BSN1, c0, C0, c1, C1, c2, C2, c3, C3, c4, C4, c5, C5, c6, C6, c7, C7, c8, C8, c9, C9, cf0, CF0, cf1, CF1, cf2, CF2, cf3, CF3, cf4, CF4, cf5, CF5, cf6, CF6, cf7, CF7, cf8, CF8, cf9, CF9, cn1, CN1, cs0, CS0, cs1, CS1, cs2, CS2, cs3, CS3, cs4, CS4, cs5, CS5, cs6, CS6, cs7, CS7, cs8, CS8, cs9, CS9, csn1, CSN1, d0, D0, d1, D1, d2, D2, d3, D3, d4, D4, d5, D5, d6, D6, d7, D7, d8, D8, d9, D9, df0, DF0, df1, DF1, df2, DF2, df3, DF3, df4, DF4, df5, DF5, df6, DF6, df7, DF7, df8, DF8, df9, DF9, dfn1, DFN1, dn1, DN1, ds0, DS0, ds1, DS1, ds2, DS2, ds3, DS3, ds4, DS4, ds5, DS5, ds6, DS6, ds7, DS7, ds8, DS8, ds9, DS9, dsn1, DSN1, e0, E0, e1, E1, e2, E2, e3, E3, e4, E4, e5, E5, e6, E6, e7, E7, e8, E8, e9, E9, ef0, EF0, ef1, EF1, ef2, EF2, ef3, EF3, ef4, EF4, ef5, EF5, ef6, EF6, ef7, EF7, ef8, EF8, ef9, EF9, efn1, EFN1, en1, EN1, es0, ES0, es1, ES1, es2, ES2, es3, ES3, es4, ES4, es5, ES5, es6, ES6, es7, ES7, es8, ES8, es9, ES9, esn1, ESN1, f0, F0, f1, F1, f2, F2, f3, F3, f4, F4, f5, F5, f6, F6, f7, F7, f8, F8, f9, F9, ff0, FF0, ff1, FF1, ff2, FF2, ff3, FF3, ff4, FF4, ff5, FF5, ff6, FF6, ff7, FF7, ff8, FF8, ff9, FF9, ffn1, FFN1, fn1, FN1, fs0, FS0, fs1, FS1, fs2, FS2, fs3, FS3, fs4, FS4, fs5, FS5, fs6, FS6, fs7, FS7, fs8, FS8, fs9, FS9, fsn1, FSN1, g0, G0, g1, G1, g2, G2, g3, G3, g4, G4, g5, G5, g6, G6, g7, G7, g8, G8, g9, G9, gf0, GF0, gf1, GF1, gf2, GF2, gf3, GF3, gf4, GF4, gf5, GF5, gf6, GF6, gf7, GF7, gf8, GF8, gf9, GF9, gfn1, GFN1, gn1, GN1, gs0, GS0, gs1, GS1, gs2, GS2, gs3, GS3, gs4, GS4, gs5, GS5, gs6, GS6, gs7, GS7, gs8, GS8, gsn1, GSN1, REST
FRQ
EQUAL, JUST, MEAN, PYTHAGOREAN
F, FF, FFF, FORTE, FORTISSIMO, MEZZO_FORTE, MEZZO_PIANO, MF, MP, P, PIANISSIMO, PP, PPP, SILENT
PAN_CENTER, PAN_CENTRE, PAN_LEFT, PAN_RIGHT
AAH, ABASS, AC_GUITAR, ACCORDION, ACOUSTIC_BASS, ACOUSTIC_GRAND, ACOUSTIC_GUITAR, AGOGO, AHHS, ALTO, ALTO_SAX, ALTO_SAXOPHONE, APPLAUSE, ATMOSPHERE, BAG_PIPES, BAGPIPE, BAGPIPES, BANDNEON, BANJO, BARI, BARI_SAX, BARITONE, BARITONE_SAX, BARITONE_SAXOPHONE, BASS, BASSOON, BELL, BELLS, BIRD, BOTTLE, BOTTLE_BLOW, BOWED_GLASS, BRASS, BREATH, BREATHNOISE, BRIGHT_ACOUSTIC, BRIGHTNESS, CALLOPE, CELESTA, CELESTE, CELLO, CGUITAR, CHARANG, CHIFFER, CHIFFER_LEAD, CHOIR, CHURCH_ORGAN, CLAR, CLARINET, CLAV, CLAVINET, CLEAN_GUITAR, CONCERTINA, CONTRA_BASS, CONTRABASS, CRYSTAL, CYMBAL, DGUITAR, DIST_GUITAR, DISTORTED_GUITAR, DOUBLE_BASS, DROPS, DRUM, DX_EPIANO, EBASS, ECHO, ECHO_DROP, ECHO_DROPS, ECHOS, EL_BASS, EL_GUITAR, ELECTRIC_BASS, ELECTRIC_GRAND, ELECTRIC_GUITAR, ELECTRIC_ORGAN, ELECTRIC_PIANO, ELPIANO, ENGLISH_HORN, EPIANO, EPIANO2, FANTASIA, FBASS, FIDDLE, FINGERED_BASS, FLUTE, FRENCH_HORN, FRET, FRET_NOISE, FRETLESS, FRETLESS_BASS, FRETNOISE, FRETS, GLOCK, GLOCKENSPIEL, GMSAW_WAVE, GMSQUARE_WAVE, GOBLIN, GT_HARMONICS, GUITAR, GUITAR_HARMONICS, GUNSHOT, HALO, HALO_PAD, HAMMOND_ORGAN, HARMONICA, HARMONICS, HARP, HARPSICHORD, HELICOPTER, HONKYTONK, HONKYTONK_PIANO, HORN, ICE_RAIN, ICERAIN, JAZZ_GUITAR, JAZZ_ORGAN, JGUITAR, KALIMBA, KOTO, MARIMBA, METAL_PAD, MGUITAR, MUSIC_BOX, MUTED_GUITAR, MUTED_TRUMPET, NGUITAR, NYLON_GUITAR, OBOE, OCARINA, OGUITAR, OOH, OOHS, ORCHESTRA_HIT, ORGAN, ORGAN2, ORGAN3, OVERDRIVE_GUITAR, PAD, PAN_FLUTE, PANFLUTE, PBASS, PHONE, PIANO, PIANO_ACCORDION, PIC, PICC, PICCOLO, PICKED_BASS, PIPE_ORGAN, PIPES, PITZ, PIZZ, PIZZICATO_STRINGS, POLY_SYNTH, POLYSYNTH, PSTRINGS, RAIN, RECORDER, REED_ORGAN, REVERSE_CYMBAL, RHODES, SAW, SAWTOOTH, SAX, SAXOPHONE, SBASS, SEA, SEASHORE, SFX, SGUITAR, SHAKUHACHI, SHAMISEN, SHANNAI, SITAR, SLAP, SLAP_BASS, SLAP_BASS_1, SLAP_BASS_2, SLOW_STRINGS, SOLO_VOX, SOP, SOPRANO, SOPRANO_SAX, SOPRANO_SAXOPHONE, SOUNDEFFECTS, SOUNDFX, SOUNDTRACK, SPACE_VOICE, SQUARE, STAR_THEME, STEEL_DRUM, STEEL_DRUMS, STEEL_GUITAR, STEELDRUM, STEELDRUMS, STR, STREAM, STRING_ENSEMBLE_1, STRING_ENSEMBLE_2, STRINGS, SWEEP, SWEEP_PAD, SYN_CALLIOPE, SYNTH_BASS, SYNTH_BASS_1, SYNTH_BASS_2, SYNTH_BRASS, SYNTH_BRASS_1, SYNTH_BRASS_2, SYNTH_CALLIOPE, SYNTH_DRUM, SYNTH_DRUMS, SYNTH_STRINGS, SYNTH_STRINGS_1, SYNTH_STRINGS_2, SYNVOX, TAIKO, TELEPHONE, TENOR, TENOR_SAX, TENOR_SAXOPHONE, THUMB_PIANO, THUNDER, TIMP, TIMPANI, TINKLE_BELL, TOM, TOM_TOM, TOM_TOMS, TOMS, TREMOLO, TREMOLO_STRINGS, TROMBONE, TRUMPET, TUBA, TUBULAR_BELL, TUBULAR_BELLS, VIBES, VIBRAPHONE, VIOLA, VIOLIN, VIOLIN_CELLO, VOICE, VOX, WARM_PAD, WHISTLE, WIND, WOODBLOCK, WOODBLOCKS, XYLOPHONE
ACOUSTIC_BASS_DRUM, ACOUSTIC_SNARE, BASS_DRUM_1, CABASA, CHINESE_CYMBAL, CLAVES, CLOSED_HI_HAT, COWBELL, CRASH_CYMBAL_1, CRASH_CYMBAL_2, ELECTRIC_SNARE, HAND_CLAP, HI_BONGO, HI_MID_TOM, HI_WOOD_BLOCK, HIGH_AGOGO, HIGH_FLOOR_TOM, HIGH_TIMBALE, HIGH_TOM, LONG_GUIRO, LONG_WHISTLE, LOW_AGOGO, LOW_BONGO, LOW_CONGA, LOW_FLOOR_TOM, LOW_MID_TOM, LOW_TIMBALE, LOW_TOM, LOW_WOOD_BLOCK, MARACAS, MUTE_CUICA, MUTE_HI_CONGA, MUTE_TRIANGLE, OPEN_CUICA, OPEN_HI_CONGA, OPEN_HI_HAT, OPEN_TRIANGLE, PEDAL_HI_HAT, RIDE_BELL, RIDE_CYMBAL_1, RIDE_CYMBAL_2, SHORT_GUIRO, SHORT_WHISTLE, SIDE_STICK, SPLASH_CYMBAL, TAMBOURINE, VIBRASLAP
AEOLIAN_SCALE, BLUES_SCALE, CHROMATIC_SCALE, DIATONIC_MINOR_SCALE, DORIAN_SCALE, HARMONIC_MINOR_SCALE, INDIAN_SCALE, LYDIAN_SCALE, MAJOR_SCALE, MELODIC_MINOR_SCALE, MINOR_SCALE, MIXOLYDIAN_SCALE, NATURAL_MINOR_SCALE, PENTATONIC_SCALE, TURKISH_SCALE
BROWN_NOISE, FRACTAL_NOISE, SMOOTH_NOISE, STEP_NOISE, WHITE_NOISE
AFTER, BEFORE, CENTER_ALIGN, CENTER_ON_END, CENTER_ON_START, CENTRE_ALIGN, CENTRE_ON_END, CENTRE_ON_START, END_ON_CENTER, END_ON_CENTRE, END_TOGETHER, START_ON_CENTER, START_ON_CENTRE, START_TOGETHER
Constructor and Description |
---|
Oscillator(AudioObject[] ao)
This constructor sets the Oscillator to act as
a processor object taking in two inputs.
|
Oscillator(AudioObject ao,
int waveType,
int choice)
This constructor sets the Oscillator to act as
a processor object taking in one input.
|
Oscillator(AudioObject ao,
int waveType,
int choice,
double val)
This constructor sets the Oscillator to act as
a processor object taking in one input.
|
Oscillator(Instrument inst)
This constructor sets this Oscillator up as a generator
using default parameters
|
Oscillator(Instrument inst,
int waveType)
This constructor sets this Oscillator up as a generator
specifying the type of waveform to use
|
Oscillator(Instrument inst,
int waveType,
int sampleRate)
This constructor sets this Oscillator up as a generator
specifying the type of waveform and sample rate to use
|
Oscillator(Instrument inst,
int waveType,
int sampleRate,
int channels)
This constructor sets this Oscillator up as a generator
specifying the type of waveform and sample rate to use
|
Oscillator(Instrument inst,
int waveType,
int sampleRate,
int channels,
int fixedModChoice,
double freqVal)
This constructor sets this Oscillator up as a generator
specifying the type of wavetable and ferquency
|
Modifier and Type | Method and Description |
---|---|
void |
build()
The build method can be overriden by Audio Objects
to provide any extra initialization that may be
required before the Audio Object can be used for
each new note that needs rendering.
|
float |
getAmp()
Get the fixed amp of this Oscillator
|
protected float |
getWaveSample()
Returns a sample from any of the following waveforms
|
void |
setAmp(float amp)
Set the fixed amp of this Oscillator
|
void |
setChoice(int choiceVal)
Set the parameter of this Oscillator to accept the fixed value
|
void |
setFrq(float frq)
Set the fixed Frequency of this Oscillator
|
void |
setFrqRatio(double frqRatio)
Sets the frequency ratio to alter a notes pitch by
|
void |
setPhase(double phase)
Specify the initial phase of the waveform
|
void |
setPulseWidth(double width)
Specify the positive proportion of the pulse wave
|
protected void |
setSI(double frequency)
Returns the sampling increment which is used
to nextWork out how many samples in the Oscillator
skip on each pass.
|
int |
work(float[] buffer)
Moves through the Oscillator array (noramally forwards but sometimes
backwards) by increments set by si (sample increment value).
|
buildNext, getChannels, getSampleRate, newNote, nextWork
public static final int SINE_WAVE
public static final int COSINE_WAVE
public static final int TRIANGLE_WAVE
public static final int SQUARE_WAVE
public static final int SAWTOOTH_WAVE
public static final int SAWDOWN_WAVE
public static final int SABERSAW_WAVE
public static final int PULSE_WAVE
public static final int AMPLITUDE
public static final int FREQUENCY
public Oscillator(AudioObject[] ao) throws AOException
two
- AudioObjecs as inputAOException
- thrown when two many inputs are attachedpublic Oscillator(AudioObject ao, int waveType, int choice)
ao
- the one input audio objectwaveType
- the type of timbre to generatechoice
- Is this input amplitude(0) or frequency(1)public Oscillator(AudioObject ao, int waveType, int choice, double val)
ao
- the one input audio objectwaveType
- the type of timbre to generatechoice
- Is this input amplitude(0) or frequency(1)val
- is used to set a fixed frequency or amplitude based
on the result of choice
(choice=0 for example will set a fixed frequency)public Oscillator(Instrument inst)
Instrument
- the instance this is associated with 'this'public Oscillator(Instrument inst, int waveType)
Instrument
- the instance this is associated with 'this'waveType
- an integer or constant sepcifying the noise typepublic Oscillator(Instrument inst, int waveType, int sampleRate)
Instrument
- the instance this is associated with 'this'waveType
- an integer or constant sepcifying the noise typesampleRate
- an int that sets the sample rate in samples per secondpublic Oscillator(Instrument inst, int waveType, int sampleRate, int channels)
Instrument
- the instance this is associated with 'this'waveType
- an integer or constant sepcifying the noise typesampleRate
- an int that sets the sample rate in samples per secondcahannels
- 1 for mono 2 for stereo etc.public Oscillator(Instrument inst, int waveType, int sampleRate, int channels, int fixedModChoice, double freqVal)
Instrument
- the instance this is associated with 'this'waveType
- an integer or constant sepcifying the noise typesampleRate
- an int that sets the sample rate in samples per secondcahannels
- 1 for mono 2 for stereo etc.fixedModChoice
- Is this input amplitude(0) or frequency(1)freqVal
- is used to set a fixed frequency or amplitude based on the
result of choice (choice=0 for example will set a fixed frequency)public int work(float[] buffer) throws AOException
work
in class AudioObject
buffer
- The sample buffer.AOException
public void build()
AudioObject
build
in class AudioObject
public void setChoice(int choiceVal)
choiceVal
- 0 = fixed amplitude, 1 = fixed frequencypublic void setAmp(float amp)
amp
- Fixed value amplitudepublic float getAmp()
public void setFrq(float frq)
frq
- Fixed value frequencypublic void setFrqRatio(double frqRatio)
frqRatio
- Fixed ratio value to change frequency byprotected void setSI(double frequency)
frequency
- the frequency used to find siprotected float getWaveSample()
public void setPulseWidth(double width)
width
- A value between 0.0 and 1.0public void setPhase(double phase)
phase
- The phase in radians (between 0.0 and 2 * PI)