Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: USBDevice beep mbed
Revision 1:910d83dfc8b7, committed 2013-10-14
- Comitter:
- ghostaudio
- Date:
- Mon Oct 14 03:22:06 2013 +0000
- Parent:
- 0:e2158c97fd68
- Commit message:
- Edited from the Hello World example for the USBMIDI library to play notes from the PwmOut using beep..... now fixed ;)
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Oct 13 23:56:23 2013 +0000
+++ b/main.cpp Mon Oct 14 03:22:06 2013 +0000
@@ -1,4 +1,5 @@
-// Hello World example for the USBMIDI library.... edited to play notes from the PwmOut using beep
+// Edited from the Hello World example for the USBMIDI library
+// to play notes from the PwmOut using beep.....
#include "mbed.h"
#include "USBMIDI.h"
@@ -10,55 +11,112 @@
Beep buzzer(p26);
+int freq = 0;
+
+
+//defining your midi notes as frequencies...
void show_message(MIDIMessage msg) {
switch (msg.type()) {
case MIDIMessage::NoteOnType:
switch (msg.key()) {
case 48:
- buzzer.beep((1/130),2);
+ freq = 261;
break;
case 49:
- buzzer.beep((1/138),2);
+ freq = 277;
break;
case 50:
- buzzer.beep((1/146),2);
+ freq = 293;
break;
case 51:
- buzzer.beep((1/155),2);
+ freq = 311;
break;
case 52:
- buzzer.beep((1/164),2);
+ freq = 329;
break;
case 53:
- buzzer.beep((1/174),2);
+ freq = 349;
break;
case 54:
- buzzer.beep((1/184),2);
+ freq = 369;
break;
case 55:
- buzzer.beep((1/195),2);
+ freq = 391;
break;
case 56:
- buzzer.beep((1/207),2);
+ freq = 415;
break;
case 57:
- buzzer.beep((1/220),2);
+ freq = 440;
break;
case 58:
- buzzer.beep((1/233),2);
+ freq = 466;
break;
case 59:
- buzzer.beep((1/246),2);
+ freq = 493;
break;
case 60:
- buzzer.beep((1/261),2);
+ freq = 523;
+ break;
+ case 61:
+ freq = 554;
+ break;
+ case 62:
+ freq = 587;
+ break;
+ case 63:
+ freq = 622;
+ break;
+ case 64:
+ freq = 659;
+ break;
+ case 65:
+ freq = 698;
+ break;
+ case 66:
+ freq = 739;
break;
+ case 67:
+ freq = 783;
+ break;
+ case 68:
+ freq = 830;
+ break;
+ case 69:
+ freq = 880;
+ break;
+ case 70:
+ freq = 932;
+ break;
+ case 71:
+ freq = 987;
+ break;
+ case 72:
+ freq = 1046;
+ break;
+ }
+ switch (msg.velocity()) {
+ case 0:
+ freq = 0;
}
break;
- case MIDIMessage::NoteOffType:
- default:
- buzzer.beep(1.0,0.1);
+ }
+}
+
+float note = 60;
+
+int main() {
+
+ // call back for messages received
+ midi.attach(show_message);
-
+ while (1) {
+
+ float note = freq;
+ if (note > 0){
+ buzzer.beep(note,0.1);
}
+
+ wait ((0.01));
+ }
}
\ No newline at end of file