Edited from the Hello World example for the USBMIDI library to play notes from a PwmOut using beep.....
Dependencies: USBDevice beep mbed
main.cpp@1:910d83dfc8b7, 2013-10-14 (annotated)
- Committer:
- ghostaudio
- Date:
- Mon Oct 14 03:22:06 2013 +0000
- Revision:
- 1:910d83dfc8b7
- Parent:
- 0:e2158c97fd68
Edited from the Hello World example for the USBMIDI library to play notes from the PwmOut using beep..... now fixed ;)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ghostaudio | 1:910d83dfc8b7 | 1 | // Edited from the Hello World example for the USBMIDI library |
ghostaudio | 1:910d83dfc8b7 | 2 | // to play notes from the PwmOut using beep..... |
ghostaudio | 0:e2158c97fd68 | 3 | |
ghostaudio | 0:e2158c97fd68 | 4 | #include "mbed.h" |
ghostaudio | 0:e2158c97fd68 | 5 | #include "USBMIDI.h" |
ghostaudio | 0:e2158c97fd68 | 6 | #include "beep.h" |
ghostaudio | 0:e2158c97fd68 | 7 | |
ghostaudio | 0:e2158c97fd68 | 8 | //USBMIDI object |
ghostaudio | 0:e2158c97fd68 | 9 | USBMIDI midi; |
ghostaudio | 0:e2158c97fd68 | 10 | |
ghostaudio | 0:e2158c97fd68 | 11 | |
ghostaudio | 0:e2158c97fd68 | 12 | Beep buzzer(p26); |
ghostaudio | 0:e2158c97fd68 | 13 | |
ghostaudio | 1:910d83dfc8b7 | 14 | int freq = 0; |
ghostaudio | 1:910d83dfc8b7 | 15 | |
ghostaudio | 1:910d83dfc8b7 | 16 | |
ghostaudio | 1:910d83dfc8b7 | 17 | //defining your midi notes as frequencies... |
ghostaudio | 0:e2158c97fd68 | 18 | void show_message(MIDIMessage msg) { |
ghostaudio | 0:e2158c97fd68 | 19 | switch (msg.type()) { |
ghostaudio | 0:e2158c97fd68 | 20 | case MIDIMessage::NoteOnType: |
ghostaudio | 0:e2158c97fd68 | 21 | switch (msg.key()) { |
ghostaudio | 0:e2158c97fd68 | 22 | case 48: |
ghostaudio | 1:910d83dfc8b7 | 23 | freq = 261; |
ghostaudio | 0:e2158c97fd68 | 24 | break; |
ghostaudio | 0:e2158c97fd68 | 25 | case 49: |
ghostaudio | 1:910d83dfc8b7 | 26 | freq = 277; |
ghostaudio | 0:e2158c97fd68 | 27 | break; |
ghostaudio | 0:e2158c97fd68 | 28 | case 50: |
ghostaudio | 1:910d83dfc8b7 | 29 | freq = 293; |
ghostaudio | 0:e2158c97fd68 | 30 | break; |
ghostaudio | 0:e2158c97fd68 | 31 | case 51: |
ghostaudio | 1:910d83dfc8b7 | 32 | freq = 311; |
ghostaudio | 0:e2158c97fd68 | 33 | break; |
ghostaudio | 0:e2158c97fd68 | 34 | case 52: |
ghostaudio | 1:910d83dfc8b7 | 35 | freq = 329; |
ghostaudio | 0:e2158c97fd68 | 36 | break; |
ghostaudio | 0:e2158c97fd68 | 37 | case 53: |
ghostaudio | 1:910d83dfc8b7 | 38 | freq = 349; |
ghostaudio | 0:e2158c97fd68 | 39 | break; |
ghostaudio | 0:e2158c97fd68 | 40 | case 54: |
ghostaudio | 1:910d83dfc8b7 | 41 | freq = 369; |
ghostaudio | 0:e2158c97fd68 | 42 | break; |
ghostaudio | 0:e2158c97fd68 | 43 | case 55: |
ghostaudio | 1:910d83dfc8b7 | 44 | freq = 391; |
ghostaudio | 0:e2158c97fd68 | 45 | break; |
ghostaudio | 0:e2158c97fd68 | 46 | case 56: |
ghostaudio | 1:910d83dfc8b7 | 47 | freq = 415; |
ghostaudio | 0:e2158c97fd68 | 48 | break; |
ghostaudio | 0:e2158c97fd68 | 49 | case 57: |
ghostaudio | 1:910d83dfc8b7 | 50 | freq = 440; |
ghostaudio | 0:e2158c97fd68 | 51 | break; |
ghostaudio | 0:e2158c97fd68 | 52 | case 58: |
ghostaudio | 1:910d83dfc8b7 | 53 | freq = 466; |
ghostaudio | 0:e2158c97fd68 | 54 | break; |
ghostaudio | 0:e2158c97fd68 | 55 | case 59: |
ghostaudio | 1:910d83dfc8b7 | 56 | freq = 493; |
ghostaudio | 0:e2158c97fd68 | 57 | break; |
ghostaudio | 0:e2158c97fd68 | 58 | case 60: |
ghostaudio | 1:910d83dfc8b7 | 59 | freq = 523; |
ghostaudio | 1:910d83dfc8b7 | 60 | break; |
ghostaudio | 1:910d83dfc8b7 | 61 | case 61: |
ghostaudio | 1:910d83dfc8b7 | 62 | freq = 554; |
ghostaudio | 1:910d83dfc8b7 | 63 | break; |
ghostaudio | 1:910d83dfc8b7 | 64 | case 62: |
ghostaudio | 1:910d83dfc8b7 | 65 | freq = 587; |
ghostaudio | 1:910d83dfc8b7 | 66 | break; |
ghostaudio | 1:910d83dfc8b7 | 67 | case 63: |
ghostaudio | 1:910d83dfc8b7 | 68 | freq = 622; |
ghostaudio | 1:910d83dfc8b7 | 69 | break; |
ghostaudio | 1:910d83dfc8b7 | 70 | case 64: |
ghostaudio | 1:910d83dfc8b7 | 71 | freq = 659; |
ghostaudio | 1:910d83dfc8b7 | 72 | break; |
ghostaudio | 1:910d83dfc8b7 | 73 | case 65: |
ghostaudio | 1:910d83dfc8b7 | 74 | freq = 698; |
ghostaudio | 1:910d83dfc8b7 | 75 | break; |
ghostaudio | 1:910d83dfc8b7 | 76 | case 66: |
ghostaudio | 1:910d83dfc8b7 | 77 | freq = 739; |
ghostaudio | 0:e2158c97fd68 | 78 | break; |
ghostaudio | 1:910d83dfc8b7 | 79 | case 67: |
ghostaudio | 1:910d83dfc8b7 | 80 | freq = 783; |
ghostaudio | 1:910d83dfc8b7 | 81 | break; |
ghostaudio | 1:910d83dfc8b7 | 82 | case 68: |
ghostaudio | 1:910d83dfc8b7 | 83 | freq = 830; |
ghostaudio | 1:910d83dfc8b7 | 84 | break; |
ghostaudio | 1:910d83dfc8b7 | 85 | case 69: |
ghostaudio | 1:910d83dfc8b7 | 86 | freq = 880; |
ghostaudio | 1:910d83dfc8b7 | 87 | break; |
ghostaudio | 1:910d83dfc8b7 | 88 | case 70: |
ghostaudio | 1:910d83dfc8b7 | 89 | freq = 932; |
ghostaudio | 1:910d83dfc8b7 | 90 | break; |
ghostaudio | 1:910d83dfc8b7 | 91 | case 71: |
ghostaudio | 1:910d83dfc8b7 | 92 | freq = 987; |
ghostaudio | 1:910d83dfc8b7 | 93 | break; |
ghostaudio | 1:910d83dfc8b7 | 94 | case 72: |
ghostaudio | 1:910d83dfc8b7 | 95 | freq = 1046; |
ghostaudio | 1:910d83dfc8b7 | 96 | break; |
ghostaudio | 1:910d83dfc8b7 | 97 | } |
ghostaudio | 1:910d83dfc8b7 | 98 | switch (msg.velocity()) { |
ghostaudio | 1:910d83dfc8b7 | 99 | case 0: |
ghostaudio | 1:910d83dfc8b7 | 100 | freq = 0; |
ghostaudio | 0:e2158c97fd68 | 101 | } |
ghostaudio | 0:e2158c97fd68 | 102 | break; |
ghostaudio | 1:910d83dfc8b7 | 103 | } |
ghostaudio | 1:910d83dfc8b7 | 104 | } |
ghostaudio | 1:910d83dfc8b7 | 105 | |
ghostaudio | 1:910d83dfc8b7 | 106 | float note = 60; |
ghostaudio | 1:910d83dfc8b7 | 107 | |
ghostaudio | 1:910d83dfc8b7 | 108 | int main() { |
ghostaudio | 1:910d83dfc8b7 | 109 | |
ghostaudio | 1:910d83dfc8b7 | 110 | // call back for messages received |
ghostaudio | 1:910d83dfc8b7 | 111 | midi.attach(show_message); |
ghostaudio | 0:e2158c97fd68 | 112 | |
ghostaudio | 1:910d83dfc8b7 | 113 | while (1) { |
ghostaudio | 1:910d83dfc8b7 | 114 | |
ghostaudio | 1:910d83dfc8b7 | 115 | float note = freq; |
ghostaudio | 1:910d83dfc8b7 | 116 | if (note > 0){ |
ghostaudio | 1:910d83dfc8b7 | 117 | buzzer.beep(note,0.1); |
ghostaudio | 0:e2158c97fd68 | 118 | } |
ghostaudio | 1:910d83dfc8b7 | 119 | |
ghostaudio | 1:910d83dfc8b7 | 120 | wait ((0.01)); |
ghostaudio | 1:910d83dfc8b7 | 121 | } |
ghostaudio | 0:e2158c97fd68 | 122 | } |