Mike Sheldon
/
Synth
A simple string synthesizer implementing the Karplus-Strong algorithm. Licensed under the GNU LGPL.
main.cpp
- Committer:
- elleo
- Date:
- 2013-01-09
- Revision:
- 0:ce6724069f0a
File content as of revision 0:ce6724069f0a:
#include "mbed.h" #include "Synth.h" Synth s(p18); void fly_me_to_the_moon(Synth *s) { //Fly me to the moon s->add_note(NOTE_C5, 1.5); s->add_note(NOTE_B4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 1.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_C5, 0.5); s->add_note(NOTE_B4, 1.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 3); s->add_note(NOTE_A4, 1.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_D4, 1.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_A_FLAT4, 1.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_D4, 0.5); s->add_note(NOTE_C4, 2); s->add_note(NOTE_C_SHARP4, 1); s->add_note(NOTE_D4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_A4, 3); s->add_note(NOTE_C5, 1); s->add_note(NOTE_B4, 1); s->add_note(NOTE_G4, 5); s->add_note(NOTE_B3, 1); s->add_note(NOTE_C4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_F4, 3); s->add_note(NOTE_A4, 1); s->add_note(NOTE_G4, 1); s->add_note(NOTE_F4, 1); s->add_note(NOTE_E4, 5); s->add_note(NOTE_C5, 1.5); s->add_note(NOTE_B4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 1.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_C5, 0.5); s->add_note(NOTE_B4, 1.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 3); s->add_note(NOTE_A4, 1.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_D4, 1.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_G4, 0.5); s->add_note(NOTE_A_FLAT4, 1.5); s->add_note(NOTE_F4, 0.5); s->add_note(NOTE_E4, 0.5); s->add_note(NOTE_D4, 0.5); s->add_note(NOTE_C4, 2); s->add_note(NOTE_C_SHARP4, 1); s->add_note(NOTE_D4, 0.5); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_A4, 3); s->add_note(NOTE_C5, 1); s->add_note(NOTE_B4, 1); s->add_note(NOTE_G4, 5); s->add_note(NOTE_A_FLAT4, 1); s->add_note(NOTE_A4, 0.5); s->add_note(NOTE_C4, 0.5); s->add_note(NOTE_C4, 3); s->add_note(NOTE_C4, 1); s->add_note(NOTE_D4, 1); s->add_note(NOTE_C4, 3); } int main() { PluckedGuitar *g = new PluckedGuitar(); s.set_bpm(100); s.set_instrument(g); fly_me_to_the_moon(&s); s.set_repeat(true); s.play(); DigitalOut led1(LED1); DigitalOut led4(LED4); led1 = 1; while(1) { led1 = !led1; led4 = !led4; wait(1); } }