The MIDI Protocol: MIDI Messages | Simon Hutchinson

  Рет қаралды 29,351

Simon Hutchinson

Simon Hutchinson

Күн бұрын

Пікірлер: 95
@SimonHutchinson
@SimonHutchinson 2 ай бұрын
I am super-thrilled that this video I made three years ago continues to help people wrap their brains around MIDI messages. 😁 If you enjoy this video, please consider subscribing and checking out my other videos for more synthesis and audio tutorials - kzbin.info
@Phreshie91
@Phreshie91 3 жыл бұрын
THE clearest explanation of MIDI protocol I've found yet!!! Thank you!!!!🙌🏾
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Happy to hear it! Glad it was helpful!
@danpedersen55
@danpedersen55 Жыл бұрын
Notes and Volts does a good job explaining it too.
@chrishettinger6314
@chrishettinger6314 11 ай бұрын
I 100% agree. You have a gift. Glad I found your channel.
@ngonidzashemwanjira208
@ngonidzashemwanjira208 Жыл бұрын
This channel is a gem for mathematically inclined and detail oriented folks like me
@ewwitsantonio
@ewwitsantonio 5 ай бұрын
Beautiful video :) Moments like this make me appreciate KZbin SO much. Thanks for creating it and sharing. I've used MIDI for years, been programming for years, but never really understood MIDI and always wanted a quick video at an appropriate level to dive into the protocol. This is it!
@SimonHutchinson
@SimonHutchinson 5 ай бұрын
Thanks so much for your kind comment! I appreciate it!
@RayyMusik
@RayyMusik 8 ай бұрын
I used to be an IT guy and have been using MIDI for nearly 40 years, but watching your video is the first time I really understand what is going there. Dave Smith and Kakehashi Ikutaro were geniuses!
@SimonHutchinson
@SimonHutchinson 8 ай бұрын
😆 I have a slide that I show to my class that just says “MIDI is Awesome”.
@synapticmemoryseepage4447
@synapticmemoryseepage4447 7 ай бұрын
Awesome breakdown of digital elements of MIDI.
@leo0884
@leo0884 Жыл бұрын
best explanation on YT, THANKS!!
@OfFormerFame
@OfFormerFame 2 жыл бұрын
This video repeatedly mentions "127" voices, or cc messages, etc. There are actually 128. 2^7. The 127 comes from the numbering system being 0-based, so the first is 0, second is 1... one-hundred twenty-eighth is 127.
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
kzbin.info/www/bejne/gp2ZfWqlaZd8Y9U
@amancu1963
@amancu1963 Жыл бұрын
Clear and straightforward, no additional b...hits, exactly what I needed and was looking for. Thank you!
@earowemusic
@earowemusic 3 жыл бұрын
Thank you for such a clear and easily-followed breakdown! This perfectly clarifies some of the lingering confusion I've been puzzling over since the '80s... ;)
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Glad it was helpful! The 80s, huh? The good news is it's not too late to finish up work on that synthwave album!
@earowemusic
@earowemusic 3 жыл бұрын
@@SimonHutchinson My trusty MSQ-700 cannot help but agree... :)
@salvadormadden2090
@salvadormadden2090 3 жыл бұрын
i know Im asking the wrong place but does any of you know of a method to get back into an instagram account..? I was stupid forgot the login password. I would appreciate any tips you can offer me.
@turnereverett2363
@turnereverett2363 3 жыл бұрын
@Salvador Madden instablaster =)
@salvadormadden2090
@salvadormadden2090 3 жыл бұрын
@Turner Everett thanks for your reply. I found the site thru google and Im trying it out now. Seems to take a while so I will reply here later when my account password hopefully is recovered.
@k0csisgab0r
@k0csisgab0r 3 жыл бұрын
Thank you! Could you make a video about System messages?
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Great suggestion!
@orfu2003
@orfu2003 Жыл бұрын
What a tremendous video, I’ve been a guitar player for many years, and recently started playing 80s and 90s synths. While I learned practically how to daisy chain them, I always wanted to know how each instrument “knew” which channel was which. Thanks so much!
@SimonHutchinson
@SimonHutchinson Жыл бұрын
Thanks for watching! It's wild, huh? I'm actually just editing a new video on MIDI system messages, to show the messages that you can send to your *entire* daisy-chained system. Stay tuned!
@andrewrossy
@andrewrossy 5 ай бұрын
You should also add about the amazing Running Status feature of MIDI. Where - as long as the data bytes are still for same status message & channel (example key on ch 1) , then each individual status bytes does not need to be repeated, just the key and velocity. Given that MIDI was only 31,250bit/sec (3125 bytes per second). This greatly improved the available bandwidth. Truely amazing what they managed to cram into the microprocessor tech of the day.
@engageguignol7847
@engageguignol7847 3 жыл бұрын
Just preparing my exam right here, my course was unclear and I needed to look for a visual explanation, you helped me a lot! Thank you so much!
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Glad it helped! Good luck on your exam!
@dtatge1
@dtatge1 3 жыл бұрын
This should have way more views! Leaned a lot from this, thanks!
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Thanks! I appreciate it!
@techtinkerin
@techtinkerin 2 жыл бұрын
The design of midi was very forward thinking, it's 40 years old and still as useful today as ever! Thanks, great video 👍😎❤️
@katelikesrectangles
@katelikesrectangles 2 жыл бұрын
this was great, thank you!
@annava6450
@annava6450 3 жыл бұрын
Super helpful video man. MIDI is such a fascinating and helpful tool.
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Glad it was helpful!
@danpedersen55
@danpedersen55 Жыл бұрын
Super video 🙂👍
@AndreasThilander
@AndreasThilander 3 жыл бұрын
Very well explained, thanks!
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
Glad it was helpful!
@BearDimka
@BearDimka 2 жыл бұрын
This is really a wonderful video. I have not found any video about MIDI with such a clear explanation as yours. It's really helped to systemes the bits and pieces of knowledge about MIDI that I had!
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
You're very welcome! Glad it was helpful!
@sharonedigitale
@sharonedigitale 3 жыл бұрын
Thank you so much🥁💥
@sharonedigitale
@sharonedigitale 3 жыл бұрын
You clarified some very essential concepts I wasn’t able to grasp from a bunch of other video explanations. And your slides were super helpful. Very grateful for your time and effort in putting this out. Thanks again.✨
@marclanger6620
@marclanger6620 2 жыл бұрын
Thanks for this! Very clear and helpful.
@Catzzye
@Catzzye 2 жыл бұрын
Nicee, this rocks! Was always wondering on how it works in the context I understand :D
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Thanks! Glad to hear it was helpful!
@cookedaudio
@cookedaudio 6 ай бұрын
Great info. Thx so much!
@SimonHutchinson
@SimonHutchinson 6 ай бұрын
Glad it was helpful!
@nandomoraes
@nandomoraes 2 жыл бұрын
Awsome!!!
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Thank you! Greatly appreciated!
@TerenceKearns
@TerenceKearns 2 жыл бұрын
Best executive overview explanation for foundational midi on the Internet :) Wanting to write an app to accept CC data from a generic midi controller using python
@BsktImp
@BsktImp 4 ай бұрын
Thanks for taking time to make this. At 01:34 I'm confused though: in a DAW you might have one track per instrument articulation (legato, staccato, pizzicato etc etc) so can easily hit 50-100 tracks for an orchestral piece which is way more than 16 channels. So how is this is situation normally managed? I appreciate there's the key switch method also.
@SimonHutchinson
@SimonHutchinson 4 ай бұрын
Good question. DAW tracks and MIDI Channels are different. A DAW isn't limited in the number of tracks it can have (well, unless it's limited by the manufacturer), it's not limited by the number of channels the MIDI protocol can represent. The MIDI protocol, though, can only represent these 16 channels though, so a DAW sending to an external synth could only send 16 channels to that external synth along that MIDI cable.
@bringerofdoom3750
@bringerofdoom3750 2 жыл бұрын
Great video. Learned all kinds of little nuggets. Ended up subscribing and started watching the Pure Data Tutorials. I've been experimenting heavily with generative plugins, so understanding the "why" seems to be the next logical step. Keep it up.
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Thanks! Welcome!
@ssmith2019
@ssmith2019 3 жыл бұрын
Well done ! Thanks !
@tolitsrevilla7911
@tolitsrevilla7911 2 жыл бұрын
Thanks to this. Well explained! You got a new subscriber.
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Welcome aboard!
@Pierre.Dagens
@Pierre.Dagens 2 жыл бұрын
Awesome thanks a lot!
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
You're welcome!
@L2.Lagrange
@L2.Lagrange 2 жыл бұрын
Really great video man. I have been wondering exactly what midi protocol looks like for a while now. I have a project in my microcontrollers class using a PIC24 microcontroller and MPLABX, and I am strongly considering trying to work with some amount of MIDI protocol. If I don't use it then, I'm sure ill try building something with it sooner rather than later
@anirudhkannan4089
@anirudhkannan4089 2 жыл бұрын
great video! helped me a lot :)
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Glad to hear it!
@halcyon__r3289
@halcyon__r3289 6 ай бұрын
nice
@JujuChichi
@JujuChichi Жыл бұрын
Hi Simon, I came across your video while looking for ways to transcribe MIDI Messages through Image Inputs I was slightly interested in understanding if some other triggers could be used to encode these messages (such as the RGB Data, and equating it with similar data bytes in a way?) This may allow people to sonically experience photographs. I'd love to hear your views and take on this.
@SimonHutchinson
@SimonHutchinson Жыл бұрын
I'm not sure I completely understand your question, but, in short. You can convert all data (including MIDI data) into another kind of data (like RGB values). Check out more here - kzbin.info/www/bejne/hHnYl6mvocxjjNk
@1QuadControl
@1QuadControl 9 ай бұрын
Hi, what is the function of the "Song Select" midi command. Status byte F3 (hex), followed by 1 data byte ? If I sent this to a synth, would it start playing the specified song??
@SimonHutchinson
@SimonHutchinson 9 ай бұрын
Check this out (timestamped link): kzbin.info/www/bejne/r2a2kptml6-Mocksi=PtGPPO2dvYavDutc&t=308
@giostechnologygiovannyv.ri489
@giostechnologygiovannyv.ri489 2 жыл бұрын
Thanks for your explanation! It's very useful for a project I have, do you recommend any video where they use assembly to transmit these midi packets (bytes) through USART to the computer (with an Arduino Uno ATMega328P uController, but using the assembly code instead of the more easy high level programming) to assign some keys (push buttons) to different things in the DAW's (FLStudio, Ableton, whatever)? Because I found many videos they do this but with the C-like code that uses Arduino, importing libraries, I tried to debug the libraries themselves, but I did not find a good explanation of the bytes sent, as you did in this video, I saw the Note on and stuff but it was not that clear. Thanks in advance if you know some source! If not anyway thanks for the video is very clear ^^!
@stephen285
@stephen285 Жыл бұрын
Hi Simon thanks tons for your videos ! can you tell me what using an inputhandler call back does that is different from the standard way midi apps handle inbound messages? - can you pretend I'm dumb as shit and explain accordingly because I don't get it at all? Thanks!
@_blind_mice7029
@_blind_mice7029 Жыл бұрын
Thank you my friend! We're LUCKY to have access to knowledge/explanations like yours. I have 1 question if anyone has time to clarify: ...Is this dual functioning of the Data Byte's 1st Bit correct? 1) '1'xxxnnnn designates it as a Status Byte as opposed to Data Byte, and 2) The '1xxx'nnnn portion specifies the kind of message we're sending, i.e noteOff(1000nnnn), noteOn(1001nnnn), Polyphonic Aftertouch(1010nnnn), Control Change(1011nnnn), Program Change(1100nnnn), Channel Aftertouch(1101nnnn), Pitch Bend Change(1110nnnn), or System Exclusive(1111nnnn) I ask because I want to be sure the first Bit of a Data Byte serves two purposes. EDIT: spelling
@SimonHutchinson
@SimonHutchinson Жыл бұрын
Thanks for your message. I'm not completely clear on your question here. Maybe you're saying "Data Byte" when you mean "Status Byte"? I'm not sure. I do have another video about the bits and bytes here, which might answer your questions: kzbin.info/www/bejne/gp2ZfWqlaZd8Y9U
@_blind_mice7029
@_blind_mice7029 Жыл бұрын
@@SimonHutchinson thanks for the quick response, and yes - I meant Status Byte where the MSB is '1'xxx nnnn... I watched your other video as well, and I think it answered my question. Thank you!
@AlvaroALorite
@AlvaroALorite Жыл бұрын
Hello Simon! I have one question about the 1111nnnn status bytes. I've read that some sustain pedals will only work to their full capabilities only with keyboards of the same brand. Could the be due to the use of this "1111" data? And, if so, could manufacturer data be "replicated" to make a keyboard believe a pedal is from its brand?
@SimonHutchinson
@SimonHutchinson Жыл бұрын
I don't think that's correct. Sustain pedals are supposed to be Control Change Messages on controller number 64. So they shouldn't have much to do with System Messages or the brand of the pedal/keyboard. en.wikipedia.org/wiki/General_MIDI#Controller_events
@AlvaroALorite
@AlvaroALorite Жыл бұрын
@@SimonHutchinson and could it also send that kind of data let's say in the first press? Another thing that confuses me is how sustain pedals use Jack audio cables as MIDI data cables.
@SimonHutchinson
@SimonHutchinson Жыл бұрын
The pedal connects to the keyboard (analog) electrically with a 1/4 jack, and the keyboard is what converts that cable into MIDI.
@Dewal4
@Dewal4 10 ай бұрын
How to get revive MIDI data ??
@sekritskworl-sekrit_studios
@sekritskworl-sekrit_studios Жыл бұрын
+1 SUBCRIPTION!!! Thank you!
@benparamoresound338
@benparamoresound338 3 жыл бұрын
I need your big brain a second! How do you work out MIDI channels from a Byte? Is there a calculation you can use or a formula?
@SimonHutchinson
@SimonHutchinson 3 жыл бұрын
So, the status byte is 8 bits: 1 (Status byte marker), XXX (Type of MIDI Message), NNNN (MIDI Channel). Look at the NNNN. If it's 0000 - MIDI Channel 1 0001 - MIDI Channel 2 0010 - MIDI Channel 3 0011 - MIDI Channel 4 0100 - MIDI Channel 5 0101 - MIDI Channel 6 0110 - MIDI Channel 7 0111 - MIDI Channel 8 1000 - MIDI Channel 9 1001 - MIDI Channel 10 1010 - MIDI Channel 11 1011 - MIDI Channel 12 1100 - MIDI Channel 13 1101 - MIDI Channel 14 1110 - MIDI Channel 15 1111 - MIDI Channel 16 ... I think I got that right.
@benparamoresound338
@benparamoresound338 3 жыл бұрын
@@SimonHutchinson Thank you! If you had the MIDI channel but wanted to work out the binary NNNN would you just have to look at the diagram or is there a formula you could use to work it out?
@coderhd8554
@coderhd8554 3 жыл бұрын
@@benparamoresound338 if you are using a programming language to get the channel from a byte, you can just do a byte AND 16 to mask off the rest of the bits to be 0. The remaining number is between 0-15, if you add 1 its the channel number between 1-16. Hope thats helpful
@chronomic3362
@chronomic3362 Жыл бұрын
So, 2 to the 14th.. I'm not going to go through it :D
@hintoninstruments2369
@hintoninstruments2369 Ай бұрын
You keep saying first bit when you mean most significant or "top" bit. MIDI bytes are transmitted as lsb first.
@SimonHutchinson
@SimonHutchinson Ай бұрын
That's fair. I wasn't trying to make statements about chronology (when I say "first"), just about how we humans read it, but I understand why, from an engineering perspective, this is an important distinction.
@hintoninstruments2369
@hintoninstruments2369 Ай бұрын
@@SimonHutchinson You also refer to the fifth bit when you mean bit 3. Bits in a byte are numbered from the lsb starting at zero (bit n = 2^n). These are well established conventions for a reason, it only creates confusion if you ignore them and create your own.
@cheesesoup2894
@cheesesoup2894 3 жыл бұрын
Super explanation but please leave out the music :( Although I really like weirdly sequenced ambient wavetable stuff, this makes it a bit hard to follow. But this may be my ADHD kicking in, so what do I know... Anyways, finally a clean explanation of MIDI I was waiting for for years haha
@marckman1411
@marckman1411 10 ай бұрын
Please turn off the background music
@rollandjoeseph
@rollandjoeseph 2 жыл бұрын
This is so fucking confusing 😕
@SimonHutchinson
@SimonHutchinson 2 жыл бұрын
Ha! Sorry! There are lots of resources on MIDI out there, though. I hope you can find one that resonates with you.
@superfrankpt
@superfrankpt Жыл бұрын
Confusing!? This has to be one of the most simple protocols I have encountered in my live!
@suntzu6122
@suntzu6122 Жыл бұрын
What about bank change? Did you miss this one or its something different?
@SimonHutchinson
@SimonHutchinson Жыл бұрын
www.sweetwater.com/sweetcare/articles/6-what-msb-lsb-refer-for-changing-banks-andprograms/
MIDI Programming & Commands Explained - How to Program MIDI
21:58
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
The MIDI Protocol: System Messages | Simon Hutchinson
14:49
Simon Hutchinson
Рет қаралды 2,3 М.
The MIDI Protocol: Bits, Bytes, and Binary | Simon Hutchinson
5:48
Simon Hutchinson
Рет қаралды 3,9 М.
JEFF RONA - History of MIDI
34:44
Orchestral Tools
Рет қаралды 6 М.
Programming MIDI
47:28
javidx9
Рет қаралды 101 М.
AI Copyright Claimed My Last Video
24:11
Venus Theory
Рет қаралды 673 М.
Building a MIDI Controller Using Arduino
15:41
Switch & Lever
Рет қаралды 646 М.
WHAT IS MIDI
10:26
FrankJavCee
Рет қаралды 240 М.
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН