Edited from the Hello World example for the USBMIDI library to play notes from a PwmOut using beep.....

Dependencies:   USBDevice beep mbed

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?

UserRevisionLine numberNew 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 }