diff options
| author | fakebitpolytechnic <fakebitpoly@gmail.com> | 2013-07-24 21:32:38 +0100 |
|---|---|---|
| committer | fakebitpolytechnic <fakebitpoly@gmail.com> | 2013-07-24 21:32:38 +0100 |
| commit | f05d634b101e034919302870ea5d6ee1317a6ba1 (patch) | |
| tree | 98241d241e9a4edfac2c881ce7094e8dbefd0c5f | |
| parent | 43bb2defebdb119430683868226f91a81d0db230 (diff) | |
Beta 3-note polyphony, simple waves + filter
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/Wave.h | 183 | ||||
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/WaveClass3PolyPlusLPF_BETA.ino | 419 | ||||
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/hihatc909.h | 57 | ||||
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/hihato909.h | 103 | ||||
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/kick909.h | 119 | ||||
| -rw-r--r-- | WaveClass3PolyPlusLPF_BETA/snare909.h | 116 |
6 files changed, 997 insertions, 0 deletions
diff --git a/WaveClass3PolyPlusLPF_BETA/Wave.h b/WaveClass3PolyPlusLPF_BETA/Wave.h new file mode 100644 index 0000000..a9afd72 --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/Wave.h @@ -0,0 +1,183 @@ +/* + * Wave.h + * + * Simon Green 2013. + * + * Based on Mozzi "Oscil.h" + */ + +#ifndef WAVE_H_ +#define WAVE_H_ + +#include "Arduino.h" +#include "mozzi_fixmath.h" +#include <util/atomic.h> + +// fractional bits for oscillator index precision +#define OSCIL_F_BITS 16 +#define OSCIL_F_BITS_AS_MULTIPLIER 65536 +#define NUM_TABLE_CELLS 256 +#define ADJUST_FOR_NUM_TABLE_CELLS 8 +#define UPDATE_RATE AUDIO_RATE + +/** Generate waveform +*/ + +enum WaveType { WAVE_SAW=0, WAVE_TRI, WAVE_RECT, WAVE_NOISE }; + +class Wave +{ +public: + /** Constructor. "Wave mywave;" makes a Wave oscillator + */ + Wave () { + phase_fractional = 0; + phase_increment_fractional = 0; + wavetype = WAVE_SAW; + noise = 0xACE1; + pulse_width = 128; + } + + /** Increments one step along the phase. + @return the next value. + */ + inline + char next() + { + incrementPhase(); + + char w; + //ATOMIC_BLOCK(ATOMIC_RESTORESTATE) + { + int n = (phase_fractional >> OSCIL_F_BITS) & (NUM_TABLE_CELLS-1); + switch(wavetype) { + case WAVE_SAW: + w = n - 128; + break; + case WAVE_TRI: + if (n & 0x80) // >= 128 + w = ((n^0xFF)<<1)-128; + else + w = (n<<1)-128; + break; + case WAVE_RECT: + if (n > pulse_width) + w = 127; + else + w = -127; + break; + case WAVE_NOISE: + noise = (noise >> 1) ^ (-(noise & 1) & 0xB400u); + w = noise>>8; + break; + } + } + return w; + } + + /** Set the wave type + */ + inline + void setType(WaveType x) + { + wavetype = x; + } + + WaveType getType() { return wavetype; } + + /** Set the pulse width for rectangle wave + */ + inline + void setPulseWidth(unsigned char x) + { + pulse_width = x; + } + + /** Set the oscillator frequency with an unsigned int. This is faster than using a + float, so it's useful when processor time is tight, but it can be tricky with + low and high frequencies, depending on the size of the wavetable being used. If + you're not getting the results you expect, try explicitly using a float, or try + setFreq_Q24n8() or or setFreq_Q16n16(). + @param frequency to play the wave table. + */ + inline + void setFreq (unsigned int frequency) { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) + { + phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)*frequency)/UPDATE_RATE) << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS); + } + } + + + /** Set the oscillator frequency with a float. Using a float is the most reliable + way to set frequencies, -Might- be slower than using an int but you need either + this, setFreq_Q24n8() or setFreq_Q16n16() for fractional frequencies. + @param frequency to play the wave table. + */ + inline + void setFreq(float frequency) + { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) + { + phase_increment_fractional = (unsigned long)((((float)NUM_TABLE_CELLS * frequency)/UPDATE_RATE) * OSCIL_F_BITS_AS_MULTIPLIER); + } + } + + + /** Set the frequency using Q24n8 fixed-point number format. + This might be faster than the float version for setting low frequencies such as + 1.5 Hz, or other values which may not work well with your table size. A Q24n8 + representation of 1.5 is 384 (ie. 1.5 * 256). Can't be used with UPDATE_RATE + less than 64 Hz. + @param frequency in Q24n8 fixed-point number format. + */ + inline + void setFreq_Q24n8(Q24n8 frequency) + { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) + { + //phase_increment_fractional = (frequency* (NUM_TABLE_CELLS>>3)/(UPDATE_RATE>>6)) << (F_BITS-(8-3+6)); + phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>3)*frequency)/(UPDATE_RATE>>6)) + << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - (8-3+6)); + } + } + + + /** Set the frequency using Q16n16 fixed-point number format. This is useful in + combination with Q16n16_mtof(), a fast alternative to mtof(), using Q16n16 + fixed-point format instead of floats. Note: this should work OK with tables 2048 cells or smaller and + frequencies up to 4096 Hz. Can't be used with UPDATE_RATE less than 64 Hz. + @param frequency in Q16n16 fixed-point number format. + */ + inline + void setFreq_Q16n16(Q16n16 frequency) + { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) + { + //phase_increment_fractional = ((frequency * (NUM_TABLE_CELLS>>7))/(UPDATE_RATE>>6)) << (F_BITS-16+1); + phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>7)*frequency)/(UPDATE_RATE>>6)) + << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - 16 + 1); + + } + } + +private: + /** Increments the phase of the oscillator without returning a sample. + */ + inline + void incrementPhase() + { + //phase_fractional += (phase_increment_fractional | 1); // odd phase incr, attempt to reduce frequency spurs in output + phase_fractional += phase_increment_fractional; + } + + unsigned long phase_fractional; + volatile unsigned long phase_increment_fractional; + + unsigned char pulse_width; + uint16_t noise; + + WaveType wavetype; +}; + +#endif /* WAVE_H_ */ diff --git a/WaveClass3PolyPlusLPF_BETA/WaveClass3PolyPlusLPF_BETA.ino b/WaveClass3PolyPlusLPF_BETA/WaveClass3PolyPlusLPF_BETA.ino new file mode 100644 index 0000000..fec5fc5 --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/WaveClass3PolyPlusLPF_BETA.ino @@ -0,0 +1,419 @@ +/* Example of a sound being triggered by MIDI input. + * + * Demonstrates playing notes with Mozzi in response to MIDI input, + * using the standard Arduino MIDI library: + * http://playground.arduino.cc/Main/MIDILibrary + * + * Mozzi help/discussion/announcements: + * https://groups.google.com/forum/#!forum/mozzi-users + * + * Tim Barrass 2013. + * This example code is in the public domain. + * + * sgreen - modified to use standard Arduino midi library, added saw wave, lowpass filter + * Audio output from pin 9 (pwm) + * Midi plug pin 2 (centre) to Arduino gnd, pin 5 to RX (0) + * http://www.philrees.co.uk/midiplug.htm + * Now with drums! (still has all this code in there, commented out : ) + +S Green: +mod controller/ribbon is low pass filter cut-off +big button switches between tri/rectangle/noise/saw +(noise is at constant frequency) + +NB quite easy to crash the filter with loud sounds, hit reset! + + */ + + +#include <MIDI.h> +#include <MozziGuts.h> +#include <Oscil.h> // oscillator template +#include <Line.h> // for envelope +#include <Sample.h> +#include <mozzi_utils.h> +#include <mozzi_analog.h> + +#include <tables/sin2048_int8.h> // sine table for oscillator +//#include <tables/saw2048_int8.h> +//#include <tables/triangle2048_int8.h> + +#include <mozzi_midi.h> +#include <ADSR.h> +#include <fixedMath.h> +#include <LowPassFilter.h> +#include "Wave.h" + +#define MAX_NOTES 3 +//Dave G: seems to do 3 note polyphony without clicking + +#define DRUM_SAMPLES 0 + +#if DRUM_SAMPLES +#include "kick909.h" +#include "snare909.h" +#include "hihatc909.h" +#include "hihato909.h" +#endif + +// use #define for CONTROL_RATE, not a constant +#define CONTROL_RATE 128 // powers of 2 please + +#define ENABLE_MIDI 1 +#define DEBUG 0 +#define BPM 120 +#define STEPS_PER_BEAT 4 + +unsigned long stepCounter = 0; +unsigned long ticksPerStep = (60*CONTROL_RATE) / (BPM*STEPS_PER_BEAT); + +// audio sinewave oscillator +//Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> osc(SIN2048_DATA); +//Oscil <SAW2048_NUM_CELLS, AUDIO_RATE> osc(SAW2048_DATA); +//Oscil <TRIANGLE2048_NUM_CELLS, AUDIO_RATE> osc(TRIANGLE2048_DATA); +//Wave myosc; +//Wave lfo; +Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> lfo(SIN2048_DATA); + +struct Channel { + Wave osc; + //Oscil <TRIANGLE2048_NUM_CELLS, AUDIO_RATE> osc; + ADSR <CONTROL_RATE> env; + byte note; +}; +Channel chan[MAX_NOTES]; +byte currentChan = 0; + +// envelope generator +//ADSR <CONTROL_RATE> envelope; +LowPassFilter lpf; +int crushCtrl = 0; +int gain = 32; +float octave = 1.0f; + +boolean enableDrums = false; + +int step = 0; +int waveType = 1; + +int button0_old = 0; +int button1_old = 0; + +#if DRUM_SAMPLES +// drums +Sample <kick909_NUM_CELLS, AUDIO_RATE> kickSamp(kick909_DATA); +Sample <snare909_NUM_CELLS, AUDIO_RATE> snareSamp(snare909_DATA); +Sample <hihatc909_NUM_CELLS, AUDIO_RATE> hihatcSamp(hihatc909_DATA); +Sample <hihato_NUM_CELLS, AUDIO_RATE> hihatoSamp(hihato_DATA); +#endif + +byte pattern[4][16] = { + //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 hhc + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, // 1 hho + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, // 2 s + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1 // 3 k +}; + +// pin defines +#define LED 13 // to see if MIDI is being recieved +#define BUTTON0_PIN 2 +#define BUTTON1_PIN 3 + +// forward declarations +void HandleNoteOn(byte channel, byte note, byte velocity); +void HandleNoteOff(byte channel, byte note, byte velocity); +void HandleControlChange (byte channel, byte number, byte value); +void HandlePitchBend (byte channel, int bend); + +void setup() { + // init IO pins + pinMode(LED, OUTPUT); + +#if 0 + pinMode(BUTTON0_PIN, INPUT); + digitalWrite(BUTTON0_PIN, HIGH); // turn on pull-up resistor + + pinMode(BUTTON1_PIN, INPUT); + digitalWrite(BUTTON1_PIN, HIGH); // turn on pull-up resistor +#endif + +#if DEBUG + Serial.begin(57600); // for debugging +#endif + +#if ENABLE_MIDI + // Initiate MIDI communications, listen to all channels + MIDI.begin(MIDI_CHANNEL_OMNI); + + // Connect the HandleNoteOn function to the library, so it is called upon reception of a NoteOn. + MIDI.setHandleNoteOn(HandleNoteOn); // Put only the name of the function + MIDI.setHandleNoteOff(HandleNoteOff); // Put only the name of the function + MIDI.setHandleControlChange(HandleControlChange); + MIDI.setHandlePitchBend(HandlePitchBend); + MIDI.setHandleContinue(HandleContinue); + MIDI.setHandleStop(HandleStop); +#endif + +#if 0 + //osc.setFreq(440u); // default frequency + //myosc.setFreq(440.0f); + myosc.setFreq(440.0f*4.0f); + myosc.setPulseWidth(32); + + envelope.setADLevels(255, 200); + envelope.setTimes(50, 200, 65535, 200); +#endif + + for(int i=0; i<MAX_NOTES; i++) + { + chan[i].osc.setType(WAVE_TRI); + //chan[i].osc.setTable(TRIANGLE2048_DATA); + chan[i].osc.setPulseWidth(16); + chan[i].env.setADLevels(128, 100); + chan[i].env.setTimes(100, 200, 65535, 200); + } + + //lfo.setType(WAVE_TRI); + lfo.setFreq(10.0f); + + lpf.setResonance(128); + lpf.setCutoffFreq(255); + +#if DRUM_SAMPLES + kickSamp.setFreq((float) kick909_SAMPLERATE / (float) kick909_NUM_CELLS); + snareSamp.setFreq((float) snare909_SAMPLERATE / (float) snare909_NUM_CELLS); + hihatcSamp.setFreq((float) hihatc909_SAMPLERATE / (float) hihatc909_NUM_CELLS); + hihatoSamp.setFreq((float) hihato_SAMPLERATE / (float) hihato_NUM_CELLS); + //snareSamp.start(); +#endif + + //setupFastAnalogRead(); // optional + adcEnableInterrupt(); // for analog reads + + startMozzi(CONTROL_RATE); +} + +void HandleNoteOn(byte channel, byte note, byte velocity) { + //osc.setFreq(mtof(note)); // simple but less accurate frequency + //osc.setFreq_Q16n16(Q16n16_mtof(Q8n0_to_Q16n16(note))); // accurate frequency + //myosc.setFreq(mtof(note)); // accurate frequency + //envelope.noteOn(); + + // start note on next channel - NB no "note priority" at this stage + chan[currentChan].note = note; + chan[currentChan].osc.setFreq( mtof(note) ); // accurate frequency + chan[currentChan].env.noteOn(); + currentChan = (currentChan + 1) % MAX_NOTES; // just wraps around for now + + digitalWrite(LED,HIGH); +} + +void HandleNoteOff(byte channel, byte note, byte velocity) { + //envelope.noteOff(); + + // find which channel was playing this note + for(int i=0; i<MAX_NOTES; i++) { + if (chan[i].note == note) { + // kill it + chan[i].env.noteOff(); + } + } + + digitalWrite(LED,LOW); +} + +void HandleControlChange (byte channel, byte number, byte value) +{ + // http://www.indiana.edu/~emusic/cntrlnumb.html + switch(number) { + case 1: // modulation wheel + //gain = value*2; + lpf.setCutoffFreq(value*2); // control messages are in [0, 127] range + break; + + case 105: + lpf.setCutoffFreq(value*2); // control messages are in [0, 127] range + break; + case 106: + //lpf.setResonance(value*2); + crushCtrl = value; + break; + } +} + +// pitchbend = control strip + button on Keytar +void HandlePitchBend (byte channel, int bend) +{ + //bend value from +/-8192 + //lfo.setFreq((unsigned int) (bend+8192)>>7); + for(int i=0; i<MAX_NOTES; i++) { + chan[i].osc.setPulseWidth((bend+8192) >> 8); + } + +} + +void HandleStop () { //this is the Back button on the Xbox keyboard +// octave *= 2.0f; +// if (octave > 16.0f) octave = 1.0f; +//Dave G: no longer used : ) +} + +void HandleContinue () { // the big round button on all keytars + + // change wave + waveType = (waveType + 1) & 3; + + for(int i=0; i<MAX_NOTES; i++) + { +#if 0 + switch(waveType) { + case 0: + chan[i].osc.setTable(TRIANGLE2048_DATA); + break; + case 1: + chan[i].osc.setTable(SAW2048_DATA); + break; + case 2: + chan[i].osc.setTable(SIN2048_DATA); + break; + } +#else + for(int i=0; i<MAX_NOTES; i++) + { + chan[i].osc.setType((WaveType) waveType); + } +#endif + } +} + +void updateControl(){ +#if ENABLE_MIDI + MIDI.read(); +#endif + + //envelope.update(); + + // update playing envelopes + for(int i=0; i<MAX_NOTES; i++) { + chan[i].env.update(); + } + +#if 0 + // push buttons + int button0 = !digitalRead(BUTTON0_PIN); // active low + int button1 = !digitalRead(BUTTON1_PIN); + + /* + if (button0) { + // trigger + //envelope.noteOn(); + //lpf.reset(); + digitalWrite(LED, HIGH); + } else { + digitalWrite(LED, LOW); + } + */ + + if (button0 && !button0_old) { + lfo.setType((WaveType) ((((int) lfo.getType()) + 1) % 3)); + } + button0_old = button0; + + if (button1 & !button1_old) { + waveType = (waveType + 1) & 3; + //myosc.setType((WaveType) waveType); + for(int i=0; i<MAX_NOTES; i++) + { + chan[i].osc.setType((WaveType) waveType); + } + } + button1_old = button1; +#endif + +#if DRUM_SAMPLES + if (enableDrums) { + // drums + stepCounter++; + if (stepCounter > ticksPerStep) { + step = (step+1) & 0xf; + stepCounter = 0; + if (pattern[0][step]) hihatcSamp.start(); + if (pattern[1][step]) hihatoSamp.start(); + if (pattern[2][step]) snareSamp.start(); + if (pattern[3][step]) kickSamp.start(); + } + } +#endif + +#if 0 + // knobs + int knob0 = adcGetResult(0); // [0, 1023] + int knob1 = adcGetResult(1); + //lpf.setCutoffFreq(knob0>>2); + //lpf.setResonance(knob1>>2); + + //crushCtrl = knob1>>7; + lfo.setFreq((float) knob0); + //myosc.setFreq((float) knob1); + //myosc.setFreq((unsigned int) knob0*20); + //myosc.setPulseWidth((unsigned char) (knob1>>2)); + + // start the next read cycle in the background + adcReadAllChannels(); +#endif + +#if DEBUG + Serial.println(knob0); +#endif +} + +// strip the low bits off! +int bitCrush(int x, int a) +{ + return (x>>a)<<a; +} + +int updateAudio() +{ + //int x = (int) (envelope.next() * osc.next())>>8; + //int x = (int) (envelope.next() * myosc.next())>>8; + //int x = (int) (envelope.next() * (lfo.next() * myosc.next())>>8)>>8; + //int x = (int) lfo.next(); + //int x = (int) (lfo.next() * myosc.next())>>8; + //int x = (int) (envelope.next() * lpf.next(myosc.next()))>>8; + //int x = (envelope.next() * lpf.next(osc.next()))>>8; + //x = bitCrush(x, crushCtrl>>4); + //x = bitCrush(x, crushCtrl); + //x = (x * crushCtrl)>>4; // simple gain + //x = x>>2; + //x = lpf.next(x); + + // sum up channels + int x = 0; + for(int i=0; i<MAX_NOTES; i++) { + x += (int) (chan[i].env.next() * chan[i].osc.next())>>8; + } +//Dave G: might crash less if this went through some sort of waveshaper here? + + //x = (x*gain)>>8; + //x = (x * lfo.next())>>8; + x = lpf.next(x); + +#if DRUM_SAMPLES + if (enableDrums) { + // drums please! + int drums = kickSamp.next() + snareSamp.next() + hihatcSamp.next() + hihatoSamp.next(); + //drums = (drums>>4)<<4; + x += drums*2; + } +#endif + + return x; +} + + +void loop() { + audioHook(); // required here +} + diff --git a/WaveClass3PolyPlusLPF_BETA/hihatc909.h b/WaveClass3PolyPlusLPF_BETA/hihatc909.h new file mode 100644 index 0000000..d52992d --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/hihatc909.h @@ -0,0 +1,57 @@ +#ifndef hihatc909_H_ +#define hihatc909_H_ + +#include "Arduino.h" +#include <avr/pgmspace.h> + +#define hihatc909_NUM_CELLS 1024 +#define hihatc909_SAMPLERATE 16384 + +const char __attribute__((progmem)) hihatc909_DATA [] = {1, -2, 1, -2, 2, 0, -4, +13, -18, 2, 3, 3, -1, 4, -9, 7, -5, -2, 4, -22, 23, -7, -8, -2, 7, -5, -8, 12, +-4, 7, 7, -21, 12, -3, -18, 8, 1, 4, -20, 4, -5, -4, -2, 0, -2, -7, 3, -3, -3, +-4, 3, -9, 12, -5, 20, 2, -25, 19, 0, 8, -12, -6, 4, 0, 15, -7, 8, 19, -9, -6, +0, -1, 0, -3, 12, -12, 7, 9, -18, 2, 4, 1, -7, -4, 7, 2, -3, 0, -3, 1, -2, -4, +-4, -11, 7, -8, -2, 11, 2, 8, -1, 4, -3, -1, -2, -9, -6, -3, 3, -9, -9, 4, 1, +-5, 1, 5, 0, 2, 2, -3, 9, 6, -7, 3, 5, 0, -2, 0, 7, -3, -2, -2, -3, 4, -2, 2, +-3, 2, 0, -14, 4, 3, -4, 0, -5, 3, -2, -9, 3, 0, -1, -1, -5, -1, 5, -4, -6, 7, +1, -2, 2, 0, 4, -1, -7, 1, 3, 3, -1, -1, 6, 1, -2, 0, 3, -5, -9, 1, -1, -2, 0, +-2, -1, 2, -1, -7, -2, -1, 1, -1, -4, 7, -5, -4, 5, 1, 1, 1, -2, 3, 2, -4, 0, 1, +3, -3, 1, -2, 0, 2, -1, 2, -2, -2, 0, -4, -3, 3, -3, 0, -1, -3, 2, -3, -6, 6, +-2, 0, 1, 2, 0, -2, 2, 1, 1, -5, 1, -3, -2, -4, 3, -2, -2, 0, -2, 2, -4, 1, 4, +-4, -1, 1, -1, -1, -2, 2, 1, 1, -4, 5, -4, 0, 1, -4, 3, -2, -1, 3, 0, -3, 0, -1, +-1, -1, 0, -4, 3, -1, -3, 2, -1, -1, 0, 0, 1, 1, -1, 1, -2, -1, -1, -4, -1, 4, +-1, -2, 1, 0, 1, 0, 0, -1, 1, 0, 0, -1, 1, -3, 0, -1, -3, 2, -2, 1, 0, -2, -3, +1, -1, -3, 1, -1, -2, 1, 1, -2, -1, 0, 0, -2, 0, -1, -2, 2, -1, 0, -2, 1, -2, 0, +0, -4, 1, -1, -2, 1, 0, -2, 0, -2, 3, 0, -2, 1, 0, -1, -1, 1, -1, 0, 0, -1, 0, +0, 0, -2, -1, 0, -1, 0, 0, -2, 0, 0, -2, -2, 0, -1, -1, 1, 0, -2, 0, 1, -1, 1, +-1, 0, -1, 0, -1, -1, -1, -2, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, -1, -1, -1, 0, -1, +1, -1, -1, -1, -1, 1, -3, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -2, 0, 0, 0, +-2, -1, 1, -1, 0, 0, -1, 0, 0, 0, -1, -2, 0, -2, -1, 0, 0, -1, 0, 0, -2, 0, -1, +-1, -1, 0, -1, 0, 0, 0, -1, -1, 0, -1, 0, 0, 0, -2, 0, -1, -1, 0, -1, -1, 0, -1, +-1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, +0, -1, -1, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, +0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, +-1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, +-1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, +-1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, +-1, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, +-1, 0, -1, 0, 0, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, +-1, -1, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, +-1, 0, -1, 0, -1, 0, 0, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, +0, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, +-1, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1, +-1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, +-1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, +0, -1, 0, -1, -1, 0, -1, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, +-1, 0, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, +-1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, 0, +-1, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1, 0, -1, -1, +0, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, +0, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, +0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, +-1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, +0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, +0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, }; + + #endif /* hihatc909_H_ */ diff --git a/WaveClass3PolyPlusLPF_BETA/hihato909.h b/WaveClass3PolyPlusLPF_BETA/hihato909.h new file mode 100644 index 0000000..a36f866 --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/hihato909.h @@ -0,0 +1,103 @@ +#ifndef hihato_H_ +#define hihato_H_ + +#include "Arduino.h" +#include <avr/pgmspace.h> + +#define hihato_NUM_CELLS 2048 +#define hihato_SAMPLERATE 16384 + +const char __attribute__((progmem)) hihato_DATA [] = {0, -1, 0, -1, 0, -1, 0, +-1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -2, 4, -4, -1, 3, 1, -8, 7, -2, -9, 3, -1, +1, -3, 0, -2, 4, -3, -4, -1, -3, 3, -2, -5, -1, 2, -1, -3, -1, 4, -2, 4, -3, -2, +4, -1, 6, 0, 8, -5, -5, 2, -2, 2, -2, -2, 7, -4, 6, -11, -6, 11, -6, 1, 4, 0, +-14, 11, -6, -1, -2, -8, 5, -13, 1, 0, -8, 2, 7, 3, 1, -8, 5, 2, 2, -2, -8, 11, +-1, 0, 2, -1, -3, 2, -3, -9, 2, -4, 6, -3, 1, 9, -7, -3, 2, -2, -2, -13, 2, 9, +-3, 4, -3, 4, -6, 3, -1, -7, 13, -5, 3, 1, 1, -5, -13, 1, -2, 8, 0, 2, -4, 6, +-1, 2, 3, -12, 4, -16, 0, -7, 2, 0, -3, 10, -6, 6, -3, -9, -2, 11, -7, -7, 11, +9, -3, 1, -1, -5, -6, -4, 2, -11, 8, 2, -4, 14, 0, -9, 7, -4, 6, -2, -10, -3, 1, +4, -12, 10, -1, 1, 0, 2, -3, 0, 5, 0, 5, -6, 0, -1, 0, -8, -3, -1, -1, 1, -3, 3, +-3, 4, 8, -12, 0, -2, -7, 9, 2, 3, -6, -1, -4, 2, -7, -5, 12, -4, 7, 0, -2, 3, +-1, -2, -3, 1, -3, -1, 2, -1, 2, -8, 1, 7, -8, -3, 1, 5, 4, -3, -3, 1, -3, -13, +2, 0, 1, 2, -13, 4, 4, 4, 0, 6, 2, -6, -9, -5, 12, -3, 1, -10, 10, -1, -7, 3, +-2, 9, -18, 0, -5, 11, -4, 0, 6, -13, 3, -13, 14, 3, -5, 0, -3, 3, 1, -2, 1, 7, +5, -8, 6, 0, -8, 2, -3, 4, -6, 1, -14, 7, 8, -10, 7, -11, 10, -8, -13, 13, -3, +1, -2, 4, -4, -2, 0, 0, 8, -8, 2, 3, 5, -2, -1, -1, 4, 1, -13, 2, 2, -3, -5, 2, +-1, 2, -2, 0, 0, 4, -6, -5, 6, -1, 2, -5, 1, 10, -8, -7, 8, -6, 6, 3, -15, 2, 0, +-8, 6, 5, -4, 2, 0, -6, 5, -2, -4, 2, -3, -1, 5, -2, -2, 0, 1, 4, -8, 2, 4, 0, +0, -2, -1, -3, -1, -5, -3, 6, -18, 5, 10, -6, 10, -3, -4, 3, 1, -11, 4, -3, 5, +-2, -7, 7, -5, 3, -4, 4, -3, 3, -3, -2, 6, -2, 4, -5, 5, -3, -9, -3, -4, 1, -2, +5, 2, -2, 7, -4, -5, 3, 0, 2, 2, -5, -2, 6, 5, -11, 3, -6, 2, 0, -3, 5, -4, 5, +-6, 7, -11, 4, -3, -5, 1, -8, 4, -11, 17, 1, -3, -6, -2, 7, -2, -1, -5, 13, -5, +-8, 1, 5, 3, -10, 5, -5, -4, 7, -7, 8, 5, 1, -2, -8, 7, -8, -2, 2, 1, 4, -5, -5, +-2, 10, -10, -2, 1, -8, 0, -2, 5, 8, -4, -2, -4, 0, 4, -4, 1, -2, 5, 0, 8, -2, +1, -2, -4, 3, -6, 3, 0, -2, 2, 2, -5, -1, -7, -3, 1, 2, -6, 3, 0, -5, 6, -6, -1, +4, -2, -9, 4, 1, 3, 3, -2, 2, -1, -5, -2, 8, -1, -4, -6, 7, 2, 0, -3, 1, 2, -2, +1, -7, 5, -9, -2, 3, -4, 3, -1, -8, -3, 1, 0, -7, 5, 3, -3, -7, 2, 6, -2, 3, -7, +8, -7, 2, 1, 3, 7, -6, -1, -1, -2, -3, 5, -6, 3, 1, 0, -2, -1, -6, -5, 1, 3, 2, +-4, 2, -2, -1, 0, -1, -3, -2, -5, -3, 3, 4, -1, 8, 0, -2, 0, -5, 1, 2, -3, -2, +8, -4, 0, -5, -2, -1, -3, 0, 5, 3, -8, 0, 0, 7, -7, -2, -1, -3, -3, -1, 1, 7, 5, +-7, 1, 1, 4, -4, -3, 2, 5, -2, -6, 1, 1, -3, -7, -1, 3, -8, 3, -1, 2, 6, -11, 4, +1, -2, 0, -2, -3, 6, 6, -6, -1, 1, 2, 1, -1, -2, -1, -1, -5, 3, 0, -1, -1, -7, +0, -5, -1, 4, 0, 6, 0, -3, 1, 6, -5, 0, -3, -7, 6, -2, -2, 1, 5, -4, 4, -7, -4, +6, -3, 1, 0, -1, -4, -5, 2, -2, -5, 3, 1, 4, -1, 0, 1, 4, -1, -5, -1, -6, 2, -4, +-1, 2, -1, 1, -4, -2, 0, 1, 2, -1, 0, 2, -2, 0, 4, 0, -4, 1, -5, 1, -2, 1, 4, 0, +2, 1, -3, -9, 0, -1, 2, -6, -2, 4, 1, -1, -4, 1, -1, 0, -3, 1, 1, 1, 0, 0, 6, +-1, -8, -2, 1, 0, -2, -2, 5, 1, -3, -2, 5, 0, -3, -5, -8, 2, 1, 1, 0, 2, 2, -4, +-1, -2, 2, -5, 0, 6, -4, 5, 0, -4, 1, -4, -8, 6, -3, -4, 4, -3, 3, 0, -1, -2, 1, +-2, -2, 1, -2, -1, 0, 3, 1, 2, -1, -2, 0, -5, -1, 0, 7, 2, -4, 0, -2, -1, -2, +-1, 0, 1, -4, -3, 5, 2, -2, 2, -4, 2, -6, -6, 6, -1, 4, -2, 0, 1, -1, -1, -1, 2, +-3, 2, -5, -1, 4, -2, -1, -2, 2, -4, -5, 1, 2, 3, -1, 4, 1, -3, -2, -2, -2, 0, +2, -5, -2, 2, -1, 4, -4, -5, 3, -7, 2, 3, -3, 1, 2, 1, 1, -2, -3, 2, -4, 1, 0, +-1, 4, 1, -4, 2, -3, -3, 2, -7, 0, 4, -1, -2, 1, 1, -7, 4, -1, -1, -1, -6, 3, 4, +0, -1, 1, -4, 3, -5, -3, 4, -2, 1, 0, 0, 1, 0, -2, -2, -2, -3, -2, -1, 0, 3, -1, +0, 0, -1, -1, -4, 1, 1, 1, 2, -2, 2, 0, -2, 0, -3, -2, -2, 0, 2, 1, -1, 0, -1, +-2, 0, -3, 1, 1, -2, -3, 1, 0, 0, 1, -1, 1, -4, -1, 1, 3, 0, -1, 0, -1, -1, -4, +1, -1, 1, -1, -1, 3, -3, 0, -1, 2, -3, -2, 1, -3, 2, 2, -2, 0, 1, -6, 1, -1, 0, +3, -2, 0, 2, -2, -4, 1, -2, -2, -2, 2, -2, 2, 0, 0, 3, -2, 1, -2, 0, -3, 0, 1, +-1, 0, -1, 2, -4, -2, 1, -4, 2, 0, -2, 1, 3, -2, 0, -1, -2, -3, -2, 1, -1, 0, 1, +4, -2, 2, -2, -4, 1, -3, -2, 1, 0, -2, 0, 0, -1, 0, -2, -2, 1, 0, 1, 0, 2, 1, +-4, -2, 0, 0, -4, 1, -2, 1, 1, -4, 5, -1, -1, -2, -3, -1, 0, -3, -1, 4, -2, 0, +1, -1, 0, -2, -1, 2, -2, 1, 2, -1, 2, -1, -2, -1, -2, -5, -1, 1, 0, 0, 1, -2, 0, +-1, -2, -1, 1, 0, -4, 1, 0, 1, -1, 2, -2, -4, -1, -1, 4, 0, -2, 0, -1, 0, 0, -5, +1, 1, -3, 0, 0, -2, 3, -1, -2, 3, -5, 0, 2, 0, 0, -2, -2, 1, 2, -6, 0, 1, -1, 1, +-3, -1, 3, -2, -3, 2, 0, -3, 0, -2, 2, 1, -4, 2, 1, -2, -2, 1, -1, 4, -4, -4, 2, +2, -1, -1, -1, -4, 2, -3, 2, 2, -2, 0, -1, 0, 2, -3, -2, 2, 0, -4, -1, 1, -2, 2, +-2, -1, 0, -2, -1, 1, -1, -1, 3, 0, -1, -1, 0, -1, -2, 1, -1, 1, -1, 2, 1, -1, +-2, -1, 0, -5, 1, 0, -1, 2, 0, -2, -3, -1, 1, -2, -1, 1, 0, 1, 1, -2, 2, 0, -3, +-1, 0, -2, -1, 2, -1, -1, 2, -3, -1, 2, -3, -2, -1, -1, -1, 1, -2, 1, 1, -1, 0, +-2, 0, -2, 1, -1, 1, 1, 0, 0, -2, 0, -2, -1, -4, 0, 1, 0, 1, -1, 0, -1, -4, -2, +-1, -1, -1, 0, 1, 2, -1, -3, 1, 0, 0, -1, -1, 0, 1, -3, 0, 2, 0, -2, -4, -1, 1, +-1, -2, 2, 2, -1, -1, 0, -2, 1, -3, -3, 2, 0, -1, -1, 2, 1, -1, -2, -1, 0, -1, +-2, 0, 1, -1, -2, 0, 2, -3, -1, 0, -2, 1, -1, 0, 3, -1, 0, -1, 0, -1, -1, -2, +-1, 1, -1, 1, -3, -1, -1, -1, -1, -1, -1, -3, 2, -2, -1, 1, -1, 1, -2, -2, 1, 1, +0, -1, 1, -1, 0, -2, 1, 2, -3, 0, 0, -1, 0, -1, -2, 1, 0, -4, -1, 1, 0, 2, -3, +-1, 1, -1, -2, 1, -1, 2, -1, -2, 1, -2, 0, -2, 0, 1, -2, -1, 0, 2, 0, -2, -1, 0, +-1, -2, -1, 1, 3, -3, -2, 0, 0, -1, 0, 0, -1, -1, -3, -1, 1, 0, -2, 0, -1, 0, +-2, 0, 0, 1, -1, 0, 1, -1, 3, -2, 0, 0, -3, 0, 2, -2, -1, 2, -1, -1, -1, -2, 0, +-2, -2, 0, -1, -3, 0, 0, 0, 0, -3, 0, -1, 0, 0, 0, 1, 1, -1, -3, 0, 0, 0, -1, +-3, 0, 1, -2, -1, 2, -2, -1, 0, -4, 1, 0, -2, 1, -1, 1, -1, 0, 0, 0, -1, -1, 0, +-1, 1, -1, -1, 1, -1, -1, -2, -1, -1, -2, 0, 1, 0, -1, 1, -1, 0, 1, -1, -2, 1, +0, -2, 3, 0, 0, 0, -2, 0, -1, -1, -1, 0, -1, -1, -2, -1, 0, -2, -1, 0, -1, 0, 0, +0, 1, -1, 0, 0, -3, 0, 0, -1, 0, -1, 1, -1, 0, -1, -1, 0, -2, -1, 0, -1, -2, -1, +2, -1, -1, -1, -1, 1, -2, 1, -1, 0, 1, 0, -2, 0, 0, -3, 2, -2, -1, 0, -1, 0, 1, +1, -3, 1, -1, -2, 1, -3, 0, 1, -1, 0, 0, -2, 1, 0, -2, 0, -1, -1, 0, -2, -1, -1, +-1, 0, -1, -1, 0, 0, -2, 1, -1, -1, 0, -1, 1, -1, 0, -1, 1, -1, -3, 1, -1, 0, +-1, 0, 0, 0, 0, -2, -1, -1, 1, -3, -1, 2, -1, 0, -1, 0, 0, -2, -1, 1, -1, 0, -1, +-2, 1, -1, -2, 0, 0, -1, -2, -2, 1, 1, -1, -2, 1, 0, -2, 0, 0, 0, 0, -2, 0, 1, +-1, 0, -1, 0, -2, -1, -1, 1, 0, -1, 0, -1, 0, -1, -2, 1, -1, -2, 1, 0, 1, 0, -1, +0, 0, -2, -1, 1, -1, 0, -1, 0, 0, -1, -1, -1, 1, -3, -1, 0, 0, 0, -1, 1, 1, 0, +-3, 0, 0, -1, 0, -1, 1, -1, 0, -1, 1, 1, -3, -2, 0, 0, 0, -1, 0, 1, -2, -2, -1, +0, -1, -1, -1, 1, 0, -1, 1, -1, 0, -1, -1, -2, 1, -2, 0, 1, -1, 1, -1, 0, -1, 0, +-1, 0, 0, -1, 1, -1, 1, 0, -1, -2, 0, 0, -3, 0, -1, 1, -1, -2, 0, -1, 0, -1, -1, +0, -1, 0, 0, 1, -1, 1, -1, -2, 1, -2, 0, 0, -1, 0, 0, -1, -1, 1, -2, -2, 0, -1, +0, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 1, 0, 0, 0, -1, -1, 0, 1, -1, 0, 0, -1, +0, -1, 0, 0, -1, -2, 0, -1, -1, 0, -1, 1, 0, -1, 0, -1, -2, 0, 0, -1, 0, -1, -1, +0, -1, -1, -2, 0, 1, -1, -1, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, -1, 0, -1, -1, -1, +-1, 0, 1, -1, -2, 1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, 1, 0, 0, 0, -1, -1, 0, +-2, 0, -1, 0, 1, -2, -1, -1, 0, 0, -3, 1, 0, -1, 0, 0, 0, -2, 0, -2, 1, -1, -2, +1, 0, 0, -2, 0, 1, -2, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 0, -1, 0, -1, 0, 0, +1, -1, 0, 0, -1, 0, -2, 0, -1, 0, -1, 1, 0, -2, -2, 0, 0, -3, -1, 0, -1, 0, 0, +-1, 0, }; + + #endif /* hihato_H_ */ diff --git a/WaveClass3PolyPlusLPF_BETA/kick909.h b/WaveClass3PolyPlusLPF_BETA/kick909.h new file mode 100644 index 0000000..3ddf8cd --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/kick909.h @@ -0,0 +1,119 @@ +#ifndef kick909_H_ +#define kick909_H_ + +#include "Arduino.h" +#include <avr/pgmspace.h> + +#define kick909_NUM_CELLS 2048 +#define kick909_SAMPLERATE 16384 + +const char __attribute__((progmem)) kick909_DATA [] = {-1, 0, -1, 0, -1, 0, 0, +0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, +0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, -2, -2, -3, -3, -2, -2, -2, -1, -1, +-1, -1, 0, 0, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 8, 9, 9, 10, 14, 17, +20, 24, 29, 50, 57, 49, 53, 54, 53, 53, 54, 53, 53, 53, 52, 51, 50, 48, 46, 45, +44, 42, 40, 38, 35, 33, 30, 26, 23, 19, 15, 12, 8, 5, 1, -2, -6, -9, -11, -13, +-16, -17, -18, -20, -22, -23, -24, -24, -25, -26, -27, -27, -27, -27, -28, -28, +-28, -28, -27, -27, -27, -26, -25, -24, -24, -23, -21, -20, -19, -17, -15, -13, +-12, -10, -8, -5, -3, -1, 1, 3, 6, 8, 10, 12, 14, 17, 19, 21, 24, 25, 28, 30, +32, 33, 35, 36, 37, 37, 38, 38, 39, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, +40, 40, 39, 38, 38, 37, 37, 36, 36, 35, 34, 33, 32, 32, 30, 29, 28, 26, 24, 22, +20, 18, 17, 15, 13, 11, 9, 8, 6, 5, 3, 1, -1, -2, -4, -5, -7, -8, -9, -11, -13, +-14, -16, -17, -18, -19, -20, -21, -22, -24, -25, -25, -26, -27, -27, -28, -29, +-29, -30, -30, -30, -30, -31, -31, -31, -31, -31, -32, -31, -32, -32, -32, -32, +-32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -30, -30, -30, -29, -28, +-28, -27, -27, -26, -26, -25, -25, -24, -23, -22, -21, -20, -20, -19, -18, -17, +-16, -15, -14, -13, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, 0, 1, 2, 3, 4, 6, +6, 8, 9, 10, 11, 12, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 27, +28, 29, 30, 30, 31, 32, 33, 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, +36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, +36, 35, 35, 35, 34, 34, 34, 33, 33, 32, 32, 32, 32, 31, 31, 30, 30, 29, 29, 28, +28, 27, 27, 26, 25, 25, 24, 23, 23, 21, 21, 20, 19, 18, 17, 16, 15, 14, 12, 11, +10, 9, 8, 7, 7, 6, 5, 4, 3, 2, 1, 0, -2, -3, -4, -4, -5, -6, -7, -8, -8, -9, +-10, -11, -12, -12, -13, -14, -15, -16, -16, -17, -18, -19, -20, -20, -21, -22, +-23, -23, -24, -25, -25, -26, -26, -27, -27, -28, -29, -29, -29, -30, -30, -31, +-31, -32, -32, -32, -32, -33, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34, +-34, -34, -34, -34, -34, -34, -34, -34, -35, -35, -35, -35, -35, -35, -35, -35, +-35, -35, -35, -35, -34, -34, -34, -34, -33, -33, -33, -33, -33, -32, -32, -32, +-32, -31, -31, -31, -31, -31, -30, -30, -30, -29, -29, -29, -28, -28, -28, -27, +-27, -26, -26, -25, -25, -24, -24, -23, -23, -22, -21, -21, -20, -19, -19, -18, +-17, -17, -16, -15, -14, -14, -13, -12, -12, -11, -10, -9, -9, -8, -7, -6, -5, +-5, -4, -3, -2, -1, -1, 0, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 12, 13, +14, 15, 16, 16, 17, 18, 19, 20, 20, 21, 22, 23, 24, 24, 25, 26, 26, 27, 28, 28, +29, 29, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, +34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, +35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, +32, 31, 31, 31, 31, 30, 30, 30, 29, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, +25, 24, 24, 23, 22, 22, 21, 20, 20, 19, 18, 17, 17, 16, 15, 14, 13, 12, 11, 11, +10, 9, 8, 7, 6, 5, 4, 4, 3, 2, 1, 0, -1, -1, -2, -3, -4, -5, -5, -6, -7, -8, -9, +-9, -10, -11, -12, -12, -13, -14, -14, -15, -16, -17, -17, -18, -19, -19, -20, +-21, -21, -22, -23, -23, -24, -24, -25, -26, -26, -27, -27, -28, -28, -29, -30, +-30, -30, -31, -31, -32, -32, -32, -33, -33, -33, -34, -34, -34, -34, -34, -35, +-35, -35, -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -36, -36, -36, -36, +-36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, +-35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -33, -33, -33, -33, -32, -32, +-32, -32, -31, -31, -31, -31, -30, -30, -30, -29, -29, -29, -28, -28, -27, -27, +-26, -26, -26, -25, -24, -24, -23, -23, -22, -21, -21, -20, -19, -19, -18, -17, +-17, -16, -15, -15, -14, -13, -12, -12, -11, -10, -9, -9, -8, -7, -6, -6, -5, +-4, -3, -3, -2, -1, 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11, 12, 13, +14, 15, 15, 16, 17, 18, 19, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 26, 27, 28, +28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 33, 33, 32, +33, 33, 34, 33, 33, 32, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, +34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 31, +31, 31, 31, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, +24, 24, 23, 23, 22, 22, 21, 20, 20, 19, 18, 18, 17, 16, 15, 14, 13, 12, 12, 11, +10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1, 0, -1, -2, -3, -3, -4, -5, -6, -7, -7, -8, -9, +-10, -10, -11, -12, -12, -13, -14, -14, -15, -15, -16, -17, -17, -18, -18, -19, +-19, -20, -20, -21, -21, -22, -22, -23, -23, -24, -24, -25, -25, -25, -26, -26, +-27, -27, -27, -27, -28, -28, -28, -28, -29, -29, -29, -29, -29, -29, -29, -29, +-29, -29, -29, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, +-29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, +-28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, +-24, -24, -24, -24, -23, -23, -23, -23, -23, -22, -22, -22, -21, -21, -21, -21, +-20, -20, -20, -19, -19, -19, -18, -18, -18, -17, -17, -17, -16, -16, -15, -15, +-15, -14, -14, -13, -13, -13, -12, -12, -12, -11, -11, -10, -10, -10, -9, -9, +-8, -8, -8, -7, -7, -7, -6, -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -2, -2, -1, +-1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, +7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, +6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, +2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, +-4, -4, -4, -4, -4, -5, -5, -5, -5, -6, -6, -6, -6, -6, -6, -7, -7, -7, -7, -7, +-8, -8, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -9, -9, -9, -10, -10, -10, -10, +-10, -10, -10, -10, -10, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, +-11, -11, -11, -11, -11, -11, -11, -11, -12, -11, -11, -11, -11, -11, -11, -11, +-11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, +-11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, +-10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, +-9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, +-8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, +-6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, +-3, -2, -3, -2, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, }; + + #endif /* kick909_H_ */ diff --git a/WaveClass3PolyPlusLPF_BETA/snare909.h b/WaveClass3PolyPlusLPF_BETA/snare909.h new file mode 100644 index 0000000..d42b2e3 --- /dev/null +++ b/WaveClass3PolyPlusLPF_BETA/snare909.h @@ -0,0 +1,116 @@ +#ifndef snare909_H_ +#define snare909_H_ + +#include "Arduino.h" +#include <avr/pgmspace.h> + +#define snare909_NUM_CELLS 2048 +#define snare909_SAMPLERATE 16384 + +const char __attribute__((progmem)) snare909_DATA [] = {0, -1, 0, -1, 0, -1, 0, +-1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, +-1, 0, 0, -2, -2, 0, -2, -1, -3, -2, 4, -3, -7, -2, 1, -7, 6, -3, -2, -6, -8, 8, +-6, 0, -3, -1, -7, 0, -4, -11, -2, 3, -7, -9, 19, -1, 33, 43, 22, 60, 57, 49, +58, 55, 68, 65, 62, 60, 60, 69, 64, 61, 57, 58, 43, 50, 39, 37, 27, 17, 21, 15, +11, -2, -6, -12, -6, -23, -7, -22, -30, -22, -25, -27, -26, -31, -31, -21, -18, +-8, -18, -4, 3, 1, 8, 12, 12, 19, 14, 42, 28, 21, 43, 45, 49, 46, 46, 43, 55, +44, 47, 44, 30, 46, 34, 38, 42, 24, 34, 27, 45, 23, 28, 38, 35, 36, 23, 30, 28, +40, 23, 32, 35, 29, 31, 31, 30, 28, 30, 30, 12, 13, 18, 8, 7, -2, 5, 6, -1, -7, +-5, -9, -10, -11, -13, -17, -22, -25, -24, -24, -33, -28, -24, -30, -20, -28, +-41, -28, -29, -26, -27, -37, -26, -29, -32, -20, -31, -26, -15, -20, -9, -14, +-15, -12, -6, -7, -3, 8, 6, 15, 16, 12, 21, 30, 25, 35, 35, 29, 46, 44, 38, 49, +34, 48, 44, 44, 55, 38, 50, 41, 52, 43, 43, 53, 44, 56, 46, 39, 41, 44, 42, 42, +44, 41, 43, 35, 38, 39, 26, 30, 36, 31, 27, 26, 21, 20, 15, 9, 8, -2, 0, 10, +-10, -13, -3, -17, -14, -14, -18, -7, -30, -24, -32, -26, -28, -37, -23, -35, +-25, -40, -31, -34, -46, -30, -42, -38, -26, -37, -33, -32, -27, -32, -23, -23, +-20, -13, -11, -10, -18, 0, -13, -3, -8, 3, -6, 4, 19, -1, 12, 14, 19, 10, 13, +9, 20, 19, 21, 23, 21, 34, 21, 24, 34, 20, 31, 28, 31, 36, 24, 33, 23, 31, 27, +30, 35, 37, 26, 17, 21, 19, 27, 21, 24, 17, 23, 19, 24, 19, 4, 23, 7, 15, 17, +14, 24, 8, 15, 10, 5, 6, 11, 12, -5, 9, 9, 10, 9, 1, 5, 0, -2, -2, 1, 1, -7, 0, +3, -2, -2, -8, -8, -19, -4, -18, -6, -4, -11, -5, -15, -1, -28, -12, -19, -10, +-15, -23, -19, -23, -9, -25, -22, -21, -22, -18, -23, -18, -16, -31, -28, -23, +-20, -27, -15, -26, -23, -22, -23, -16, -22, -29, -20, -11, -29, -12, -17, -14, +-15, -12, -16, -22, -21, -8, -11, -16, -8, -13, -12, -8, -15, -14, -9, -14, -2, +-13, 3, -9, -12, 9, 3, 0, 7, -3, 0, 9, 2, 9, 7, 5, 4, 18, 12, 3, 14, 17, 16, 19, +14, 6, 21, 24, 23, 18, 24, 18, 11, 25, 25, 20, 24, 22, 5, 27, 20, 13, 25, 28, +17, 19, 11, 14, 24, 10, 23, 10, 23, 19, 16, 9, 14, 9, 14, 17, 6, 13, 8, 11, -1, +17, 9, 0, 6, 4, -1, 3, -12, -10, -4, -12, -9, -14, -5, -24, -11, -14, -21, -16, +-13, -18, -30, -17, -29, -25, -21, -21, -29, -30, -15, -34, -30, -21, -29, -25, +-26, -28, -36, -27, -30, -28, -25, -21, -11, -31, -18, -21, -12, -12, -12, -13, +-17, -15, -17, 0, -21, -9, 3, -3, -1, -7, 2, -3, 3, 3, -9, 13, 8, 5, -3, 9, 13, +3, 18, 6, 13, 13, 15, 12, 7, 10, 14, 12, 11, 3, 12, 15, 17, 6, 7, 26, -1, 16, +19, 8, 16, 12, 15, 1, 10, 20, 7, 7, 8, 17, 1, 3, 12, 8, 7, 10, 9, -4, 1, -3, 5, +1, 0, 1, 4, 3, -6, 1, -2, -2, -10, -7, -1, -3, -4, -19, 0, -10, -13, -4, -15, +-8, -4, -13, -24, -10, -8, -13, -10, -11, -24, -14, -18, -6, -9, -24, -20, -10, +-12, -18, -11, -14, -13, -18, -17, -28, -8, -27, -20, -14, -15, -11, -18, -9, +-16, -15, -17, -16, -6, -13, -17, 3, -25, -1, -11, -4, -6, -8, -5, -14, 0, -11, +5, -3, 0, 0, -1, -12, 0, -2, -5, 6, 5, 4, 4, -11, 2, 3, -4, 12, 1, 5, -2, 3, -3, +0, 2, 6, 7, -7, 2, 1, 6, 5, -2, 0, 2, 1, 9, 1, 9, -5, -6, 7, -2, 5, -3, 16, -1, +1, 2, 4, 10, -3, 17, -2, 6, 7, 2, 9, -2, 1, -6, 10, -5, -1, 3, -8, 11, -6, 7, +-1, -7, 2, -3, -6, 1, -3, -11, -3, -3, -7, -12, -4, -7, -10, -9, -18, -6, -11, +-20, -3, -12, -6, -10, -24, -9, -16, -18, -9, -18, -20, -11, -9, -15, -24, -10, +-20, -27, -13, -14, -13, -19, -18, -23, -21, -17, -14, -22, -15, -21, -19, -14, +-19, -11, -15, -15, -17, -17, -18, -12, -12, -12, -8, -10, -17, -9, -14, -3, -5, +-10, -9, -10, -8, -10, 7, -5, -3, 0, -2, 3, -3, 6, -6, -7, -1, 3, 5, 1, 4, -12, +8, 5, -1, 11, 6, -4, 3, 6, -1, 10, 1, 7, 2, 7, 6, -6, 2, 3, 3, 1, 6, 0, -3, 5, +5, 7, 1, -3, -2, -2, 6, 2, -3, 0, 3, 4, -4, 2, -5, -1, -2, -4, 0, -8, -8, -5, 2, +-9, -6, -1, -2, -9, -6, -12, 1, -10, -14, -9, -13, -10, -10, -9, -10, -7, -17, +-3, -13, -7, -12, -15, -16, -10, -9, -16, -7, -11, -11, -13, -14, -9, -11, -16, +-17, -12, -10, -16, -10, -11, -14, -4, -14, -17, -7, -12, -6, -16, -2, -7, -9, +-10, -9, -5, -18, 1, -8, 0, 1, -9, -16, -4, -3, -6, 4, -9, -2, -10, 0, 1, -10, +3, -1, -3, -2, -4, 0, 3, -3, 0, -1, 0, 2, -4, 2, -3, -8, 0, -5, 5, -7, -4, 3, +-9, 6, -10, 5, 1, -4, 2, -8, 2, -6, 2, -1, 2, -2, -6, 1, -6, -5, -3, 7, -8, -5, +2, -7, -1, -8, 3, 0, 0, 1, -6, -3, -5, -3, -3, -9, -6, 1, -7, -5, -3, -3, -6, +-11, -5, -1, -8, -15, -1, -8, -8, 0, -13, -9, 0, -14, -10, -9, -9, -11, -3, -11, +-14, -7, -5, -4, -12, -18, -16, -2, -19, -7, -13, -5, -12, -10, -6, -23, -4, +-10, -11, -8, -10, -14, -12, -5, -14, -13, -3, -8, -16, -10, -8, -15, -6, -13, +-10, -11, -8, -6, -12, -9, -8, -10, -10, -8, -4, -13, -5, -6, -11, 2, -14, -2, +-6, -7, -1, -11, 1, -4, -9, 3, -3, 2, -8, -1, -2, -7, -1, 0, 4, -3, 3, -7, 2, +-3, -1, 1, -3, -2, -1, 7, -4, 1, -2, -2, -4, -3, 8, -9, 1, -1, -3, 4, -6, 3, 3, +0, -1, -5, -7, -2, 1, -4, 3, 0, -9, 0, -4, 4, -5, -4, 1, -3, -4, -5, -3, -7, -8, +-7, 2, -9, -8, -2, -7, -3, -10, -6, -4, -12, -6, -10, -7, -10, -10, -5, -11, -3, +-7, -13, -10, -8, -6, -15, -7, -7, -11, -9, -11, -8, -10, -11, -8, -6, -12, -8, +-10, -8, -6, -10, -7, -8, -7, -8, -11, -3, -4, -5, -6, -12, -8, -6, -6, -3, -6, +-6, -6, -2, 1, -12, -5, -4, -6, -1, -1, -7, -5, -4, -3, 1, -6, 2, -6, 0, -5, -9, +4, -7, -2, 2, -3, 1, -3, -4, -4, -1, -2, -4, 3, -5, -2, -3, -4, -1, -4, 1, -1, +-10, 1, 0, -9, 2, -3, -6, -2, 6, -5, -6, -2, -3, -3, -4, -4, -6, -1, -5, -6, -1, +-2, -9, -1, -2, -5, -3, 0, -5, -7, -5, -8, -1, -7, -6, -4, -2, -6, -7, -7, -8, +-5, 0, -4, -12, -4, -10, -3, -4, -11, -3, -6, -6, -6, -9, -7, -9, -7, -5, -7, +-2, -10, -10, -3, -10, -5, -7, -10, -6, -12, -6, -9, -4, -7, -8, -5, -12, -6, +-5, -4, -9, -4, -7, -5, -5, -8, -7, -7, -9, -7, -5, -11, -3, -6, -3, -5, -8, -4, +-3, -6, -8, -6, -5, -4, -5, -6, -2, -6, -6, -2, -5, -3, -4, -5, -7, -3, -2, -2, +-2, -9, 1, -3, -8, 0, -3, 0, -5, -3, -2, -1, 0, -3, -3, -4, 1, -2, -8, 3, -1, +-5, 1, 0, -3, -4, -4, -1, 0, -3, 2, -6, -1, -3, -6, 2, -4, -3, -3, -1, -1, -5, +-3, 0, 0, -6, -1, -4, -5, -3, 0, -1, -4, -8, -4, 0, -9, 0, -4, -5, -4, -1, -5, +-6, -4, -6, -3, -6, -6, -9, -4, -4, -7, -4, -3, -10, -6, -6, -5, -5, -8, -5, -9, +-5, -6, -5, -6, -9, -8, -4, -5, -10, -3, -7, -6, -6, -4, -6, -9, -4, -6, -2, -7, +-2, -3, -7, -4, -7, -3, -5, -3, -4, -7, -4, -3, -3, -2, -1, -5, -4, -3, -4, -3, +-3, -2, -3, -1, -3, -7, 0, -3, 2, -1, -5, -3, -1, -3, -5, 1, -8, 2, -5, 0, -1, +-6, -1, -2, 2, -5, -1, -1, -2, -2, -1, -6, 0, -5, -2, 0, -5, -2, -4, 1, -5, -4, +-2, 0, -5, -3, 0, -5, -1, -2, -3, -3, -4, -2, -3, -3, -5, -4, -2, -6, -3, -6, +-4, -3, -6, -3, -2, -5, -5, -5, -4, -5, -3, -3, -8, -2, -6, -3, -4, -9, -1, -8, +-4, -4, -7, -2, -6, -3, -5, -4, -3, -5, -3, -8, -4, -8, -5, -3, -8, -1, -7, -2, +-4, -6, -5, -3, -4, -3, -4, -4, -1, -5, -2, -5, -2, -3, -4, -3, -5, -2, -4, -1, +-4, -4, -1, -3, -1, -4, -4, -3, -2, -3, -1, -3, -5, -2, -1, -3, -2, 0, -4, -2, +-3, -4, -2, -3, -2, -2, -1, -3, -4, -2, -3, -2, -3, 0, -5, -2, -1, -3, -1, -2, +-1, -5, -2, -1, -2, -2, -2, -1, -2, -2, -3, -2, -4, -2, -1, -3, -2, -2, -2, -2, +-1, -4, -4, -1, -3, -2, -1, -6, -1, -4, -4, -2, -5, -1, -4, -1, -4, -4, -2, -3, +-4, -2, -4, -4, -3, -4, -1, -5, -5, -3, -3, -4, -4, -5, -3, -3, -6, -4, -4, -3, +-4, -4, -3, -4, -3, -5, -5, -4, -6, -2, -6, -3, -4, -4, -3, -5, -2, -5, -5, -3, +-3, -4, -4, -4, -2, -3, -4, -4, -4, -2, -3, -3, -3, -3, -3, -2, -2, -4, -1, -2, +-3, -1, -3, -1, -2, -3, -3, -1, -4, -3, -1, -2, -2, -1, -2, -2, -2, -3, -1, -2, +-1, -1, -3, -2, -1, -2, -2, -2, -1, -1, -1, -2, -2, -1, -2, -1, -2, -2, -1, -2, +-2, -2, -1, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -1, -2, -3, -2, -2, -2, -2, +-2, -2, -2, -2, -3, -3, -2, -2, -3, -2, -3, -3, -3, -3, -2, -3, -2, -3, -3, -3, +-3, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -3, +-3, -3, -3, -3, -3, -3, -2, -3, -3, -2, -3, -2, -2, -2, -2, -2, -3, -2, -2, -3, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-1, -2, -2, -2, -2, -1, -2, -1, -1, -2, -2, -1, -2, -1, -2, -2, -2, -2, -1, -2, +-2, -2, -2, -1, -1, -2, -1, -2, -1, -2, -2, -1, -1, -1, -2, -1, -2, -1, -2, -1, +-1, -2, -1, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, +-2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, }; + + #endif /* snare909_H_ */ |
