MIDI Programming & Commands Explained - How to Program MIDI

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys in today's video we're going over the basics of midi programming and understanding the different midi commands midi is a very complex subject but i'm going to try to simplify it down as much as possible i can't be certain exactly what you are looking to do for understanding midi and what made you click this video if you're looking for like a history of it or what midi is and the ones and zeros and all that stuff i don't think i'm the guy who's qualified to talk about that so that's not what this video is going to be about instead this video is going to be about how to use midi to send information to anything that reads midi that can change parameters of that device sounds complicated but watch like when i push this button on my ipad this changed to a different patch same when i touch this one see how it changed and again it changed now if i touch this this light will light up next one next one so on and so forth or this one i can get to display a goofy message on my ipad that is what we're going to be going over in this video we're going to be understanding midi channels midi program changes midi controller changes and i'm going to give you a few other tips of you know sending midi notes which i think is pretty self-explanatory but i'll cover that in a few other bonus tips if that's what you're looking for that's what we're going to discuss in this video and if that's not what you're looking for sorry best of luck i will post links in the description down below of other midi videos explaining other topics of midi it so hopefully you can find what you're looking for so i'll post time codes on the screen now in case if you want to skip around i'm going to assume that you're brand new to midi programming and just and you're going to start from scratch so that way if so if it's something that you already know you can go ahead and skip around the video to find the part that you're interested in learning so there are many many many ways to connect midi devices this is the setup that i've decided to go with an ipad and hx stomp which is a amp modeler an effects processor for guitar players and then this air turn midi pedal all the ideas here will likely apply to whatever you're trying to program so if you're trying to send a midi controller to send a message to your computer or to ableton or something like that you know or vice versa you want your computer to send information to your keyboard or or a sequencer or something like that the general ideas are all the same this is just what i decided to do as far as what would be best for this demo and what would be the best to have this make sense so before we get started i post stuff about music tech programming midi in-ears wireless all sorts of stuff all the time if you're interested in checking out more videos like this in the future don't forget to hit that subscribe button okay let's get started okay so how do you connect midi devices we've established that midi is used to send information from one device or computer or tablet to another device in order to change some of the settings or parameters in that device so how do you make these connections so first of all one of the most common ways in kind of an older way but still pretty common is this type of cable it's called midi cable it's called a 5 pin midi cable and on your devices that accept 5 pin midi you either have midi in midi out or midi through midi out enmity through sometimes share the same connector so let's say i want to send midi from my hx stomp to a keyboard i would plug the midi cable into the midi out port of the hx stop into the midi in port of the keyboard i would do it vice versa if i wanted to send info from the keyboard to the hx stomp i would plug the cable into the midi out of the keyboard into the midi in of the hx stomp now the through is if i wanted to daisy chain so say in that situation where i sent midi from my keyboard to my hx stomp and then i wanted to send keep sending that signal and daisy chain it and send it to my drum sampler for example i would go midi out of the keyboard to the midi in of the hx stomp and then the midi out slash through out of the hx stomp into the drum sampler so that would daisy chain them together which is actually how i do it live so the second way to do this is by midi over usb which is becoming more and more popular the hx stomp accepts usb b type of cable and then i would plug so i would have to get a usb b to usb a cable in order to plug my hx stop into say a computer or something like that so that looks like this so this is the usb b and this is usb a this would plug in to my hx stop and then this side would plug into my computer or in this case it would plug into the ipad which you can do they have adapters to convert lightning pin to usb and then the third most common way to connect many devices is midi over bluetooth so that's the way that this device actually connects now if you look see this one right here the bt 200s-6 that is this pedal right here this is connected by bluetooth just like any other bluetooth device you turn this on you find it in here in your computer or your tablet so this device has bluetooth enabled and this device has bluetooth enabled the hx stop does not have bluetooth enabled so i am trying out this thing called the witty master which i'm going to do a video on here in the future so don't forget to subscribe to see that one when that comes out but this converts your standard midi connections the five pin midi connections into bluetooth mini which is really cool so that's the main way that i'm going to be controlling these devices so that's how you make the connections with midi okay so the first step to understanding midi is midi channels midi can transmit information on 16 different channels channels 1 through 16. so why would you need to do that so if you have multiple midi devices reading midi signals you don't want the messages to get confused with each other so for example on my hx stomp i have that set to read only on midi channel 4. so any information that i send from my ipad which is what i'm using to demo this if i send any information on midi channel 3 2 1 5 anything else besides four my hx stomp is not going to listen to that information so this is useful for because i'm i perform i'm a live looper and i actually have my guitar effects reading on channel four my vocal processor reading on channel two my iphone which runs my keyboard samples is reading on channel 11 my drum pad is reading on channel 10 and so on and so forth so none of the messages that i send will get them mixed up so make sure that if you're controlling multiple midi devices you set them to a different channel so that there's not any mix up so midi channels are basically we're gonna work we're gonna funnel our way down at the very top we have midi channels and within those midi channels we have something called program changes and then going into finer detail we have controller changes so just think of it kind of as a funnel so in this funnel i'm putting my hx stomp is on midi channel 4 that's at the top of the funnel everything that is sent on midi channel 4 will control the hx stop we have another funnel that has midi channel 10 and that controls my spd-sx drum sampler but for right now we're just focusing on the hx stomp the channel is at the top of the funnel and that controls the hx stock and only midi messages sent on channel 4 will continue down the funnel okay so now that we understand midi channels we're going to understand the difference between program changes and controller changes so the hx stop is actually a great device to demo this on so again at the top of our funnel we have midi channels which control just one device we've established that the hx top is only going to read on channel 4. now program changes do you see how i have all these different presets in here different amp modelers different effects and stuff like that it goes from zero all the way up to 125 that's the highest one that we have so we have the presets and then within that i have different arrangements so i have a delay on this one a reverb on this one an amp in preset zero if i go over to preset one i have a slightly different configuration preset two slightly different configuration preset three slightly different configuration so the program change you can think of as like the preset right here which is preset three in this case so we have channel four is the hx stomp within the hx dump which is on channel four we have program changes which define the presets in here now within each preset we have different controls in here i have a amp in here i have a plate reverb on here i have a tape delay on here have a compressor on here so on and so forth so within this preset i have different buttons and different parameters that i can change i have different control over all the parameters within this preset right here so say on my plate reverb i want more decay less decay i want to change that plate reverb to a chamber reverb or something like that so the control change or controller changes those are used to control the parameters and parts within that preset in my case for the hx stop the amps the effects the reverbs and stuff like that so again we have our midi channel which is encompassed by midi channel 4 which controls everything in the hx dump going deeper into the funnel we have program changes which are going to change the preset and then deeper into those presets we have all the different parameters that we can control in here the effects what type of effects how much of those effects what button do i push stuff like that so we have midi channel program change control change makes sense so part of the reason why i'm using this the ipad is because i'm using an app called onsong which is such a cool app but it has a thing where you can draw where you can make sticky notes and you can assign those sticky notes to do whatever you want when you press them so i've already set this up ahead of time so when i have this this one set to send program change 3 as a message on only channel 4. send program change 3 program change 10 and program change 126. watch what happens to the preset on the hx stump when i press these buttons changed it changed and it changed now you might be going wait this says preset 126 why did that load preset 125. so here's the other thing is so once you get to program changes and control changes midi can send a value of between 0 and 127 so again our midi channels we have 1 through 16. for program changes and control changes we can send a midi value of 0 to 127. where this gets confusing is i'm actually going to walk you through how i programmed this i'm just going to build a new one so i'm going to tap this it says no action is assigned i tap that and then i say what action do i want to send and this is the thing that's crazy about onsong is you can send all these different messages so much stuff it's used for backing tracks and lyrics and chord charts and stuff like that but it has midi stuff so i'm going to do midi event send and i'm going to add a new midi event and again every every midi device is going to be a little bit different but this one seems to make the most sense so this is what midi event is going to send when i tap on the sticky note so what type of message do i want to send do i want to send a control change a program change and then all these other ones which again midi is very complicated we're mostly just focusing on these like top three i'm going to send a program change what channel am i sending it on for because my hx dump only reads on channel 4. now this is where it gets confusing what program change do i want to send it does not give me program change 0 which is what this starts on it gives me 1 through 120 but my hx stomp reads on 0 to 127. so this is where it gets a little bit confusing so these numbers are off by one this one starts on zero this one starts on one so if i send program change six and what's nice is that it has this test command button right here so i can test it it loads program change five so i have to subtract one and again this might be getting a little bit complicated i'm just trying to show you how complicated midi can work so program change one actually goes to program change zero in here does that make sense so when i send program change 126 it loads program 125 right because of the way that it works from zero to 127 whereas in on song it sends one through 128 just a little bit confusing so loading hitting this one which is programmed to send program change 10 it loads what number is it gonna load nine and this one program change three is gonna load preset two in here makes sense so that's how you can control your program changes all right so going deeper within our funnel we had channels everything on channel four is the ahx stop program changes all that controls all the presets in the hx stomp and now all the different parameters within that preset are controlled by controller changes now here you're going to have to look at your manual to see what pre-programmed midi commands the hx stomp receives so when you open up the manual and scroll down to midi it says that if the hx stomp receives a controller change message on controller change 49 it'll act like you stepped on this button if it gets a control change 50 it'll act like you stepped on this button if it gets cc 51 it acts like you stepped on this button so again on onsong i have this set up already to send cc to 49 50 and 51. so when i tap this it's going to act it's going to act like i stepped on button one and watch that light light up there it is cc 50 the second light cc 51 the next light makes sense so again i'm having just in the same way that we did the program changes i programmed when i touch this sticky note it sends control change 49 to change this button cc 50 changes this button cc 51 changes this button so again you're gonna have to look through your manual to see okay i want to change this button in my midi device i want this to turn on i want this to turn off i want my reverb to turn on turn off you're gonna have to see what cc command you need in order to change the parameters within your device okay so now within each device you should be able to program anything or it depends you know all the gear is different but for most things you should be able to assign midi commands within your devices so on your computer or on your midi device so i'm going to show you how you do that in here so what i'm going to do this plate reverb i want to turn that on and off with midi commands so i'm going to and this is how you do it on the hx dump you push both these buttons to go to the global menu i'm going to go to bypass assign so do i want to turn it on and off what switch do i want midi's not in here you scroll over midi in i'm going to set it to cc let's say 85 when it's so now when this gets a message of cc 85 it is going to turn on and off the plate reverb so cc 85 is going to turn on and off that reverb so i'm going to program a new sticky note new sticky note assign the action scroll down midi midi event i want to send a midi event i'm going to add a new one control change only on channel 4 controller 85. now watch what happens to that orange block up there once i send that command uh-oh what's happening it's not working so am i just an idiot am i doing something wrong here's something else that happens remember how i mentioned in a program change you have a value of 0 to 127. well check this out and here in onsong we have the value at 127. sending that test command is actually just turning it on it's not turning it off so now if i set the value to zero test command bam turn it off put it back up to 127 turn it back on makes sense so you have to send a midi command of one of zero to turn it off and 127 to turn it on makes sense now watch this if you turn it on latching there's a difference between latching and momentary now watch this when i turn latching on test command test command latching it switches between 0 and 127. does that make sense so now when i tap it it's sent a 0 message tap it again it sends a 127 message turn that off it's only going to send 127 and therefore it will only turn that one on does that make sense something else that's really cool about this is that so if i have this set to just off on the cc if i do learn it's going to listen for a midi command so i'm going to send the midi command and it was like oh you want midi cc 85 to control this parameter and now i can turn it on and off by tapping this button makes sense so if you remember at the beginning of the video i programmed this button to send all these nerdy smiley faces on the screen so what i'm going to do actually is and again in on song so this is just another it's i wouldn't just don't just skip out of the video right now because i want you to do another one the way that you get better at midi programming is by doing it just over and over again so the way you assign foot controllers here is by pushing this button up here it's saying midi triggers listening for midi input on all channels so i'm going to assign this first one and it found control change 20 on channel 6. so i'm going to tap that what do i want that to do in this case i want to start the backing track and i want it to play so now i'm going to assign this one it found control change 21 that's what this is programmed to do i'm going to tap on that i want that to stop the backing track so this one so in onsong you set your backing track here and you can choose the track that you want i chose one of mine so i don't get copyright but now when i push this button it should play right it did push this button again it'll stop up it didn't stop what's going on i had to push it twice why is that happening shouldn't i push play it should work didn't work i have to push it twice what's going on in here so loading the airturn app and this is how you edit this device i'm going to go in here i'm not going to explain all of this this is set to latch right now so watch what happens when i set it to momentary on button one i'm gonna set it to momentary latch is like turn it on and leave it on and then step on it again to turn it off i want momentary in this case because i just want you step on it and it sends the command so i'm going to save that go back to onsong now watch what happens push it once and it plays i still have to step on this one twice to stop it because it's still on latch but now when i touch it once it'll play makes sense again this this got fairly complicated but i'm trying to give you a basic understanding of how midi programming works and just plan on having a lot of headaches because you're going to be like you know just like little things like this why is program change 3 or program change 126 opening 125 why do i have to step on this twice in order to make that work why does control change like if i don't set the value to 127 why doesn't it turn on and off so there's a lot of headaches with that every a lot of devices are fully functional especially with you saw how we had that so the video is getting too long so i'm going to wrap up with this and you should understand it hopefully controller assign i want the feedback to be controlled by midi cc 84. so when i send midi cc 84 the feedback parameter so let me actually go ahead and just mini command 84 when i send a value of 127 it's going to load that feedback all the way up if i set the value to 15 it's going to load it down 0 turns it off 127 turns it up to 100 so on and so forth does that make sense so you can still control the parameters in here based on the cc value so i hope that made sense again this video got really long let me know if this video helped you out by giving a thumbs up if you made it all the way to the end of this video i'm assuming that it helped you out at least a little bit so if you can give a thumbs up if you can like the video that does help push the video out to other people and therefore will get more views on it which helps out my channel so i would really appreciate that if you're able to do that i do have links down below on where you can buy some of this stuff that i used for midi as well as where to buy cables and stuff like that those are amazon affiliate links so that does help out my channel as well at no extra cost to you don't forget to like and subscribe let me know what you guys are going to be programming using midi if you're really stuck on your midi programming you can hire me to do consulting that is something i started offering on my website links are in description down below but i've helped multiple people set up their midi devices i know that midi can be confusing it's actually been really fascinating to see how everyone has their different mini devices set up so leave a comment down below let me know how you are using your midi devices and how you're using your midi programming or what you plan to do with it thank you guys again for watching don't forget to like and subscribe and i'll see you guys next time
Info
Channel: Scott Uhl
Views: 8,049
Rating: undefined out of 5
Keywords: midi programming and commands explained, midi commands explained, How to Program MIDI, what are midi commands, what is midi programming, midi programming for beginners, midi commands beginner, what is midi pc, what is midi cc, midi programming tutorial, understanding midi cc, midi programming beginner lesson, understanding midi channels, how to understand midi, Midi programming beginner, understanding midi, understanding midi connections, midi, midi programming for dummies
Id: IoUtshlzCTo
Channel Id: undefined
Length: 21min 57sec (1317 seconds)
Published: Tue Dec 08 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.