bell notificationshomepageloginNewPostedit profiledmBox

Hoots : Change MIDI octave before data reaches computer I teach guitar. I was hoping to use a MIDI-enabled guitar, in combination with an iPad, to help students learn notes, practice sight-reading, and practice playing by ear. They - freshhoot.com

10% popularity   0 Reactions

Change MIDI octave before data reaches computer
I teach guitar. I was hoping to use a MIDI-enabled guitar, in combination with an iPad, to help students learn notes, practice sight-reading, and practice playing by ear. They would stay before or after their lesson and play on some apps.

The problem is that the guitar is a transposing instrument. It sounds an octave below the written notes. Because of this, when I play the right note on the guitar, these apps registers the wrong note because, well, it kinda is.

However, all of these apps are incredibly rudimentary in their MIDI implementation. They have literally no MIDI settings; channel, virtual midi, anything. It's just MIDI on-off. This means that, to my knowledge and after some testing, a iPad-based software solution won't work.

I'm wondering what the the simplest, lowest latency, least expensive way of changing the octave of the notes would be. My first thought is an Arduino or Raspberry Pi built into a stomp box. But MIDI really isn't something I've messed around with. A friend mentioned Super Collider, Python, and Pure Data as maybe the best way to do it.

Note that my device is USB. A Fishman Triple Play Connect.

Also, as a side-note, these apps do accept audio from a mic, but I need this to be as close to silent as possible (students will be wearing headphones and playing an unamplified electric guitar). Using my external audio interface was so friggin' buggy that I thought hacking something together with a RPi would be an easier solution.


Load Full (1)

Login to follow hoots

1 Comments

Sorted by latest first Latest Oldest Best

10% popularity   0 Reactions

Arduino

Would be a latency free and simple solution, given the Arduino MIDI library. However, I am not sure you can receive from a device and send to another using USB-MIDI. Using a board with several Serial ports would work, but you need to convert your USB-MIDI signal to a "plain MIDI" with a DIN5 cable… And then the other way around…

Pi

You can run a very simple audio system on a Pi, using Jack, and then use some utilities like QMidiRoute, which is basically allowing you to change your (USB) MIDI signals any way you want. I would think it is much more easier than SuperCollider and so which are much more audio focused. If you can afford the booting time and need for it to be plugged, I think this is the simplest to do it! It could be able to route several guitars at the same time, like a transposing server!

Using a MIC

You can probably "lure" the mic by using a full wave rectifier. This will make a crunch signal at twice the frequency of the original. If I remember well, this is what is done by a lot of guitar pedals like Fuzz, Muff. If you have diods in it, you have a good chance they will rectify.

No definitive answer but hope it helps!


Back to top Use Dark theme