And hello my nerd musician friend and welcome to the DIY MIDI controller
workshop 2.0 My name is Gustavo Silveira And this is a series of three free videos where I'm going to teach you how you can build your first own MIDI controller using the Arduino platform. So let's go! So, first why you should be making your own MIDI controllers? So, I have many many reasons why I think you should be building your own MIDI controllers right here right now. But I'm going to synthesize all of them in basically three, ok? So first, The first reason for me is the most obvious which is building your MIDI controller is so cheap for example the MIDI controller that actually inspired me to do my first was the MIDI Fighter because I didn't have money to pay for a MIDI Fighter and today it costs around two hundred bucks You know how much you'd spend building your own? And being able to actually make some changes and make the way you want Less than forty bucks.
So with less than forty bucks You can build a complete MIDI controller that can do so much, right? So that's the first reason So, the second reason: Self Expression So, imagine a composition that's made in a guitar and a composition that's made in a piano you know that they are gonna sound different, not because only of the type of instrument, but the characteristics that the instruments give when you are composing something So there's a term for that which is "idiomatic" for that instrument So music for guitar kind of sounds different from music to piano, right? So when you're making electronic music what type of instruments you have? Usually, it's a keyboard or a launchpad So basically imagine that most of electronic music has been made through the same instruments So they're kind of kind of sounding really really similar So, imagine now that besides making your music you are able to create the tools or the instruments that you're going to use to make your music and this is going to allow to express yourself even more because now the instrument that you use, not only the music, is also unique and corresponds to your personality, your attitude and not someone's brand or the company that decided that all electronic musicians now make music smashing buttons.
So, the third reason is if you're making music using a computer which I believe you are. You probably have your favorite plugins your favorite DAW, right? So every time you open your project you have to map everything. And your generic MIDI controller doesn't look like your plugins, right? It's not like you're playing an instrument and the action in your instrument actually corresponds to what you're actually doing in your computer if that makes sense So once you know how to make your own MIDI controller you can build dedicated controllers to each plug-in to each DAW, or make one big controller that actually has all your plugins laid out in the way you want.
This way, you can boost your workflow and I don't know, like a hundred times because now the hardware Corresponds to the plugin. And I'm not even talking about the knowledge in electronics and programming How this can be used for in your whole life, but that's for later on. So what the hell is MIDI? So MIDI stands for musical instrument digital interface. S,o a lot of people think that MIDI is actually that crappy sound in your sound card But no, MIDI has no sound at all MIDI is just a protocol, MIDI is just a language, and MIDI was created in 1983 so different synthesizers could communicate between each other using a common language So before MIDI, for you to play a synthesizer from a brand with the keyboard from another brand was a nightmare, so MIDI came to solve this So MIDI became the standard protocol for electronic instruments to communicate between themselves But MIDI became so much bigger than that.
And today you can control so many things even like: VJ softwares, photo editing softwares, and digital audio workstations, you can use for controlling lights and video and of course all of you can imagine with sound So a MIDI controller is nothing more than an interface that uses the MIDI Protocol And you can find MIDI controllers in many different styles For example, you can use a pretty traditional one like a keyboard with some launchpads and knobs But what if the MIDI controller wants doesn't exist? You make one yourself! There are different ways you can build a MIDI controller But for this course, we are going to use a board which is the most popular board among makers which is the Arduino platform So what is an Arduino? Arduino is actually the name of the company that manufactures those boards and you might find Arduino or Genuino, the only difference is that Genuino sells in the United States and Arduino in the rest of the world Unfortunately, They had some problems and they had to split it up.
So the Arduino is a board that gets information from the physical world Things that you can touch, can feel, can smell and makes it into information that can be understood in the digital world Then you can use this information in the digital world, like inside the computer or you can manipulate this Information and send back to the physical world, but how it does that? So the Arduino has inputs and outputs, and with a little bit of coding in a C-based language You can tell what those inputs and outputs will do So, for example, something for our area: you can get a button, which is an input, it's going to read something from the physical world and then with a little bit of coding, you're gonna tell the computer that every time you press one button You want to send a MIDI note Or you can connect a potentiometer and actually read the position of that potentiometer and tell the computer every time you move that potentiometer sends a MIDI control change Or you can use the outputs of the Arduino.
You can connect LED strips or motors in for example It can even get information from the digital world Like MIDI and tell to the Arduino to control those lights or those motors with MIDI So really the possibilities of the Arduino are endless You can make MIDI controllers with the Arduino but it can make also robots, home automation, art installation and like so many things And one of the coolest things about the Arduino is that it was made for people without a background in engineering So it's really easy to learn if you don't have any knowledge in this field like I did and like you are going to do now So let's get a little bit technical in the Arduino. What it exactly is? The Arduino is basically a really tiny computer without an operational system So you don't have an operational system like Mac OS or Windows that you can go there with your mouse and select the application It's all running inside this brain, which is a microcontroller Which means that you're going to code your Arduino and then it's going to function like that forever until you change the code, uploading the code to the Arduino again.
So talking about uploading the code, the way you actually program the Arduino is through an IDE which is an integrated development environment So the Arduino has its own IDE, which works with the C-based language So it's based in the C-language, but in a much easier way for us to use it So I told you that the Arduino has a microcontroller – or a brain. So this microcontroller might be different in different models of Arduino So one thing about the Arduino is that there are many different models of Arduinos and one thing that may vary in the Arduinos is the type of microcontroller So for example we have the Arduino Uno, the Arduino Mega, the Arduino Leonardo Micro, Pro Micro, Lilypad and the list goes on and on Another difference between the Arduinos is the number of inputs and outputs and this can play a big role in which type of Arduino is Ideal for your project.
If you just need for example 10 buttons, you can use an Arduino Uno, or an Arduino, Micro, Pro Micro but if you need 50 buttons, for example You may want to use an Arduino Mega because the Arduino Uno doesn't have that many inputs Although you can make it have more inputs, but that's more advanced stuff So the Arduino has inputs and outputs, right? However, we have different types of inputs and different types of outputs So let's talk about the inputs. The Arduino has two different types of inputs You have digital inputs and you have analog inputs So what is the difference between them? so for example if you want to connect a component that just has two states like on and off so a button you just can press or "unpress", right? A button that's not velocity-sensitive It's just on and off or a switch that's on and off Everything that's just on and off, you're going to connect in the digital input But on the other hand, if you have a sensor That's not just on and off, you actually have a range, you have a minimum and a maximum Like a potentiometer, you're gonna connect in the analog input So for example you can connect rotary potentiometer, slide potentiometers, a light sensor, a humidity sensor, a distance sensor, any type of sensor and that's the magic of actually building your own thing.
Now, you're not attached to only potentiometers and the same things over and over again that you find in MIDI controllers. You can build from MIDI controllers now to amazing art installations that can track what the environment is doing, you can put in the soil and know What is the humidity of the soil? What this tree is telling you? What is the temperature? What is that the time of the day is telling you and how you can translate this into music? This is pretty fucking mind-blowing, and once you know how to do it It's like, the sky is the limit And what about the outputs? Actually, the Arduinos, most have only digital outputs but some of those outputs can emulate an analog output so this means that you can actually, for example, connect an LED that's just on and off or you can connect an LED and actually change its brightness, so this is a topic that we don't need to talk about now because you're not going to use LEDs like that but keep in mind that you can actually do that.
So to recap, Basically, you can get an Arduino, connect things to its inputs like buttons and Potentiometers in the digital and analog inputs, then in the computer in the Arduino's IDE you can write some code to tell what's going to happen When you press those buttons right? Or move those potentiometers Then you're going to upload this code to the Arduino and then your Arduino is done You can disconnect from the USB You can actually use a MIDI port, or you can use even the USB to send MIDI to the computer and this is just the beginning then you can connect LEDs and it can even control motors or you can connect different types of sensors and then expand, expand, expand, to really complex and advanced interfaces And to end our conversation about the Arduino I want to talk about one of the most amazing things about this board, that it is completely open-source, and being open source means that the source code for its IDE and the source files for the boards are open for you to see how it's done, how it's made and it's open for you to use for yourself Which means that you can get the files of the board of the Arduino and build one yourself, and you can even sell it.
This means that actually there are companies in China that are making Arduinos that are so cheap you can buy an Arduino for like two dollars Can you imagine that? And of course what we do is that we buy at least one or more boards from the company, the original ones, so you can actually support the project but after we can buy really really cheap boards So that's it guys That's our brief introduction about the Arduino and about MIDI controllers and about this amazing world which is the DIY world, right? So now what I want you to do is that I want you to put here in the comments below what type of MIDI controller you want to build? Ok, in the next classes we're gonna put our hands on, right? You're going to start to build the circuit and then you're going to upload the code and actually adapt to your own needs But I want to know what you want to build, ok? So please, if you're watching this on youtube Subscribe to this channel If you didn't do yet give a like and please share with your friends Share with people that you think that could benefit with building their own MIDI controllers So that's it for now, and I'll see you tomorrow, ok? So, Bye