MIDI Part 2 - MIDI Message Types

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey folks is Andrew Kilpatrick here and welcome to MIDI part 2 today's topic is called MIDI message types and I've made a list of some points to cover in this video so let's get right into it so there's four main points that I want to cover today talk about message types we'll get into the specific message details later on in a future video but these are the main four points that I think fit which is that MIDI is an event based protocol we'll talk about what that means channels versus system messages Omni and poly modes these are a little bit old-fashioned but you still will run into it from time to time and also local on and off and if you're new to using Hardware synthesizer keyboards with your computer or with another sequencer then this is an important point so let's go over to the bench as usual and we'll get right into it so MIDI message types the first point that we need to cover is that MIDI is an event-based protocol and what do we mean by that let me give you an example of the opposite of an event-based protocol and something that we're probably all familiar with which is video interfaces like VGA HDMI DVI and things like that or just plain old TV you know composite video signals so in a video signal we've got a screen we've got pixels going across the screen these are lines of pixels usually and normally the video signal sends each line one at a time from left to right and then from top to bottom of the screen and then when it gets to the bottom of the screen let's say that's it you know one sixtieth of a second if we're talking about you know 60 P type of a video signal it goes right back up to the top and starts all over again so if there's nothing changing on the screen this process is still happening so in your tablet or your laptop the LCD screen that's attached to the motherboard is getting continuously refreshed with this data same with your HDMI signal the pixels are being sent over and over even if nothing's changing so to change a pixel on the screen all we have to do is go into the memory and change a value somewhere and now the next time that screen redraws will see that new pixel on the screen and that means one main main important point is that you could plug in your video your video cable at any time and this screen image will appear in its entirety there's no need to for the TV to remember what the screen looked like before it gets an entire new frame every time that's different than an event-based protocol like MIDI where the receiver or let's say the synthesizer or the sequencer that's listening to a keyboard or something like that that device is responsible for remembering the state of everything that's been happening in the past so what that means is that it has all kinds of memory registers and things that it keeps track of which notes are held down it keeps track of the knob settings and so on and that that has a bit of an implication in using MIDI in a real situation for instance if we push down a note on our keyboard and then we plug our unplug the MIDI cable and then let go of the the note on the keyboard the synthesizer that's connected Wilkin or was connected will continue playing that note forever possibly because it never got a chance to see that the note was stopped also on the contrary if you press down a note and then plug in a synthesizer that notes not going to automatically just start playing because that event happened and it's in the past so that's a really important point to remember about MIDI because it sort of affects how we use MIDI in sort of a timeline kind of approach in a MIDI sequencer if you zoom in and you look at all the details under the under the hood you'll see that all these events happen at a specific time the only thing to have that have things that have lengths in let's say a MIDI sequencer would be notes and that's really just the sequencers way of saying well I'm going to start the note you know at this point and stop it at this point like if you're looking at sort of a piano role view in most modern programs it's like I'm going to send an event here and then I'm going to wait and then I'm going to send another event here so this is the on event and this is the off event but during this time nothing's really happening and that's an important point is that things don't get sent unless there's something changing so if nothing is being sent it just means that whatever state we're in right now is the state that we should stay in and that's basically how that works so the next point is channel vs. system messages so anyone who has used the midi synthesizer probably knows a little bit about channels or at least has seen that that's what's what that's all about channels and system so let's talk about channels first in MIDI one cable what and we talked about a cable we mean sort of the the traditional 5-pin din plug or one port on our USB interface or whatever we cover that briefly in the last video a channel carries information about a specific part of a performance think of it like a track sort of like a track or like a specific interface to a specific sound on an instrument a specific audio channel on your mixing board maybe like the drums on on a certain channel the bass is on another channel don't think of mono and stereo that doesn't really apply here but in MIDI there are sixteen channels they're numbered one through sixteen like that some other things in MIDI start at zero and we'll get into that later it's a little bit confusing but for the most part when we talk about channels we talk about channels 1 through 16 channel events are most of the events that we use sort of when we're when we're doing a performance they include things like notes which includes note on as well as note off those are two different messages although there's some little subtle details that we'll cover in another video um cc's or continuous controllers sometimes it's called the correct name is control change I believe those are basically one in the same that that's basically knobs the damper pedal if you were playing like a piano other kinds of things where you want to have a value associated with a knob or a button or something like that most controllers that have just general purpose buttons and things and control change messages when you press the buttons usually when you press down it sends one value and when you let go it sends another value what else pitch Bend that's another one that exists in channels and there's a few others as well like after touch and things like that but channel messages are associated with a specific channel and when the message is sent they're always tagged with a specific channel number and that means that you can have up to 16 different parts all with different state as we talked about our sort of event based state before and they can all sort of coexist on the same port or the same cable without interfering with one another so that you can control one instrument with one channel one instant with another channel because MIDI supports the concept of a through connection you can actually have two instruments playing from the same channel let's say you just want to have two parts you know doubled up with the same notes you can totally do that as well system messages are a little bit different as they sort of as the name implies they sort of cover things that affect the whole system things like active sensing that's one that's not really used by the end user but it's used by systems sort of detect that things are plugged in and things like that some devices send a pulse like a heartbeat that's that's a system message a system exclusive is used by manufacturers to send specific kinds of data for instance like firmware updates or specific sort of patched dumps and things like that that's a sex data and the other main one that we probably are all familiar with has to do with clock MIDI clock being used to send timing information let's say from a drum machine to another sequencer or from your computer to a drum machine things like that MIDI clock is a system message so these don't have a channel there's sort of subsets of system messages which we'll get into in another video these don't really have a channel at all they're just sent and everything receives them and remember in MIDI if an instrument or a device doesn't know about a specific kind of message it just ignores it it doesn't do anything so it's okay to have a clock message be received by a synthesizer that doesn't have a sequencer because the synthesizer will just throw that message away and it won't get used but let's say we connect up through connection and plug it also into a drum machine that does know about clock well then it can interpret the clock messages and do whatever it wants with it so that's basically the two kinds of major classes of MIDI messages and then there's two other small sections that we need to cover just so that we you know being complete here one is Omni and poly these are sort of two things but they're sort of grouped together if you read the MIDI specification Omni and poly are sort of older concepts they're not that much used anymore but you will see some evidence of that especially in music programs like sequencer software and DAWs Omni is like a setting that can be on or off so Omni can be on or off and what that means is just like we just spoke about channels Omni means that a receiver will ignore a channel and just respond to all the channels or or it will spawned only to a specific channel and so that's used basically a common example is let's say you plug a MIDI keyboard into your DAW software normally if you say I want to use this MIDI input to control my dog I've got my keyboard here I've got my computer over here with my DAW on it and I want to control my DAW software with my midi keyboard normally it doesn't matter which channel this keyboard is sending notes on normally the doll will just respond to any channel now you may be able to turn off certain channels or filter them in different directions but generally it would just respond to all the channels because normally it doesn't really matter that the channel here doesn't mean anything to the dog because the dog is just going to go ahead and send out another channel to whatever instrument on the track you have selected so that's an example of omni being on in the case of the DAW it doesn't care about the channel most synthesizers that are going to respond to MIDI notes and make sounds are only going to respond on a specific channel they may not even have a setting for Omni so that's an example of Omni being off older keyboards had settings in the menus that let you change that it's not really that applicable anymore normally we would just use a channel for everything if it's a channel message and and actually you know specifically set our sender and our receiver to the same channel the other thing is poly mode this is also a little bit of an old fashioned thing and I'm not actually sure I've actually ever used this for anything but this is something that exists in MIDI so I guess we'll talk about it and this has to do with whether a synthesizer will respond to multiple notes at the same time or not and this also has a setting that's on and off and this sort of means that you could use a polyphonic synthesizer as a mono sin and that's kind of interesting I guess I don't know you'd have to look at the the manual for each synth to see whether it even supports that and what it will do at those notes if it receives multiple notes when it's in when it's in all the off mode but that's that's kind of interesting I don't think I've ever used that for anything polyphonic since usually respond polyphonically certain patches I have seen on since where they'll operate the synth in a sort of monophonic mode if they're trying to make sort of an old-school like a lead synth sound you might want it to respond so that when you hold down a note press another note it will switch to the other pitch but that seems to me from my experience is more to do with the patch on the or the preset on the synth rather than sort of a global synth setting anyway that's omnipresent with a computer or a sequencer which is local mode and so let's talk about a typical sort of keyboard style synthesizer so a keyboard synth is really kind of two things in one so we've got our keyboard here with our keys and we can sort of draw a dotted line and back here we've got a synth there's actually two parts to a keyboard since that actually makes its own sound so if you bought a MIDI controller which is sort of just you know like no sounds in it connects to your computer or to some other instrument you kind of only get the bottom part you get the keyboard the sends out MIDI if you buy a MIDI module that sits on the table doesn't have a keyboard you kind of only get the top part but when you buy a sense that comes with a keyboard and everything integrated you basically get two things you get a synth and you get the keyboard and normally when you just switch it on and you want to play it normally the keyboard sends MIDI but it's not actually going outside it's sending it internally there's MIDI being sent between the keyboard and the synth so that you can just obviously just turn it on and play but that presents a little bit of a problem when we want to use it with a sequencer or a doll so here's our DAW over here and we want our dog to record the output from the keyboard and we want it to then be able to play back the sound of our the MIDI events and cause the synthesizer to make sound being controlled by the dot instead of the keyboard so local mode affects basically whether this internal connection is on or off if local is on then this synth will send its own MIDI messages to the or the keyboard will send to the synth internally without any external anything being required but if we're sending our MIDI to the dot and then back to the synth which is sort of the normal way that you will use a DAW to sequence external hardware is that you don't want this connection to be on because then the otherwise the since within your keyboard is going to receive two MIDI messages it's going to receive its local one here and it's going to receive one that's been sort of looped through the da when you've got your this same track selected and what what that will have to do is let's say on a polyphonic synthesizer it'll use up twice as many voices because it will start a sound here and then I will get another note event saying start another note it's actually the same pitch a lot of sense we'll just start two notes with the same pitch and you if you ever hear this sort of weird chorusing sound that sounds like kind of two things playing in unison then that probably means that you've forgotten to turn the local mode off so if you're looping it through here turn local mode off it's usually in the menu on the synth or there's usually some button combination and that will kill this connection here and then if you unplug the MIDI cables and you play your keyboard you shouldn't hear any sound coming out then if you just loop a MIDI cable back to itself or plug it through your sequencer then you're going to start to hear the MIDI messages having been routed through your DAW or your other sequencer or whatever so that those are the sort of high-level concepts of the messages channels omni poly and local and so on so I hope that you learn something from that and I hope that you'll join me on the next video I have a bunch more videos and I've figured out a bunch of topics hopefully that you're learning something from this please make comments below of the video and like and subscribe so that you can keep following along I'm going to add each of these to a playlist as each one is finished so if you want to see the whole series once we're all done then just check the check to the playlist on my channel thanks a lot see ya
Info
Channel: Shiftedphase
Views: 38,669
Rating: undefined out of 5
Keywords: electronic music, synthesizer, MIDI
Id: gyk8eOSiaag
Channel Id: undefined
Length: 18min 13sec (1093 seconds)
Published: Sat May 27 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.