public class Oscillator extends AudioObject
| Modifier and Type | Field and Description | 
|---|---|
| static int | AMPLITUDEUse the modulation source to change the amplitude of this oscillator | 
| static int | COSINE_WAVEThe constant that represents the cosine wave form | 
| static int | FREQUENCYUse the modulation source to change the frequency of this oscillator | 
| static int | PULSE_WAVEThe constant that represents the sine wave form. | 
| static int | SABERSAW_WAVEThe constant that represents the exponential sawtooth wave form | 
| static int | SAWDOWN_WAVEThe constant that represents the inverse sawtooth wave form | 
| static int | SAWTOOTH_WAVEThe constant that represents the sawtooth wave form | 
| static int | SINE_WAVEThe constant that represents the sine wave form | 
| static int | SQUARE_WAVEThe constant that represents the square wave form | 
| static int | TRIANGLE_WAVEThe constant that represents the triangle wave form | 
channels, currentNote, currentNoteStartTime, finished, inputs, inst, name, next, numOfSamples, previous, sampleRateDEBUG, 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, VERBOSEC, 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, WNa0, 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, RESTFRQEQUAL, JUST, MEAN, PYTHAGOREANF, FF, FFF, FORTE, FORTISSIMO, MEZZO_FORTE, MEZZO_PIANO, MF, MP, P, PIANISSIMO, PP, PPP, SILENTPAN_CENTER, PAN_CENTRE, PAN_LEFT, PAN_RIGHTAAH, 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, XYLOPHONEACOUSTIC_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, VIBRASLAPAEOLIAN_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_SCALEBROWN_NOISE, FRACTAL_NOISE, SMOOTH_NOISE, STEP_NOISE, WHITE_NOISEAFTER, 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, nextWorkpublic 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 AudioObjectbuffer - The sample buffer.AOExceptionpublic void build()
AudioObjectbuild in class AudioObjectpublic 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)