Carthaginian

I'm referring to this schematic:http://itp.nyu.edu/physcomp/uploads/midi_out_soft_serial_bb.png

found on this page:http://itp.nyu.edu/physcomp/Labs/MIDIOutput

I have been under the impression that the Midi data is being sent out via USB. Though I haven't built this yet (waiting for a part to arrive), I'm curious: is the Midi being transmitted through the USB or the Midi Jack? In other words, am I supposed to plug one end of a Midi cable into that Jack and plug the other end of the cable into some sort of synth?

If not:What's the purpose of this dangling Midi Jack?ANDIs there any way to re-work this so that the Midi is being sent via the Midi Jack? That would be great because then I could have a simple plug-and-play instead of having to process the USB signal somehow.

How are you connecting to your MIDI device? If it has a DIN jack, then that is what you use. If it is not connecting through the DIN jack, then you need to change the serial library to use the standard serial routines. Your code is currently using SoftSerial to connect using a different port than the USB port.

This is not hard, so I am probably not understanding what you are asking properly. Just Google the MIDI standard and it is all explained there.

Leaving aside bugs I might have caused, does this seem like a route that should work? For the record, I've plugged a Midi keyboard into my Android before using a USB + otg cable and it worked just fine.

The MIDI/USB cable has two ends - you should be connecting the 'OUT' side (labelled on the plug, usually) and LEDs - do they light up when you are sending messages? If you can't see lights, your circuitry/software is not working as expected. The USB converter cable should have no effect and seems to work given your comment previously.

If you are seeing the LEDs on the cable, then it is probably in the configuration of the software receiving the message.

To send MIDI data to other devices.Some modern MIDI interfaces present the host with a USB HID MIDI device. This circuit does not. This is because it is a very hard thing to do on an arduino. It requires re burning the boot loader and then programming the arduino with a programmer.On the other hand it is something you can do with a teensy.

Carthaginian

I made another go at the circuit, and I discovered that my Grand Piano Pro Version (with MIDI USB support) had mysteriously downgraded to the free version (without MIDI USB support). I re-upgraded and it now works.

The sound of nonstop chromatic scales on a cheap tablet app == music to my ears! Haha!

Thank you for everyone's help.

Carthaginian

So after my success yesterday, I come to the same setup today and it doesn't work. The Midi-USB cable's green light is no longer blinking as it did yesterday. Also, I've found some strange behavior going on with the wires coming from GND and 5V:

...If I connect GND wire to ground (blue) on my breadboard and 5V wire to the power (red) on my breadboard (as shown in the schematic http://itp.nyu.edu/physcomp/uploads/midi_out_soft_serial_bb.png), the Midi-USB cable's red light is OFF.

...If I connect GND wire to power and 5V to ground, the red cable light turns ON.

Unless you have a proper circuit your digital input will 'float' and switch between high and low randomly. This is your third situation. The others produce a circuit that is the inverse of the other as far as the sensor is concerned, hence e the difference in whether you see a midi message or not.

Carthaginian

Unless you have a proper circuit your digital input will 'float' and switch between high and low randomly. This is your third situation. The others produce a circuit that is the inverse of the other as far as the sensor is concerned, hence e the difference in whether you see a midi message or not.

But in none of these cases is a Midi signal actually being sent. At most the red light turns on, but the green transmission light does not turn on or flicker.

If something is malfunctioning, is it most likely the chip, the breadboard, or the cable (the code is straight from the website and it worked before).

Breadboards are a reasonable way to prototype a circuit but not always reliable as there are a lot of mechanical contacts that can go wrong (get bumped, oxidised, changes in humidity, phases of the moon, etc). If you are sure that the circuit worked, then I would try and move all the connections (eg, remove and insert) and see if that does the trick. Better still is to build a more permanent soldered circuit based on the prototype.