We couldn't really do a MIDI video without having
An old keyboard from the 80s, and there's nothing more iconic. I think from the 80s than Yamaha dx7
it's
Got those classic piano sounds and stuff. Let me find an organ. There was a hospice a classic I
Mean that they're pretty awful sounds
I'm not a keyboard player, but I think that was part of the advantage of MIDI is as someone that wasn't a great player and
didn't know a lot about sounds you could just
Worry about it later fix it change the sounds later on so the scope was much more than them with audio
But yeah the sounds were bad, then the sounds are bad. What can you do?
MIDI was something that was designed in the early eighties it came out in 1983, but there were earlier versions of it made by roland
which kind of prototypes that became midi and
I'd say it's kind of analogous in some ways to like a compression algorithm. It's very loosely analogous
So instead of say having a bass drum
That's recorded as an audio signal so you've got a microphone inside the bass drum, and you're playing the bass drum
And it would take up a lot of back in those days
I mean you weren't even really thinking about disk space because it wasn't being recorded digitally
But if it had a being it would have taken up a lot of disk space more than was possible to do
What you could do is you could get one of the bass drums and say well all the bass drum sounds are basically the same?
thing
What we do is
We'll store that one sound and then
play a note on a keyboard or
Play a note from a trigger or from a computer or something like that
And it would play that sound over and over again, and that was one of the many many uses of MIDI
But it was the idea that you control
your devices in the studio by little bits of
Information rather than containing the whole wave or whatever do you wanna do?
Middies an acronym isn't it is yeah it stands for musical instrument digital interface
Midi obviously ended up being used with computers very very early on
atari the st model and
I think a lot of other models had MIDI ports directly in on the side and because they had a graphical environment
Steinberg wrote Cubase I believe it was still it was Steinberg back then they wrote a piece of software called
Cubase which was an early MIDI sequencer which is still going today today as a full-blown
audio and MIDI package in fact we're probably end up using that a bit later, but back in those days you could
effectively create a whole composition on a computer and trigger off the sounds from various of sound modules and samplers and whatever else and and
It would produce these files that were maybe a captain of K in size
But could have a whole arrangement which back in those days was was phenomenal
So let's get into a bit more technical stuff in MIDI
there's these things called channels, so there's 16 channels which are from the
Users point of view numbered 1 to 16, but internally 0 to 15 for obvious reasons
And they basically you could see a channel as as a way of addressing different pieces of equipment
And there's also a mode called, Omni, which means it would listen to all channels
So if you wanted to say have a piece of equipment that had that just did the piano
Another piece of equipment that just did the drums another one that just did the bass you could
Set them to different channel numbers internally you could go to their settings as I only want to listen to
channel 3 on this particular piece of equipment and
Then you could have different tracks within your MIDI sequencer
That would only put that data to channel 3 and only put that data to channel 1. Let's say so you could have
effectively
One signal that would carry all the data for the entire song
This is like one set of cabling that perhaps all connected to all of the equipment. Would yeah, I mean the way
I mean, there's this all sorts of complicated ways of
cabling up MIDI with distribution boxes
But the the most simple way to do it would be to go out of your
computer or your sequencer or whatever into your keyboard and then out of the
keyboard out
Of that one to the next one or should mention at this point the actual MIDI
The look of MIDI cables so I mean this is the back of a focus right?
stereo
Sound card here, so as you can see the the standard MIDI in and out are the 5-pin din
sockets similar to the socket that was used on a tape machine to put programs into an old computer like
My old icon lecture on BBC, so we've linked all these machines together
So so one let's let's strip it down because it's all very well to say there's 16 channels as with anything
It's better to explain it simplified
So let's forget the fact. There's 16 channels
and just go with one channel, so let's say we've got a keyboard and a piano module and that's all we're dealing with and
There are five types of messages that you get
That MIDI can transmit and receive and the first of which which is
probably the most used are what's called the channel voice signals and the channel voice signals are very similar to
Cable signals from a computer keyboard or anything else, and if you've ever done any programming
or sort of dealt with anything
Events in JavaScript or something like that. You'd know that there's sort of Mouse down mouse up events keydown keyup
events and you get the same thing with keyboards
So the channel voice settings will say on channel 1. I'm going to send a note down, and then a note up
So you can record the length of the time that the note was down you can also on some cables with aftertouch say how much
pressure
Yeah, how much pressure you're applying after the event you can say how much pressure you initially touched it with the volume of the note
And a whole host of other things like the modulation wheel and you've then got after that channel mode signals
Which I'm not going to go into
But they're just basic satellite little reset signals and system signals and stuff like
And then you've got what's called a system common messages, which are things that are sent to every device in the system
So if you had a whole load of sound modules it send it to all of them
And then you've got system real-time signals, which are things like your time code in your clock
All that kind of stuff, and then you've got what's called system exclusive signals or see sex as they're called for short
which is slightly a backup and restore can be used for backup and restore functionality, so let's say you've got a sound module and
In that sound module you've got a load of different
Piano sounds and you've tweaked these piano sounds to have a certain amount of sustain and whatever and you want to save those settings
you can use your audio sequence or a piece of software to record the MIDI data out of that and then when you
dump the system exclusive data
It dumps that into your computer
and then you can retrieve it back and restore the settings on your on your module so a
nice easy way in the early eighties to
Backup and restore things amongst other things each unit that's the whole point of system exclusive that the stuff that that can do is
Exclusive to the individual unit MIDI sounds like it's a very useful and kind of specialist
application in in studios
And and is that was that?
Is that what we're talking about MIDI has been used that long because that's what it found its you
Well it started like that, but no I mean, it's it's used all over the place. It was this thing that came out
some little bit of time after the MIDI spec came out called general MIDI which kind of
standardized
What you should find on each channel so for example channel one would be a piano channel 10 was for drums and in the 80s?
And 90s people who were playing computer games particularly on early pcs
They would have had maybe a Sound Blaster card, and then that meant that say computer game
manufacturers could put music along with their game
Where they were recording the note information?
Again keeping the file sizes really small and then that would be fed into your sound card to create
whatever fully sort of symphonic
Piece of music you wanted in the background of the game, so if you had a really good sound card
But really good sounds the music on that game might sound really good
And if you had a really cheap sound card the music on that game could be really cheap
but the fun was behind it was still MIDI and
That was all over the place another thing that MIDI gets used for in this day and age
And I use it myself live when I'm gigging is
I have a foot controller which is MIDI and then it changes all the different sounds in my guitar rec
So if I'm on sound one and it's nice and clean I hit and sound too
And I can play a solo or whatever and it will change all the equipment and change which setting they're all on it
And that's called a patch
It's a very easy way to
Just hit a pedal with your foot and have all your sounds change at the same time
And that's also true for keyboard players
You know they'd be playing on a piano sound and then get a patch too
and it suddenly becomes an organ and it might fire off patch changes and other people in other pieces of equipment and
That's a just a good example of a control signal. That's sent by MIDI
He'll give you a demo of how a certain bit of MIDI works
We're just going to record something into the computer, so this is Cubase this is
Version 8. Which is far advanced to the version that would have been on the Atari ST back in the early 80s but?
Fundamentally it does exactly the same thing rather than using the dx7
Sounds I'm going to use a very dated sail
That's built into Cubase so this is controlling the computer
So you can see if I play the notes on the keyboard they light up on the side here
Let's say I'd played a note wrong heaven forbid I did that so
Okay, so I've got the notes wrong there
and I hit a little fumbled bit at the end and I could double click on this and go oh, there's a
Fumbled note there, so I'm getting rid of that
And I can move these notes to where they should be and then I could play that back, and it should be fixed
Which still sounds bad, but is her infinitely better than it was before when it was on the wrong note, so
You can see the data is getting in and the data is being stored in the computer as
Messages of note on a note off and the color here and represented with these bars at the bottom as well
represent the volume
I played the note on the technical side so obviously we're seeing a bit of kind of user end data here
What does a message look like right well we can get into that that's funny. You say that the reason I?
When I first started using MIDI I was maybe about 13 or 14, it's gone
I was entirely from the user end and then through my career working in the studio
I was using entirely a user end and I didn't really think about how it works
I just thought about the channels and the messages I kind of knew what they meant
but I didn't really care about that too much, and then something came up where I was writing a
video server application that needed to sync up with timecode
so I had to write a timecode reader and
in the process of doing that I actually had to start intercepting MIDI messages and
Looking into what they actually contained
So I've modified that time code reader program that I wrote
So we can actually capture into a text file what's going on, so if I just play a note and then
I let you go
so we should now just have one note on one off so if I like this MIDI output dot txt and
We can see I played note 72 with a volume of
91 they're not actually 72 or
see one of that is in hexadecimal so
Whatever they are in in decimal that's what I played and
We got a note on signal there and another note on signal there 0 which is denoting that it's a note off
Ignore the rest of it. This is actually what's called the midi clock, so it's telling me
What the the number of the messages of C messages come in and you want to make sure that the message that comes in is?
After the previous one and such so that's that's what that is there the zero is the channel
That it's on which means it's actually on channel one
Because I'll see 0 is channel 1 and 15 is channel 16
Just to confuse everyone so we can capture some other things as well, so if I play a note again
and then do the modulation wheel and
Then back down again, and then let go the note
You can now see I've got a new note on message there, and then a load of control change information
which is
Increasing 1 2 3 4 5 6 7 9 it starts skipping it gets bigger and bigger and bigger until it reaches the top
It goes back down the other side back down to 0 again
So that is literally the recording of me pushing up the modulation wheel and bringing it back down again
And that just makes it this is a technical term sound Wibbly
Well the modulation wheel will do whatever the sound module is is set there's also a
Pitch shift wheel which will make these you
Know you go up and down in pitch or whatever so
There's all these different controls
There's panning so you can get things to go from left to right in the speakers and all of those things will be
recorded by your MIDI sequencer and then reproduced ok
And then you were mentioned before about kind of controlling and synchronizing things that to meet a really good example
Of something that MIDI does well, but also shows off kind of how archaic it is
Because you think with the technology in today's time
You could send a full clock which will be hours minutes seconds frames all in one bit of data
Not literally one bit of data in one chunk of data
and
It should be able to just pick up on it in real time, but back in the day
That was too much data to send through in in one piece
So it was broke into lots of individual pieces that were constantly sent
And and this is the this is the way I discovered it by having to write a time code reader
So let me first show you time code working
with their so right yeah, I've just connected the MIDI out to this and
This here is connected to my laptop, which is running Reaper, which is just an audio
sequencer
Audio MIDI sequencer same as key base
But it's only about 16 pounds or so just getting it so just here
you can see that the timecode is running if I stop that again, and I run my
time code reader software
So what I'm going to do now is I'm going to hit go on my laptop which will start sending
Timecode via MIDI to my desktop computer which is going to be and the signals are going to be recorded into the text file
So we can have a look at them
so here we go play a
few seconds of this and then what I'm going to do is jump this forward
So it's a bit further in so I'll go to there and now we're at ten minutes
And I'll record a bit of that, and I'm going to hit stop on there
And we can have a look at the text file and see what it contains
I'll give you a breakdown of what all of these things mean this here is the?
Timestamp of the MIDI signal so this here is the actual signal that's coming in for lots of 8-bit
Represented in hexadecimal that first one the f1 basically means that it's timecode
That's what that means so we can ignore that we can also ignore the last two because that doesn't contain anything
That's useful to timecode so it's this second number here
Which I've actually split into its binary representation into two columns of four and the reason I've done that is
Because the first column of four says what it is what it's representing so the zero zero zero zero
represents the number of frames
but because
You've only got four zeros to represent the number of frames
that can only be a value between naught and fifteen and
We know that when you're dealing with frames or other in twenty four twenty five thirty
29.97 thirty Corley thirty
C30 can't be represented in naught to 15 so the next signal there
Which is not one gives you an offset so if that ends with?
One which is just one so if that becomes a one then basically you can kind of put that on before there and that
steps it up sixteen and the same is true for the
Seconds because they're up to sixty same is true for the minutes and the same is also true for the hours
So you've got eight bits
That have to tell you what part of the the time it is on that time
Yes
So so basically you you you take the four of the first four of the ones and zeroes and say this is
This is say hours, or minutes or the offset as I call it the offset of the hours or the offset of the minutes
So the way a timecode signal would work is basically you have eight different
Signals that come in and they all contain a little bit of the time, so let's start with
the first signal come in that will be zero zero zero zero
Which will be the number of frames and then?
One which will be called the offset?
For frames so the second bunch of four will be the frame number, so let's say it was frame number two
That's going to be our one. Oh because of C. It's one two four eight in the columns then
Your offset frames would be zero zero zero zero, but if you wanted it to be frame
18 you'd actually change that to a 1 so B zero zero zero one in the offset frames
Which would say are your first signal isn't 2 because that effectively gets moved up to there and becomes, Oro?
100
108 eeen but that's sent in two separate messages the same is true for minutes
Seconds hours, whatever so to send a whole time yet requires eight messages
This is a good representation of something which is very very solid, but works really well and clearly it works
Well because it is everywhere whether you or working with syncing up
Sequences in audio or whether you're syncing up a video server to you know a band
That's playing and you want the videos to appear exactly the same time the band might be playing to a click track and the lighting
Desk might turn all the lights on at that exact moment in the show Sammy
It's used to do like so and it's very solid and it works almost
perfectly
You know unless you get someone pulls a cable out which just happens, and then it will goes wrong
But it's also very archaic. You can see with this sort of split message
System that seems to be going on you
Do have a MIDI you do have things that are long messages and short messages
And it takes up eight short messages to produce a full piece of timecode
When you hit go initially it actually sings a long message through which does contain the entire timecode?
But I'd imagine you can't send as many of them
And it's inefficient to send as many of them because you you don't need to know that once you've got a full time
and you're going you can then update the
Seconds and the frames you don't really need to update the whole time, so they sending it through in chunks
So I'd imagine a lot of it was written with
You know the computing power of the time in mind and obviously they wanted it to be compatible with most computers, which is why they?
chose it to run at one megahertz as a musician and any other musician should know this D minor is of course the
saddest of all keys
And I thought what is sadder then
Than the piece of software that the D minor chord is going to open now. This is a example of
Application of MIDI for something it's totally useless, but when I apply a D minor
Are these Internet Explorer Bing
As this yours is keyboard
no, it's
This keyboard I borrowed from my old
GCSE and a-level physics teacher
Phil Cummings who was
One of the cooler teachers at school cause he played keyboards in a band
but there's something about a Yamaha dx7 which just conjures up a
teaser yeah
It's just got that sound of Oh
Oh Internet Explorer's opened again
I just I play field colleagues and internet explorer open