MIDI Over Bluetooth

So I've checked out Hairless MIDI, and I want to build my own MIDI relay that's more conducive to my application.

It only has to relay a MIDI clock signal (or a single MIDI note) from a PC to the BT device, at which point the AVR will trigger an LED in time with the MIDI clock signal/MIDI note.

Chain: PC MIDI>Serial>Bluetooth>AVR>LED

Which means we have two Q's here:

  1. Can someone point me in the direction of a way I can create a simple MIDI to serial relay with VB.NET. It only has to relay a clock signal and a single note. Is there a library I can use that isn't too complicated?
  2. I'm going to stick an HC-06 module directly to the PCB and hook it to an ATTINY84A. What's going to be the easiest, most accurate, lowest-latency way to convert that Serial signal into a way to blink an LED in time with that signal. I'm assuming it's going to require a super high baud to ensure there's not lag.

Just kind of want to bounce this off someone else to hear their thoughts

First of all, MIDI is kind of a serial transmission, so you can use Bluetooth (BT) for transmission of MIDI messages as well.

I'm not sure what's your MIDI source. Should the VB program receive messages from a MIDI port, or does it create the messages itself? Essentially that program has to open a BT port for output, where it sends the messages.

The HC-06 module connects itself to the PC. Once the connection is established, you can find that port in the BT device list, and open it in the VB program. Then the Arduino can listen to messages arriving via BT, decode them and do what it should do (LED on, off, blink...).

BT transmission can be much faster than MIDI transmission, so you only have to set the baudrate as required (>=32kBaud).

I'll not go into further details, as I'm not familiar with VB.NET and MIDI. For the remaining items you'll find example code for receiving character codes from HC-06, parsing strings, and how to control LED and other output devices.