Welcome to the sixth post in the series, where we’re going to learn how to add a MIDI velocity to our Arduino keyboard, which is what controls the volume of the notes we hear.
If you’ve followed along up to this point, you’ll know that we have a basic working MIDI keyboard. I can hit the keys, and MIDI messages will be sent to my PC, resulting in noise. Particularly in the case of my playing skills!
However, currently our playing lacks nuance. No matter how softly or firmly we press the keys, the note volume is the same. Fortunately, this keyboard, and MIDI in general, has an answer to this problem.
So, we’ve got as far a working keyboard, which can send MIDI messages to an instrument or a PC, including via USB. If we think back to part 1, though, we had that before we started the project! The whole point was that the additional features didn’t work correctly. Let’s make a start on them by connecting up an Arduino control panel adaptor.
If you’ve been following my MIDI keyboard series, in part 4 you’ll have seen my dangerous looking MIDI connection. While I have a plan to improve on this later, I wanted to have a more robust connection during development. Because I already need a USB connection to the Arduino to upload software updates, I wondered if I could use this to transfer MIDI data as well.
In this post, we take a simple look at what I/O is, and why it exists in all systems. Then we look at the method of multiplexing which allows us to connect to it more efficiently, making the most of the pins available on a microcontroller. Continue reading “Multiplexing I/O – Why and How?”
MIDI stands for Musical Instrument Digital Interface.
It is a communication protocol which allows electronic musical instruments to communicate with each other, to synchronise timing, for example. It also allows the interface which the musician uses to be separated from the instrument, which makes the sound. This means that a musician can use a single keyboard to play many different electronic instruments.
So, in part 1 we described the problem. Now, let’s take a look inside and start to plan a solution.
As you can see from the picture below, the whole system consists of three circuit boards. If you can only count two, you’re not concentrating! There’s one peeping at you through the gap between two of the keys (C and C#, for those of you that are of a musical bent).