Search Results for: MIDI


MIDI Communication MIDI, or Musical Instrument Digital Interface, is a specification for a communications protocol between digital synthesizers and other digital music devices. It was developed to be as simple and general as possible, to give synthesizer manufacturers as much … Continue reading

Posted in | 4 Comments


MidiStroke is an application for OSX that allows you to trigger keystrokes an any application using MIDI messages. It can be used to automate various tasks using MIDI devices.
Continue reading

Posted in circuits | Comments Off on MidiStroke

MIDI/OSC devices

The Royal Conservatory in Holland has made a number of microcontroller modules with MIDI interfaces, and implementing the Open Sound Control (OSC) protocol. Among them are IPSonLab, an IP to MIDI board; MicroLab, a voltage to MIDI board, and more.
Continue reading

Posted in circuits | Comments Off on MIDI/OSC devices

MIDI player in Wiring/Arduino

/* MIDI player by Tom Igoe Reads an analog value in on analog channel 0, and if a switch on pin 10 is pressed, plays a note in the middle C octave corresponding to the analog value. Thanks to Ryan Holsopple for getting MIDI out working using serialWrite() Created 19 Jan. 2006 updated */ // The switch is on Arduino pin 10: #define switchPin 10 // Middle C (MIDI note value 60) is the lowest note we’ll play: #define middleC 60 // Indicator LED: #define LEDpin 13 // Variables: char note = 0; // The MIDI note value to be played int AnalogValue = 0; // value from the analog input int lastNotePlayed = 0; // note turned on when you press the switch int lastSwitchState = 0; // state of the switch during previous time through the main loop //Function prototype: void noteOn(char cmd, char data1, char data2); void blink(); void setup() { // set the states of the I/O pins: pinMode(switchPin, INPUT); pinMode(LEDpin, OUTPUT); // Set MIDI baud rate: beginSerial(31250); blink(3); } void loop() { // My potentiometer gave a range from 0 to 1023: AnalogValue = analogRead(0); // convert to a range from 0 to 11: note = AnalogValue / 100; // Check to see that the switch is pressed: if (digitalRead(switchPin) == 1) { // check to see that the switch wasn’t pressed last time // through the main loop: if (lastSwitchState == 0) { // set the note value based on the analog value note = note + middleC; // start a note playing: noteOn(0x90, note, 0x40); // save the note we played, so we can turn it off: lastNotePlayed = note; } else // if the switch is not pressed: // but the switch was pressed last time through the main loop: if (lastSwitchState == 1) { // stop the last note played: noteOn(0x90, lastNotePlayed, 0x00); } } // save the state of the switch for next time // through the main loop: lastSwitchState = switchPin; } // plays a MIDI note. Continue reading

Posted in arduino/wiring | Comments Off on MIDI player in Wiring/Arduino

MIDI for the BX-24

This page covers the details of MIDI communication on the BX-24. To send MIDI out from the BX-24, you use the serial commands. You need to set the baudmode to match MIDI settings. You can’t use COM3 for MIDI, because … Continue reading

Posted in BX-24, circuits | Comments Off on MIDI for the BX-24

Intro to MIDI using PicBasic Pro

This page covers only the details of MIDI communication on the PIC using PicBasic Pro.

Posted in circuits, PicBasic Pro | Comments Off on Intro to MIDI using PicBasic Pro

Datalogging with Arduino

There are several ways to save data from a sensor attached to an Arduino. If you’re connected to a personal computer, you can simply send the data from the Arduino to the personal computer serially, and save it to a … Continue reading

Posted in arduino/wiring, circuits, code, electronics, Pachube | 2 Comments

All About Microcontrollers

See also Dan O’Sullivan’s notes on microcontrollers. My notes draw heavily from Dan’s. A microcontroller is a small, inexpensive computer, usually used for sensing input from the real world and controlling devices based on that input. Most electronic devices you … Continue reading

Posted in | 1 Comment