This is the exact software I've been searching for. I trying to convert a savaged organ pedalboard to a midi pedal keyboard. This will get it done with the minimum screwing around. Your explanation of how the code works is excellent and now I understand the code well enough to make the few simple tweaks needed for my use. Thank you
That's exactly what I am doing! I first tested a couple 25 key midi controllers to try converting them to a set of organ bass pedals for a Hammond XK-3, but they all clear ALL USER SETTINGS every time you power them down!!! I'm just baffled by that. So now it's time to roll my own.
OMG FINALLY!!!!! I knew it had to be this easy, but I keep running into vids and tutorials that pile on the complexity. This is EXACTLY what I need to build a set of bass pedals for my Hammond XK-3. I love that I can just set the pin number, command, note, channel, and debounce IN ONE PLACE :-O I owe you a beer...or a coffee...or even a steak...whatever you want :-)
Man, arduino is indeed amazing but what is truly amazing is people like you sharing knowledge like these for free! Thanks a lot man! I'm planning to build a midi mixer to my Mox6 to help with live performances!
You are a life saver, best code ever. Worked great with Arduino Mega 2560 and could also use it on Serial2 instead of default Serial. Thank you so much for your effort in helping all of us. Please continue developing the project as it is the best Midi Implementation for arduino I have ever seen.
HI, thanks for these educational documentaries. thanks to you I now have a more or less working 13 pedal organ bass board (I recovered the pedal board from an old Hammond organ). I used the led input and one of the analogs as a digital input as i had "13 pedals". cheers!
so today i added a 44 key variant of the program (no muxes) just straight Digital inputs on a Mega board (up to 54 Di depending on how you use them). I left the LED free this time and serial pins free also, and used inputs 2 to 12 and 22 to 53. Seem to work plugged into a Yamaha Reface :-) all i need to do now is wire it up to a Hammond 44 key manual and make a box for it. summary I am feeling very confident with a 13 pedal bass board into a UNO and the 44 key on a Mega 2560.
great vid .. but i don't get the need of using midi 5 pins jack ... theres already usb port in the arduino itself ... Can we make midi controller using the usb port ..
brilliant video . made a 5 button interface this evening . very straight forward to do . very happy and impressed with myself. thanks , you've inspired me to be creative for first time in a while . keep up the good work !
Please a tutorial about midi-usb and capacitive sensors instead of buttons, with midi. Sería de mucha ayuda! And thanks so much for all your tutorials, they're great and well explained!
Hi,Dave! Love your tutorials and your channel content! About the buttons:your method of connecting them right up to digital pins is simple and effective,but if there are more buttons to be read I would suggest using parallel in-serial out shift registers.They are great because you can cascade them together and read maybe hundreds of switches. P.S. The idea about using a multiplexer was pretty clever.Going to keep it in mind when building my projects. :) Keep them videos coming! Cheers!
Super code customisable ! Work great for me. I tried this and Led tuto separatly, need to mix the 2 code! thanks Dave to help me for my diy midi controller
Hello, thanks for these tutorials! I've come so far, but this doesn't work for me. So, I tried Hairless MIDI, and every time I pressed a button, it said: "Warning: got a status byte when we were expecting 1 more data bytes, sending possibly incomplete MIDI message 0xc0" Any ideas?
Hello, very interesting video. Thx for share. I've a question. If I want to send a group of midi note. For exemple, if i press button1 and i want to send a C3maj chord, composed of a those 3 notes : C3 - E3 -G3. How could i programme it ?
Awesome, took me a while to figure out what i was doing wrong, turned out, I dint used the right Linux commands. I can now send midi stuff from my arduino over plain serial to my Linux machine and play midi music :D Your videos are clear and helpfull. ttyMIDI and aconnect helped me alott. it might not have guis but way less trouble once i understand how they work. I might create a nice gui for myself as I see myself way more often connect and change serial connections. A true MIDI port might be ok, but ill add that once i hacked my keyboard. Now I need an awesome sounding external synth :P (for DosBox and Qemu use)
Super tutorial! Do you know how I can make my Arduino to be recognized as a controller by the computer and send MIDI CC through the USB (same as for powering) instead of a MIDI port?
I connected mine to a raspberry pi 3 by connecting the signal on arduino pin 1 (tx) directly to pin 8 on the pi3 (rx), and I would imagine you could do that with any midi interface, although per the standard, it really should be separated with an optocoupler. To connect it as a USB MIDI device, depending on your Arduino model, you can use the HIDUINO firmware found here: github.com/ddiakopoulos/hiduino. Otherwise you will need to build a cable with a separate controller. This might help: axe4live.wordpress.com/2012/02/04/diy-midi-interface-for-ipad-version-2/.
This is great, thanks for making this. I have tried making a 6 button controller but when I try and upload to the uno i get an error saying undefined reference to 'Button::Button (unsighned char, unsigned char...etc, I doubt you will see this after many years of this vidoe being online but any ideas how to fix that? I'm very new to this
excellent info and code is great. thank you. i am trying to modify the code to sends a string of notes on button bush. i tried changing notes from single notes like 60 to for example 60-64. But it doesn't change though as i think i need to add note off between each note. How do i add this note off between each note (for single button push)? thanks
I have a question, I have the Drumkit AI from spikenzie labs. I would like to replace the piezo transducer with push buttons. is a new script needed? Sorry for the noob question, but this was the first place I found that made things a little clearer for me.
Thanks for the good content. I use it to play button chords, but only Major chords are played because it sends a single note. For minor chords, how can I get the button to send two notes when I press it once?
Hi! Great video. Quick question. I want to use as a guitar pedal and use stronger switches that I can attach to the enclosure. All I see are two button versions of this. How would I connect and program the two pin instead of the 4 pin? Thanks!
I built a foot controller using this video and it works with just one caveat and I was wondering if others have the same issue. I use 8 switches to control my Line6 HX Stomp--adds switches for all 8 blocks which is just awesome! The problem that I have is that the first switch press typically is not picked up by the Stomp. I hit a switch once and nothing happens then I hit it again and it will work fine from then on. Do I need to add pull up resistors or something??
What sort of buttons will work for velocity-sensitive applications? I’m working on my own project right now where I’m building a controller(just buttons for a diy keytar) that will plug into the wiring clip inside an existing midi keyboard. So I’m wondering if there is a certain type of button that has multiple connectors to make them velocity-sensitive. People on here probably already know the inner workings of keyboards, but the way it works is: one lead selects a note range and two leads will trigger a note when connected to the first. The speed at which the two trigger leads connect to each other determines the velocity. Extracting the buttons from under the keybed and mounting them in another device doesn’t seem like an option because these are usually based on pc boards rather than something that can be easily re-wired. I’m already lucky enough that the Keystudio25 has actual wires that clip into the main circuit board. Any help would be appreciated!
Hello, First of all, thank you very much for your youtube channel! It allowed me to make a bass pedalboard (like the PK-5 from Roland). This midi controller allows my guitarist to trigger sounds from a synthesizer (Access Virus). I want to add a function to my controller: I want to play one note at a time. So I think that it's necessary to use the monophonic mode, what do you think? But I didn't found the right midi CC message. Could you help me please? Any information will be welcome.
The code works but, I connect it to the PC by loopmidi and Hairlessmidi and, the programs recognize that there is MIDI activity but, do not play the note on the instruments (Drums- Addictive Drums 2 or GTR3 Guitars)
Hey! YOU ARE AMAZING! Is there a simple way to add a "bank selection buton" on the code? I am new to the Midi/arduino world and your videos are making it sooo much easier!
Hi. Great job! I just made the first midi controller in my life, which will make the control of my midi devices a lot easier for me: D Thanks a lot! However, I feel a little unsatisfied - is it possible to enter the values for Control Change messages somewhere in the code? I do not see such an option in the base code, unless I should use multiplexers? Maybe some user has already worked on the topic and could help? Best regards.
Could you build a Foot Pedal adaptable to Guitar Rig 5 or another program, maybe something similar to FCB 1010 Behringer ?? Excellent channel, I learned a lot, thank you
Is there a way to have the MIDI info communicate through the usb port on the Arduino directly into the Digital Audio Workstation? Im looking to not use a MIDI jack but accomplish what you are doing in these tutorials.
Hi, thanks for sharing your project, I tell you I have a BOSS GT 1000 and I would like to make a 6-switch MIDI footswitch, with Arduino but I don't know how to program it, could you help me with that. Thank you
what if i have a 5x6 matrix 25key keyboard (from a Yamaha electronic piano) directly connected so that i can get a number (midi note number) for each button press? how do i manage it with this lib? thanks
Excellent tutorial, have some questions... 1. What if i want two CC comands on one button? 2. If i use midiusb library, can i use the usb output for midi?
sorry for the noob question, but i have a few doubts, i want a responding led for each switch, so do i require different pins for each led or just connect the led to pin 13 with connecting the other to 5V. also if i wanna use a usb type b female jack rather than a midi jack, do i have to use another jack and cable or the program can read the interface of arduino as midi directly by the usb we connected it from?
The sketch works for me and the controller i've built works, but once i power off the ardunio it does remember the code. Just for this sketch, holds other sketches. what am i doing wrong? thanks
Great video. I'm trying to make single foot keyboard. How could i change octaves ? it's probably not possible with control change. Is it possible to use pins A1 A2 without multiplexer ?
is it possible to use the script with the teensy2++? i compiled the script and it works fine and it is detected as a midi device but when i test the connection by wiring ground to the pin number defined in the script it does not register anything. i have defined the button & added it to the directly connected array and declared the number of buttons to 1. i dont know if i'm missing something or if it;s because of lack of compatibility with teensy.
Hi , thank you for your amazing tut :) . Could you tell please how to put programChange and not Notes or ControlChange in buttons ? As I understund 0 is Note , 1 is controlChange and 2 is ControlChange toggle ... Thanks :)
Thanks for this nice video. I would like to use momentary buttons, programmed in latch mode (for sustain on different midi ch) but i would like to use illuminated buttons (with build in led) to get a visual feedback when sustain is on of off. How is this possible ?
Hi Dave if out there...love to ask if you could include coding for LED indicators for each buttons push On and push again Off...i tried to hack it but i failed...Thanks in advance
Hey, I was wondering if you could also achieve sending midi signals using the usb port of the arduino itself without using a seperate midi jack (like most midi-controllers would do)? Nice video btw! I'm planning on building one myself.
This project worked perfectly in kontakt but I am having difficulties in triggering the buttons because the vsts of kontakt are not recognizing the same, I must change the function in the code or I am configuring wrong, help me please, thank you.
Excellent video friend ... but I would like to know how I add leds, one for each button that indicates which button is active I would appreciate if you answered me.
Hi.. Great video! Make it look so easy! I'll be building a similar midi controller with just one or two buttons to MUTE certain buses on my midi unit. How does the Arduino get power to operate. Not sure if I missed something... thank you for any help!
Really great videos! Is there any limitations on what kind of messages I can send using this hardware? I'm thinking of sending not only CC messages but also SysEx or even more freeform ones, documented in the manual for my synth.
+Mathias Dahl Thanks Mathias! I purposely left the command functions accessible in the main program for exactly this reason. You can see an example of me modifying the code for a lighting controller in the following video: ua-cam.com/video/fh4B_N-H2J8/v-deo.html
Hi!!! First of all, tnx for this usefull tutorial! I want to make footcontroller to control stomps in Guitar Rig software. I need to add LEDs for stomps state (on-off). Can You give some advice how to do that? Tnx
hello I came across an old UA-cam video "arduino midi controller: part2 buttons" I'm trying to understand your file because I need 13 buttons (I want to connect a foot piano and I need 13 notes: C-C# -D-D#-E-F-F#-G-G#-A-A#-B-C).Is this already possible?.If so can you help me.
A great resource for building a special midi controler! - I like to build a footcontroler which should send cc 34# on each of the six footswitches, but with different values (0 - 5)! is this possible, how must the code be changed? - also, I like to have a LED per switch, can the Code be extended for this functionality?
Hey buddy, really inspiring video you have made. Thank you I have a question...how about i want to send the connection of this project to my computer via WIFI and not the midi/usb cable? can you please help
please sir how can I program a light detecting resistor (cadmium cell) to act like a switch when laser hitting it is interrupted ?? what I am trying to do is make a laser harp so to say with 8 inputs. can I just alter the code for the midi switch project ???/
This is awesome! Great video. I just have a question for you: is it possible to transport the MIDI data via a USB cable from the Arduino Board without the use of the MIDI cable? I want to use Midi to Serial converting software (hairless MIDI-Serial) to be able to use the MIDI data coming directly from the UNO in a Digital Audio Workstation. How can I do that?
Hi Leonard. The project doesn't support USB Midi. You would need to add a midi interface to your PC that has a 5-pin Midi input jack. That's what I do.
hello sir i would like to ask if how to use 3 button where the first 2 button is the choices then the 3rd button is like the activation or something but the first 2 button is in toggle
Hi ! thanks for the tutorial ! is it great ! Hi ! thanks for the tutorial ! is it great ! i´m trying to use your code with 6 buttons, two for CC function and 4 for toggle CC but i need to press two time for the toggle works, if i push just once the toggle doesn't work, and if i want use the midicontroller whit an aplication like Bias FX like a footcontroller the Bias only works with the note 62 whit any other do nothing, please help me ! How can i make the buttons for toggle works with only one push, and you have any idea for the note than i can use ? thanks !!
This is great stuff!!! Forgive my ignorance, as I know nothing about coding (I'm just a lowly guitar player). But if I wanted to add program changes to the command parameters, would it be as simple as adding 3=PC and a case 3 with MIDI.sendProgramChange? Thanks so much!
I'm making an music instrument for an schoolassignment, is t possible to not use a midiboard or something like that. But multiple pussbuttons that send a signal when activated? Its like doing the same thing in your video here with the little switches on the breadboard without the midiboard connection. Only i am using larger pussbuttons. So when my pushbutton is activated the arduino reconises it and activates a sound.
Hi, I'm currently an undergraduate mechatronics engineering student who about to make an final thesis for graduation. I have a passion for music making so I'm really interested in developing this project and build my own MIDI controller for my graduation. Do you think it would be an appropriate topic for a thesis and if yes, could you help me with it? :D
Great video, thanks! Just wondering, could the same program/ set up be used to send Preset Change messages? I’d like to build a midi foot switch for a line6 M5 guitar effects pedal that I can use to select a number of preset sounds. Would it be as simple as changing the CC code to “PC”? Thanks!!
This is the exact software I've been searching for. I trying to convert a savaged organ pedalboard to a midi pedal keyboard. This will get it done with the minimum screwing around. Your explanation of how the code works is excellent and now I understand the code well enough to make the few simple tweaks needed for my use. Thank you
That's exactly what I am doing! I first tested a couple 25 key midi controllers to try converting them to a set of organ bass pedals for a Hammond XK-3, but they all clear ALL USER SETTINGS every time you power them down!!! I'm just baffled by that. So now it's time to roll my own.
OMG FINALLY!!!!! I knew it had to be this easy, but I keep running into vids and tutorials that pile on the complexity. This is EXACTLY what I need to build a set of bass pedals for my Hammond XK-3. I love that I can just set the pin number, command, note, channel, and debounce IN ONE PLACE :-O I owe you a beer...or a coffee...or even a steak...whatever you want :-)
Man, arduino is indeed amazing but what is truly amazing is people like you sharing knowledge like these for free!
Thanks a lot man! I'm planning to build a midi mixer to my Mox6 to help with live performances!
You are a life saver, best code ever.
Worked great with Arduino Mega 2560 and could also use it on Serial2 instead of default Serial.
Thank you so much for your effort in helping all of us.
Please continue developing the project as it is the best Midi Implementation for arduino I have ever seen.
Everything works perfectly on my Arduino Mega. Thanks for the useful and simple tutorial!
This video is amazing. I have got through this and everything works! Absolutely, hands-down the best MIDI arduino controller video. 11/10.
Congrats BB! Glad it helped you.
Once again a very clear and simple to follow videos. Appreciate your effort!
+Rendell Peh Thanks Rendell!
Great! It's the best video on the tube to explain how to start to midify a key. Wonderful 👍
HI, thanks for these educational documentaries. thanks to you I now have a more or less working 13 pedal organ bass board (I recovered the pedal board from an old Hammond organ). I used the led input and one of the analogs as a digital input as i had "13 pedals". cheers!
Thanks Alex! That's really cool! I'm glad it worked for you. I love hearing success stories like this :)
so today i added a 44 key variant of the program (no muxes) just straight Digital inputs on a Mega board (up to 54 Di depending on how you use them). I left the LED free this time and serial pins free also, and used inputs 2 to 12 and 22 to 53. Seem to work plugged into a Yamaha Reface :-) all i need to do now is wire it up to a Hammond 44 key manual and make a box for it. summary I am feeling very confident with a 13 pedal bass board into a UNO and the 44 key on a Mega 2560.
Thanks a million for your work. Thanks you, Now I have my own homemade Arduino foot pedal keyboard!
great vid .. but i don't get the need of using midi 5 pins jack ... theres already usb port in the arduino itself ... Can we make midi controller using the usb port ..
Man, this code is awesome! Just built a MIDI foot controller for my pedalboard. Rock on dude!
That's awesome!
worked like a charm used this to build a foot switch for my headrush mx5 to control the looper.. thanks brother
Excellent!
brilliant video . made a 5 button interface this evening . very straight forward to do . very happy and impressed with myself. thanks , you've inspired me to be creative for first time in a while . keep up the good work !
Congrats Simon! Glad you found it useful :)
Please a tutorial about midi-usb and capacitive sensors instead of buttons, with midi. Sería de mucha ayuda! And thanks so much for all your tutorials, they're great and well explained!
I am so Glad I subscribed to your channel sir. You explain this in a way that makes it very understandable to beginner builders/coders. CHEERS !!
Thanks and welcome
Thank you for the tutorials. One of the best I have seen so far. Very clear instructions.
Thanks JL!
Hi,Dave!
Love your tutorials and your channel content!
About the buttons:your method of connecting them right up to digital pins is simple and effective,but if there are more buttons to be read I would suggest using parallel in-serial out shift registers.They are great because you can cascade them together and read maybe hundreds of switches.
P.S. The idea about using a multiplexer was pretty clever.Going to keep it in mind when building my projects. :)
Keep them videos coming!
Cheers!
Thanks for the tip elektro! I will check it out.
Super code customisable ! Work great for me. I tried this and Led tuto separatly, need to mix the 2 code! thanks Dave to help me for my diy midi controller
@Fred Delsaux Hello. Did you managed to mix the 2 code (Buttons & led) ?
Hello, thanks for these tutorials!
I've come so far, but this doesn't work for me. So, I tried Hairless MIDI, and every time I pressed a button, it said:
"Warning: got a status byte when we were expecting 1 more data bytes, sending possibly incomplete MIDI message 0xc0"
Any ideas?
thank you so much for the clear and simple tutorial.. can't wait to try it
Have fun!
Hello, very interesting video. Thx for share. I've a question. If I want to send a group of midi note.
For exemple, if i press button1 and i want to send a C3maj chord, composed of a those 3 notes : C3 - E3 -G3.
How could i programme it ?
thank you for this beautiful video. Can I use this for chord control with my foot while playing the keyboard?
Nice videos! I really understand what you have explained! Congratulations for your channel!
Thanks Bruno!
Awesome, took me a while to figure out what i was doing wrong, turned out, I dint used the right Linux commands.
I can now send midi stuff from my arduino over plain serial to my Linux machine and play midi music :D Your videos are clear and helpfull.
ttyMIDI and aconnect helped me alott. it might not have guis but way less trouble once i understand how they work. I might create a nice gui for myself as I see myself way more often connect and change serial connections. A true MIDI port might be ok, but ill add that once i hacked my keyboard. Now I need an awesome sounding external synth :P (for DosBox and Qemu use)
thank you very much for your tutorials , they are helpful, I'm still waiting for the third part ;)
Thanks Fabio! The third part is here ua-cam.com/video/NmxoBdEJG28/v-deo.html
Super tutorial! Do you know how I can make my Arduino to be recognized as a controller by the computer and send MIDI CC through the USB (same as for powering) instead of a MIDI port?
www.arduino.cc/en/Reference/MIDIUSB maybe?
connect the tx port to a usb i think..
I connected mine to a raspberry pi 3 by connecting the signal on arduino pin 1 (tx) directly to pin 8 on the pi3 (rx), and I would imagine you could do that with any midi interface, although per the standard, it really should be separated with an optocoupler. To connect it as a USB MIDI device, depending on your Arduino model, you can use the HIDUINO firmware found here: github.com/ddiakopoulos/hiduino. Otherwise you will need to build a cable with a separate controller. This might help: axe4live.wordpress.com/2012/02/04/diy-midi-interface-for-ipad-version-2/.
Use some Softwares Like " LOOPMIDI " and " HAIRLESS MIDI ". It's a very Basic and Amazing Way to control Midi via USB.
I use an Arduino Leonardo for that
Keep up the good work! This is on Khan Academy's level
+haubir95 Thanks haubir! I just wish I had 1/10th his subscribers :)
This is great, easy and flexible. Can you simple add more Pots if, for instance, using an Arduino Mega ?
Nice! I want to try this as well.
Hopefully new parts are coming quickly.
Subscribed btw.
Awesome! Thanks for the sub. Good luck with your build.
Fantastic tutorial, thanks very much, great source code too
Hi! this is really inspiring video and helpful also. Thanks for help,
i am searching the thing like this since long......great work...
Thanks Richardson!
This is great, thanks for making this. I have tried making a 6 button controller but when I try and upload to the uno i get an error saying undefined reference to 'Button::Button (unsighned char, unsigned char...etc, I doubt you will see this after many years of this vidoe being online but any ideas how to fix that? I'm very new to this
excellent info and code is great. thank you. i am trying to modify the code to sends a string of notes on button bush. i tried changing notes from single notes like 60 to for example 60-64. But it doesn't change though as i think i need to add note off between each note. How do i add this note off between each note (for single button push)? thanks
Is it possible to replace the Midi output port with a Bluetooth module like the HM 10 ? what would change in the arduino sketch? thanks!
I have a question, I have the Drumkit AI from spikenzie labs. I would like to replace the piezo transducer with push buttons. is a new script needed? Sorry for the noob question, but this was the first place I found that made things a little clearer for me.
Thanks for the good content. I use it to play button chords, but only Major chords are played because it sends a single note. For minor chords, how can I get the button to send two notes when I press it once?
Hi! Great video. Quick question. I want to use as a guitar pedal and use stronger switches that I can attach to the enclosure. All I see are two button versions of this. How would I connect and program the two pin instead of the 4 pin? Thanks!
Is there a way to adjust this code to work with a Leonardo board? So that the board itself sends Midi over USB?
I built a foot controller using this video and it works with just one caveat and I was wondering if others have the same issue. I use 8 switches to control my Line6 HX Stomp--adds switches for all 8 blocks which is just awesome! The problem that I have is that the first switch press typically is not picked up by the Stomp. I hit a switch once and nothing happens then I hit it again and it will work fine from then on. Do I need to add pull up resistors or something??
How would you be able to use this simple setup without the MIDI jack? Using only the USB to send the MIDI commands? I would love to hear about this.
Hi thank you for share this tutorial, one question, in your code is not possible to send CC message with value?
My midi controller started switching super fast between CCs when I did this project, what did I do wrong?
What sort of buttons will work for velocity-sensitive applications? I’m working on my own project right now where I’m building a controller(just buttons for a diy keytar) that will plug into the wiring clip inside an existing midi keyboard.
So I’m wondering if there is a certain type of button that has multiple connectors to make them velocity-sensitive. People on here probably already know the inner workings of keyboards, but the way it works is: one lead selects a note range and two leads will trigger a note when connected to the first. The speed at which the two trigger leads connect to each other determines the velocity. Extracting the buttons from under the keybed and mounting them in another device doesn’t seem like an option because these are usually based on pc boards rather than something that can be easily re-wired. I’m already lucky enough that the Keystudio25 has actual wires that clip into the main circuit board.
Any help would be appreciated!
Hello,
First of all, thank you very much for your youtube channel!
It allowed me to make a bass pedalboard (like the PK-5 from Roland).
This midi controller allows my guitarist to trigger sounds from a synthesizer (Access Virus).
I want to add a function to my controller: I want to play one note at a time.
So I think that it's necessary to use the monophonic mode, what do you think? But I didn't found the right midi CC message.
Could you help me please?
Any information will be welcome.
The code works but, I connect it to the PC by loopmidi and Hairlessmidi and, the programs recognize that there is MIDI activity but, do not play the note on the instruments (Drums- Addictive Drums 2 or GTR3 Guitars)
Hey! YOU ARE AMAZING! Is there a simple way to add a "bank selection buton" on the code? I am new to the Midi/arduino world and your videos are making it sooo much easier!
GREAT video! helped me out a lot! :D
Hello! Great this video. How can I add a LED that it turn on when I press a button? Thanks for an eventual your answer
Hi. Great job! I just made the first midi controller in my life, which will make the control of my midi devices a lot easier for me: D Thanks a lot!
However, I feel a little unsatisfied - is it possible to enter the values for Control Change messages somewhere in the code? I do not see such an option in the base code, unless I should use multiplexers? Maybe some user has already worked on the topic and could help?
Best regards.
Could you build a Foot Pedal adaptable to Guitar Rig 5 or another program, maybe something similar to FCB 1010 Behringer ??
Excellent channel, I learned a lot, thank you
Is there a way to have the MIDI info communicate through the usb port on the Arduino directly into the Digital Audio Workstation? Im looking to not use a MIDI jack but accomplish what you are doing in these tutorials.
Hi, thanks for sharing your project, I tell you I have a BOSS GT 1000 and I would like to make a 6-switch MIDI footswitch, with Arduino but I don't know how to program it, could you help me with that. Thank you
what if i have a 5x6 matrix 25key keyboard (from a Yamaha electronic piano) directly connected so that i can get a number (midi note number) for each button press? how do i manage it with this lib? thanks
Excellent tutorial, have some questions...
1. What if i want two CC comands on one button?
2. If i use midiusb library, can i use the usb output for midi?
hi !
i'm curently trying this option, you should be able to do it only with a USB HID enabled board (see the MIDIUSB library info it tells it all)
sorry for the noob question, but i have a few doubts, i want a responding led for each switch, so do i require different pins for each led or just connect the led to pin 13 with connecting the other to 5V. also if i wanna use a usb type b female jack rather than a midi jack, do i have to use another jack and cable or the program can read the interface of arduino as midi directly by the usb we connected it from?
The sketch works for me and the controller i've built works, but once i power off the ardunio it does remember the code. Just for this sketch, holds other sketches. what am i doing wrong? thanks
Good job!
I would like to use a 4 button footswitch.
But I am not able to assign a led to each button.
Some help?
Thanks
hi thanks so much for this video! really easy to understand
Thanks Jary!
This is great!!!!. Please do Encoder video midi !!! Cool Notes & Volts
Great video. I'm trying to make single foot keyboard. How could i change octaves ? it's probably not possible with control change. Is it possible to use pins A1 A2 without multiplexer ?
is it possible to use the script with the teensy2++? i compiled the script and it works fine and it is detected as a midi device but when i test the connection by wiring ground to the pin number defined in the script it does not register anything. i have defined the button & added it to the directly connected array and declared the number of buttons to 1. i dont know if i'm missing something or if it;s because of lack of compatibility with teensy.
Hi , thank you for your amazing tut :) . Could you tell please how to put programChange and not Notes or ControlChange in buttons ? As I understund 0 is Note , 1 is controlChange and 2 is ControlChange toggle ... Thanks :)
Did u solve? I m trying to send program change too
Thanks for this nice video. I would like to use momentary buttons, programmed in latch mode (for sustain on different midi ch) but i would like to use illuminated buttons (with build in led) to get a visual feedback when sustain is on of off. How is this possible ?
Hi Dave if out there...love to ask if you could include coding for LED indicators for each buttons push On and push again Off...i tried to hack it but i failed...Thanks in advance
Hello Azman Ahmad. Did you managed to add coding for LED indicators, as you wanted?
@@slaamri yes i did get it... Do you want a copy of it?
@@azmanahmad2820 Great! I'd like to have it! Thanks!
@@slaamri #include
MIDI_CREATE_DEFAULT_INSTANCE();
const int relay_1 = 12;
const int relay_2 = 11;
const int relay_3 = 10;
const int mswitch_1 = 8;
const int mswitch_2 = 7;
const int mswitch_3 = 6;
int toggleState_1 = 0;
int toggleState_2 = 0;
int toggleState_3 = 0;
void setup() {
MIDI.begin(MIDI_CHANNEL_OFF);
Serial.begin(31250);
pinMode(relay_1, OUTPUT);
pinMode(relay_2, OUTPUT);
pinMode(relay_3, OUTPUT);
pinMode(mswitch_1, INPUT_PULLUP);
pinMode(mswitch_2, INPUT_PULLUP);
pinMode(mswitch_3, INPUT_PULLUP);
}
void relayOnOff(int relay){
switch(relay){
case 1:
if(toggleState_1 == 0){
MIDI.sendControlChange(16, 127, 1);
digitalWrite(relay_1, HIGH); // turn on relay 1
toggleState_1 = 1;
}
else{
MIDI.sendControlChange(16, 0, 1);
digitalWrite(relay_1, LOW);// turn off relay 1
toggleState_1 = 0;
}
delay(100);
break;
case 2:
if(toggleState_2 == 0){
MIDI.sendControlChange(15, 127, 1);
digitalWrite(relay_2, HIGH); // turn on relay 2
toggleState_2 = 1;
}
else{
MIDI.sendControlChange(15, 0, 1);
digitalWrite(relay_2, LOW); // turn off relay 2
toggleState_2 = 0;
}
delay(100);
break;
case 3:
if(toggleState_3 == 0){
MIDI.sendControlChange(10, 127, 1);
digitalWrite(relay_3, HIGH); // turn on relay 3
toggleState_3 = 1;
}
else{
MIDI.sendControlChange(10, 0, 1);
digitalWrite(relay_3, LOW); // turn off relay 3
toggleState_3 = 0;
}
delay(100);
break;
default : break;
}
}
void loop() {
if (digitalRead(mswitch_1) == LOW){
MIDI.sendControlChange(16, 127, 1);
delay(200);
relayOnOff(1);
}
else if (digitalRead(mswitch_2) == LOW){
MIDI.sendControlChange(15, 127, 1);
delay(200);
relayOnOff(2);
}
else if (digitalRead(mswitch_3) == LOW){
MIDI.sendControlChange(14, 127, 1);
delay(200);
relayOnOff(3);
}
}
@Azman Ahmad thank you ! I try this. I'll let you know.
Hey, I was wondering if you could also achieve sending midi signals using the usb port of the arduino itself without using a seperate midi jack (like most midi-controllers would do)? Nice video btw! I'm planning on building one myself.
www.arduino.cc/en/Reference/MIDIUSB
I know this is old but will this controller function the same via the USB Tx/Rx data lines? @Notes and Volts
Thank you !!! It works perfectley !!! Now I have midi footswitch :) using it with Octatrack :D
Awesome Gert! Nice work :)
any chance i could see a video of your foot switch?... i want to make a 12 note foot organ.
Hi , Love the videos. can i use your stock midi controller sketch to do program change. All i see is CC.
I built a 13 note "midi bass pedals" with the help of these well produced tutorials.
How hard would It be to add oct +/- in the sketch?
So much fun. Definitely my new favorite channel.
This project worked perfectly in kontakt but I am having difficulties in triggering the buttons because the vsts of kontakt are not recognizing the same, I must change the function in the code or I am configuring wrong, help me please, thank you.
Excellent video friend ... but I would like to know how I add leds, one for each button that indicates which button is active I would appreciate if you answered me.
Oscar Lopez im looking fwd for this too tried but failed..hv u any sucess?
Hi.. Great video! Make it look so easy! I'll be building a similar midi controller with just one or two buttons to MUTE certain buses on my midi unit. How does the Arduino get power to operate. Not sure if I missed something... thank you for any help!
Thanks bells! The Arduino can be powered through the USB cable when experimenting or with an external power supply foe stand alone projects.
Really great videos! Is there any limitations on what kind of messages I can send using this hardware? I'm thinking of sending not only CC messages but also SysEx or even more freeform ones, documented in the manual for my synth.
+Mathias Dahl Thanks Mathias! I purposely left the command functions accessible in the main program for exactly this reason. You can see an example of me modifying the code for a lighting controller in the following video: ua-cam.com/video/fh4B_N-H2J8/v-deo.html
is it possible to skip midi din connector part alltogether and just use usb-midi? Thanks!
This is superb! Thank you so much!
Thanks Rick!
Can I use the "footswitch button" like guitar pedals? And how to connect it with the arduino?
Hi!!! First of all, tnx for this usefull tutorial!
I want to make footcontroller to control stomps in Guitar Rig software. I need to add LEDs for stomps state (on-off).
Can You give some advice how to do that?
Tnx
how can I put 16 buttons on it? it only has 11 ports to connect buttons?
with multiplexer, watch part 3.
hello I came across an old UA-cam video "arduino midi controller: part2 buttons" I'm trying to understand your file because I need 13 buttons (I want to connect a foot piano and I need 13 notes: C-C# -D-D#-E-F-F#-G-G#-A-A#-B-C).Is this already possible?.If so can you help me.
Assuming that:
A0 = PIN 14
A1 = PIN 15
A2 = PIN 16
A3 = PIN 17
A4 = PIN 18
A5 = PIN 19
Would work on the code with switchers?
A great resource for building a special midi controler!
- I like to build a footcontroler which should send cc 34# on each of the six footswitches, but with different values (0 - 5)! is this possible, how must the code be changed?
- also, I like to have a LED per switch, can the Code be extended for this functionality?
hi, i m trying send different value for same CC number, did u reach?
How to make button solo/mute Channel CC massages for GM sound module please?
Hey buddy, really inspiring video you have made.
Thank you
I have a question...how about i want to send the connection of this project to my computer via WIFI and not the midi/usb cable?
can you please help
Thanks DJ N! You could probably do this by adding a Wireless Midi converter like this one jamstik.com/products/puc
please sir how can I program a light detecting resistor (cadmium cell) to act like a switch when laser hitting it is interrupted ?? what I am trying to do is make a laser harp so to say with 8 inputs. can I just alter the code for the midi switch project ???/
Combination of buttons, how is done please..I would like to press 2 or more buttons at the same time to send a single midi command.
I made the midi drum kit with analog inputs. Can I use digital inputs with this code?
I have a sensor and I want use it as a switch with your code it's gave analog value from 0 to 1023 I want when analog100 send note of please reply
This is awesome! Great video.
I just have a question for you: is it possible to transport the MIDI data via a USB cable from the Arduino Board without the use of the MIDI cable? I want to use Midi to Serial converting software (hairless MIDI-Serial) to be able to use the MIDI data coming directly from the UNO in a Digital Audio Workstation.
How can I do that?
Hi Leonard. The project doesn't support USB Midi. You would need to add a midi interface to your PC that has a 5-pin Midi input jack. That's what I do.
Notes and Volts means the above setup can't be used with a 'midi to USB' cable?
hello sir i would like to ask if how to use 3 button where the first 2 button is the choices then the 3rd button is like the activation or something but the first 2 button is in toggle
Hi ! thanks for the tutorial ! is it great !
Hi ! thanks for the tutorial ! is it great ! i´m trying to use your code with 6 buttons, two for CC function and 4 for toggle CC but i need to press two time for the toggle works, if i push just once the toggle doesn't work, and if i want use the midicontroller whit an aplication like Bias FX like a footcontroller the Bias only works with the note 62 whit any other do nothing, please help me !
How can i make the buttons for toggle works with only one push, and you have any idea for the note than i can use ? thanks !!
Hi, how can I send same CC message but with different Value? " EXAMPLE CC69 Value 4 . thanks
please tell me the source code helps as buttons to change the program code
Can this be done with a USB port instead of MIDI?
what software did you use for making animation with pictures?
works fine, thx much.
Awesome!
This is great stuff!!! Forgive my ignorance, as I know nothing about coding (I'm just a lowly guitar player). But if I wanted to add program changes to the command parameters, would it be as simple as adding 3=PC and a case 3 with MIDI.sendProgramChange? Thanks so much!
Did you end up figuring it out?
@@paulrobert3334No, I gave up on the whole project. :D
I'm making an music instrument for an schoolassignment, is t possible to not use a midiboard or something like that.
But multiple pussbuttons that send a signal when activated? Its like doing the same thing in your video here with the little switches on the breadboard without the midiboard connection. Only i am using larger pussbuttons. So when my pushbutton is activated the arduino reconises it and activates a sound.
Hi #_#. Other types of Normally Open buttons should work fine.
Hi, I'm currently an undergraduate mechatronics engineering student who about to make an final thesis for graduation. I have a passion for music making so I'm really interested in developing this project and build my own MIDI controller for my graduation. Do you think it would be an appropriate topic for a thesis and if yes, could you help me with it? :D
Great video, thanks!
Just wondering, could the same program/ set up be used to send Preset Change messages? I’d like to build a midi foot switch for a line6 M5 guitar effects pedal that I can use to select a number of preset sounds.
Would it be as simple as changing the CC code to “PC”?
Thanks!!
I m trying too.. have you solved?
@@marcobenigni2610 I'm also trying. any luck
Did you get it?