KeyStage 1.x Tutorial 7: MIDI Aliases and Advanced MIDI Routing — Transcript
Full transcript
- 0:04welcome to another story with your key
- 0:07stage so in this tutorial I'm gonna talk
- 0:09about MIDI aliases input and output
- 0:11aliases so media leases are basically
- 0:14placeholders for actual MIDI connections
- 0:17virtual or actual connections but they
- 0:20also contain lots of additional
- 0:22information and routing options and
- 0:24specifically with this new version 1.5
- 0:27MIDI Ellis's have many more
- 0:29functionalities like you know
- 0:31translating signals routing or combining
- 0:34different signals from different
- 0:36different MIDI ports so what are the
- 0:39uses of media lists so apart from using
- 0:42different names for MIDI ports media
- 0:45Ellis's play an important role of
- 0:47changing certain functionalities of
- 0:49sindh apps or midi controllers one of
- 0:52the biggest challenges of using his
- 0:54stage with multiple scene taps or midi
- 0:56controllers is that almost every scene
- 1:00tab has a different behavior when it
- 1:02comes to processing MIDI messages the
- 1:05way they respond to MIDI messages
- 1:06instant messages or parameter messages
- 1:08are are usually different in different
- 1:10synth apps and there are tiny differ
- 1:13differences which might cause problems
- 1:15when using them in a live setup
- 1:18so these media lasers have specific
- 1:20options which allows you to adopt key
- 1:23stage to be able to you work with those
- 1:25instant apps so let's start with input
- 1:28aliases
- 1:33okay now we access media aliases from
- 1:36preferences MIDI connections so the
- 1:38first part is for input aliases and the
- 1:40second part is for output aliases now
- 1:43this is a freshly installed key stage
- 1:46except I installed some instrument
- 1:48process for demonstrational purposes but
- 1:51if I click this list of MIDI aliases I
- 1:54can see that I already have six MIDI
- 1:57eleazar's automatically created and
- 1:59these are their ones that I created for
- 2:02actual MIDI inputs and these actually
- 2:05cannot be deleted when I create a track
- 2:07here the lists that I see here is
- 2:10exactly the same list so what I'm
- 2:13actually choosing here and this list are
- 2:15medialis is not just connections but
- 2:17media races with all the additional
- 2:19information but now I'm gonna create a
- 2:21new one let's name it my main keyboard
- 2:25so this is a new editor window for input
- 2:28aliases with one point five here are the
- 2:32list of actual inputs so I can add more
- 2:36inputs or I can delete them and for each
- 2:39input I have a bunch of filtering and
- 2:43translation options but here I can
- 2:45choose the actual inputs here so here's
- 2:48my North keyboards and now if I go to
- 2:51the track and look at the lists now I
- 2:53have this additional main keyboard which
- 2:57receives signals from from north itself
- 3:00so for the output list choose Jordan
- 3:02Tron channel 2
- 3:08okay and let's create another track with
- 3:12again my main keyboards and choose
- 3:15another synthesizer let's say it's on
- 3:18riser so I have two tracks with the same
- 3:23MIDI input alias now suppose that I have
- 3:26to switch my keyboards and use another
- 3:28keyboard with with my setup with all the
- 3:31songs so normally what you need to do
- 3:34here is you have to choose the new input
- 3:37for each track in each song but within
- 3:40MIDI input aliases you don't need to do
- 3:41that you simply create a new input and
- 3:44here is another keyboard that's
- 3:46connected which is launch key so now as
- 3:50soon as I activated launch key you can
- 3:52see that it sends signals to both tracks
- 3:54and if I disconnect my note keyboard
- 3:58here you can see that the North keyboard
- 4:01now shows in red text which means that
- 4:03it's not connected the input alias still
- 4:06knows that whenever an old keyboard is
- 4:09connected it will start receiving
- 4:10signals from there but right now it's
- 4:13not connected but launch key is
- 4:14connected so I can get signals from here
- 4:17but if I connect back north
- 4:19all the tracks of with main my my main
- 4:22keyboard will start receiving signals
- 4:24from north okay now I'm gonna
- 4:26demonstrate these filtering options and
- 4:28these custom translators by splitting my
- 4:32North keyboard into two MIDI eliza's so
- 4:35my north keyboard has two pedals one
- 4:37expression pedal and one switch pedal I
- 4:40want to create different midi input
- 4:42elias's for the expression pedal and for
- 4:44the switch pedal so let's create another
- 4:46input Allies and this is going to be
- 4:48expression pedal experto
- 4:51so the input will still be north
- 4:57and what I want to do is I'm gonna
- 5:01filter out all the signals except the
- 5:03expression pedal signal and I want to
- 5:06wrote that expression pedal to volume
- 5:08so let's first add a custom translator
- 5:12so expression pedal sense control change
- 5:16number eleven and my output will be
- 5:19volume so the expression pedal is now
- 5:22converted to volume but this Alliance
- 5:25also get signals from all of the control
- 5:28change parameters and also note signals
- 5:32I don't want that so I can filter notes
- 5:34here and I can filter everything but
- 5:40here what it says filtered signal types
- 5:43for non translated messages so in fact
- 5:46any translated message here on these
- 5:48custom translators are not affected by
- 5:51by these filters so even if I also
- 5:54filter all the control change signals
- 5:57this translator will still work and the
- 6:00incoming control change number 11 will
- 6:02be converted to volume and will be
- 6:04routed to the expression pedal media
- 6:07lines I will not be affected by by these
- 6:10filters so that's why it says
- 6:12untranslated messages that's important
- 6:15so input channels will be all channels
- 6:17it doesn't matter and output Channel
- 6:20will be the same as the incoming Channel
- 6:22okay but the problem is I don't want
- 6:27that expression title signal on my North
- 6:31keyboards sorry on my main my main
- 6:35keyboard so what I need to do is I need
- 6:39to create another translator and block
- 6:43this control change 11 on my main
- 6:47keyboard so let's try it so suppose I
- 6:53add this expression pedal to Jordan drum
- 6:55but I don't add it to the Sun riser so
- 6:59let's create two parts here
- 7:02inaudible our maps to both Jordan throne
- 7:06and sunrise about the expression pedal
- 7:07only controls Jordan Tron and controls
- 7:11water
- 7:12[Music]
- 7:15I'm basically do the same thing with the
- 7:18switch pedal
- 7:23now let's go into the output earliest
- 7:25for sunrise er now just like in input
- 7:28aliases the output aliases that are
- 7:30created automatically cannot be deleted
- 7:33and their actual outputs cannot be
- 7:37changed but unlike input aliases output
- 7:40Elisa's can have only one actual output
- 7:42one media output connected so the next
- 7:46option here is the instruments I've
- 7:48already gone through this in the second
- 7:51tutorial video so for every LS you can
- 7:53assign an instrument presets but here
- 7:56you can also access the database for
- 7:58suggestions for Eastern preset
- 8:00suggestions for your output at lists but
- 8:03I already downloaded one so I don't need
- 8:05that so this button is new so now you
- 8:08can add custom translators just like in
- 8:10input aliases here and you can change
- 8:14the output channel or your output
- 8:17address I'm gonna skip these two options
- 8:21because I don't spend more time on them
- 8:23here we can change the default channels
- 8:25and default colors of your output areas
- 8:28so for example if I choose like six and
- 8:31seven as my output and change defaults
- 8:33to blue whenever I create a track and
- 8:37choose sunrise er it automatically
- 8:40becomes blue and its output channels are
- 8:42automatically becomes six and seven so
- 8:44these options has to do with instant
- 8:47messages which means program change em
- 8:49bank select messages and when they
- 8:51should be sent on what are conditions
- 8:53they should descend so I will go I start
- 8:56with this option the first option so it
- 8:59says sound only when the instrument is
- 9:01changed so what does that mean now
- 9:05suppose that I create a part and choose
- 9:07an instrument here let's say signature
- 9:09leads and I copied this part to another
- 9:14section now both paths have the same
- 9:17instruments the same program change
- 9:19number and the same Bank select messages
- 9:20and normally when I select a section the
- 9:24instrument message is automatically sent
- 9:25but key stage keeps track of the
- 9:29instrument for each track and when this
- 9:32section is activated sound only
- 9:34instruments messages when it's changed
- 9:36it
- 9:37doesn't change the instrument message if
- 9:38it's the same instruments so even if I
- 9:41select these sections no instant
- 9:43messages are sent to sound riser but if
- 9:45I create another track here apart here
- 9:47and select another instrument this time
- 9:52issue is just sent you can actually
- 9:54understand it because sunrise it cuts
- 9:56the sound when it changes the
- 9:57instruments so this is pretty convenient
- 10:00for sunrises because when the same
- 10:03instrument is selected on both parts you
- 10:05don't want to cut the sound only when
- 10:09you need to change the instrument the
- 10:10sound cuts and the new instrument is
- 10:13loaded on sunrise err but for example
- 10:17for Jordan Tron
- 10:22so Jordan Tron is another synthesizer a
- 10:26Center has a different behavior in terms
- 10:29of changing instruments so for example
- 10:32when I choose this route here and let's
- 10:38choose the outputs allows for Jordan
- 10:41Tron and let's select always Sony's from
- 10:45messages now even if I are the same
- 10:50issue is it sent Jordan Jordan Trump is
- 10:54smart enough to know that it's the
- 10:56current instruments selected and doesn't
- 10:59cut the sound doesn't change the
- 11:00instrument now going back to sunrise err
- 11:03I'm going to show you this third option
- 11:05this is the option that I almost always
- 11:07used in almost all all instruments or on
- 11:11all apps so sand when the instrument is
- 11:14changed or when the active part or
- 11:17section is reselected so what do you
- 11:19mean by the active part it's basically
- 11:20the part the section that is highlighted
- 11:23with this vertical strip so for example
- 11:26so it's a signature lead when I change
- 11:29the section the instrument message is
- 11:32not sent because it's the same
- 11:33instrument but the same section and
- 11:37again this is especially useful when you
- 11:40want to adjust your instruments and
- 11:42reset it reset its parameters so for
- 11:45example I have this part
- 11:48change attack time on this part and when
- 11:55I activate this part the instant message
- 11:57is not sense I still have the fire at
- 12:01that time but I know that the original
- 12:02state of the issue it has zero attack
- 12:05time so when I tap it again these two
- 12:10move is a descent and attack time is
- 12:12reset it's so for each synthesizer you
- 12:14may choose one of these three options
- 12:16depending on how you want to use key
- 12:18stage you know it really depends on if
- 12:22whether you want to use key stage on a
- 12:25progressive way like I do like you know
- 12:28every section corresponds to a section
- 12:30of a song or I know that some people
- 12:32uses key stage as a sound module like a
- 12:36sound module sound selection unit where
- 12:39each section corresponds to a different
- 12:41sound on your keyboard so tapping the
- 12:44same section sends this instrument
- 12:47messages or not depending on your choice
- 12:49here where this last option is also
- 12:52quite important and to demonstrate it I
- 12:55want to select another synthesizer here
- 12:58valia and choose my North keyboard here
- 13:02or main keyboard oops sorry
- 13:06so guardedly also uses channel 2
- 13:13alright let's create a part here and
- 13:16choose an instrument now let's say I
- 13:23change some of the parameters here
- 13:26suppose I add some simulation
- 13:39to the sound now when I select this
- 13:44section here the instrument message and
- 13:47all the parameters are sent to get there
- 13:49but when I play my keyboard I can hear
- 13:51the original instrument it looks like
- 13:53all these parameters that I changed did
- 13:57not apply to Galera and this is mainly
- 14:00because of the following whenever and
- 14:02whenever Godley receives a program
- 14:04change a bank static message it starts
- 14:06loading the corresponding instrument and
- 14:09while it's loading so it takes a certain
- 14:13amount of time for Galu to load that
- 14:15instrument and during this loading
- 14:17procedure it doesn't accept any signal
- 14:19it doesn't accept any other parameter
- 14:21signals and since these messages are
- 14:24sent simultaneously well they basically
- 14:27disregard these signals and unload the
- 14:30instrument with its in its original
- 14:31state but now if I go to the other areas
- 14:35of Gallia I have this option so see if I
- 14:41choose a number here like let's say 40
- 14:45now for the after 40 milliseconds the
- 14:49parameters will be sent so let's let's
- 14:51try if this period this amount of time
- 14:53is sufficient for girlier doesn't look
- 15:01like it's sufficient or because
- 15:03sometimes the loading time changes so 40
- 15:07milliseconds might not be perfectly
- 15:09sufficient so you might you maybe easily
- 15:11have to experiment with this number and
- 15:13choose the optimum amount of time for
- 15:16the part parameters to be sent to the
- 15:17corresponding instruments and let me
- 15:24show you if I choose a high number here
- 15:27and when I so just look at the MIDI in
- 15:32and out lights here you can see that
- 15:38there is a gap between the first of the
- 15:40first blink corresponds to the
- 15:41instrument message and the second link
- 15:43corresponds to the parameters
- 15:49so in this final part I want to actually
- 15:51build a technical example with with the
- 15:55north's output actually this is this is
- 15:58a setup that I use for the for the media
- 16:01allows for for North let me briefly
- 16:03describe the behavior of north so note
- 16:07Elektra has to sound engine 3 sound
- 16:09engines inside and you can actually
- 16:12control two of them simultaneously so
- 16:15there is this main channel I I changed
- 16:17it to 16 so as I play this fancy as I
- 16:25send many messages to this channel you
- 16:27can hear both PR and distinct sound but
- 16:31you can actually control these two songs
- 16:35separately I assigned one of them to be
- 16:39channel 2 so channel 2 corresponds to
- 16:42the first synth engine let me actually
- 16:45copy and paste and channel 3 is the
- 16:49second
- 16:52so people use only the first part and
- 16:54[Music]
- 16:56use North's inbuilt features like
- 16:59splitting and layering to control both
- 17:02synthesizers but since I have key stage
- 17:05I want to independently control these
- 17:08instruments well it looks like I can
- 17:11independently control with these two
- 17:13different tracks but there is a catch on
- 17:17the main channel all these volume
- 17:19changes and instruments messages I can
- 17:24be received but on these channels none
- 17:30of them work basically does respond to
- 17:36any of these messages parameters or
- 17:39control change and program change
- 17:41messages on either channel 2 or 3 every
- 17:45time I need to change the instruments I
- 17:47need to create a part corresponding to
- 17:49channel 16 change the instrument there
- 17:51then mute it and then work on on the
- 17:55other two tracks this is something that
- 17:57I don't want I really want these two
- 18:01channels these two tracks to act
- 18:03independently being able to change the
- 18:06instrument and also the parameters on
- 18:08this check tracks independently so in
- 18:11order to do that I'm gonna go into the
- 18:14output alias corresponding to note and
- 18:17go into translators so I want to wrote
- 18:21all the program change and control
- 18:23change signals to channel 16 now I add a
- 18:27custom translator now the custom
- 18:28translators has a couple of new options
- 18:30with 1.5 one of them is I can actually
- 18:34control change any control change signal
- 18:37so the input doesn't have to be a
- 18:38specific control change but it can be
- 18:40any control change and whenever I have
- 18:43any control change as the input I have
- 18:46this additional option as same as input
- 18:48so the same control change signal is
- 18:52routed to the outputs
- 18:53okay so right now basically nothing
- 18:55changes there's basically the same
- 18:58control change but we also have now
- 19:01control over channels for custom
- 19:04translators so the
- 19:06chuckles and translators can manipulate
- 19:07the channels of incoming signals so what
- 19:11I want to do is I want to wrote these
- 19:14signals to channel 16 and I want to do
- 19:19the same thing for the program change so
- 19:22I had another custom translator choose
- 19:25input program changes input and also
- 19:28output and wrote this to channel 16
- 19:33now all the messages coming from coming
- 19:38into this channel or wrote it out of
- 19:40this tract the node signals are altered
- 19:45to channel 2 but all the other signals
- 19:50I wrote to channel 16 which basically
- 19:57changes the instrument and its
- 19:59parameters we're almost done so you can
- 20:04see that we have two different
- 20:05instruments assigned and now I can
- 20:08change the instruments but there's a
- 20:09slight problem the sustain pedal is also
- 20:12routed to the main to the channel 16
- 20:15which basically suspends both channel 2
- 20:19and 3 simultaneously so let me try to
- 20:21simulate that suppose I have another
- 20:24part here and I filter out all the pedal
- 20:26signals on this plant parts this is
- 20:31firstly because through this part the
- 20:33pedal signals are routed to the main
- 20:35channel there's channel 16 and that
- 20:38basically suspends both both of the
- 20:41synthesizers so what I need to do is so
- 20:48these these apply to all control change
- 20:50signals but pedal is control chain 64 or
- 20:53I don't want to wrote it to channel 16
- 20:55but I want to wrote it to the actual
- 20:57channel 4 for each instrument
- 20:59alright so to do that we have to do some
- 21:02work I'm gonna create a custom
- 21:06translator with this pedal signal 64 and
- 21:10the outputs will also be 64
- 21:18and I'm gonna specify from which track
- 21:24it comes this pedal thing will come so
- 21:27this custom translator only applies to
- 21:30pedal signals coming from channel 2 so
- 21:33if it if it's on this channel this
- 21:36translator output signal so right now I
- 21:40want to wrote it to something like 6 and
- 21:44I want to make sure that this control
- 21:47change this pedal signal coming out on
- 21:52channel 6 is not translated to 16 by
- 21:55this translator so I'm gonna change the
- 22:00input channels of this translator to 23
- 22:04so what happens is when I press my pedal
- 22:07signal on channel 2 it goes into this
- 22:10translator this translator changes into
- 22:12auto channel 6 and now this translator
- 22:15doesn't do anything to that signal
- 22:17because it only changes signals from 2
- 22:19to 3 and after I pass this translator I
- 22:22have to add another one change that 6
- 22:25back to 2 so I'm also choosing channel
- 22:3264 control change 64 row 2 to 64 and
- 22:38this time it's gonna convert 6 to 2 so
- 22:47this is a long list of translators which
- 22:51basically wrote the channel so this is
- 22:54kind of a trick that allowed me to skip
- 22:57this translator for pedal signals it
- 22:59changes the 2 channel 2 to 6 and I'm
- 23:02back to 2 on this translator
- 23:04so basically skips this part 4 in other
- 23:09translators and I have to do the same
- 23:11thing for channel 3 so for example let
- 23:13me quickly do that and this time I'm
- 23:17gonna change 3 to let's say 7 and at the
- 23:22end I need to change it back to 3
- 23:27so now my pedal signal suspends the
- 23:36distracted solidus but when I select
- 23:43section the pedal only suspends this
- 23:46because the food the federal signals are
- 23:49filtered on here
About this transcript
This page contains the full transcript of KeyStage 1.x Tutorial 7: MIDI Aliases and Advanced MIDI Routing by Ali Gokturk, generated from the public captions YouTube serves with the video. The transcript has 3,206 words across 469 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.