home *** CD-ROM | disk | FTP | other *** search
-
-
- Getting Started
- ---------------
-
- This Document will be mostly in the form of a tutorial. Many parts of
- this program are not well documented because of the need for some kind
- of copy protection. My belief on documentation is it should be on-line
- and the program "User Friendly". But this documentation will contain many
- useful features of the software. I also believe that examples is the
- fastest way to learn. There are several examples that may be loaded.
-
- First, you should make a new directory for all the executables. Add this
- directory to your path and copy the MidiRouter, SplitNote, and SSBridge
- programs and .info files. Next, make sure you have the files 'Midi.library'
- and 'arp.library' is in your libs: directory. If you are using SoundScape
- this should be the same place as 'SoundScape.library'. Both the libraries
- 'Midi.library' and 'arp.library' are not included in this demo but are PD
- and may be found on the "Musician's SnowBird Den" in the file 'MRouter2.arc'.
- The file 'MidiRouter.CHIP" should be in this directory as well as all the
- ".route" and ".env" files. See Read.Me for complete installation instructions.
-
- You should now be ready to run. The easies way to get something
- running is to run the SplitNote routine in the /midi mode. This mode
- not only starts the module but adds routes to both MidiIn and MidiOut.
- This mode is mainly intended if you are not going to be using MidiRouter or
- SoundScape. If MidiRouter is run with this module in this mode, the
- module will be shown on the patch panel but not the routes. The only
- way to remove the routes added by the module is to leave the program.
-
- > Double click on the SplitNote+midi icon or run "SplitNote /midi"
- from CLI.
-
- First, the CopyRight window is displayed. Click "OK" to continue.
-
- > Click OK in Copyright window
-
- A small window is opened in the upper left corner. To leave the SplitNote
- module, close this window. To edit the presets of the SplitNote module
- use the menu of the "SplitNote" window. There are three options on this
- menu. The first enters the edit routine. "Read" and "Write" are used to
- save and load banks of presets but is not available for this demo.
- But presets can be read by MidiRouter and sent to this Module.
- At this point, the MidiLib nodes "SplitNote" have been created and, because
- of the /midi option, routes connected to MidiIn and MidiOut. The default
- split point is at C3.
-
- > Select "Edit" option from the menu on the "SplitNote" window
-
- A new window is opened and the MIDI stream will not send messages. This
- interruption of the MIDI flow will not happen if this edit window is opened
- from the MidiRouter. But when running a module by its self, make sure
- you do not leave this edit window open.
-
- Since this module is most useful when used with other modules and the
- route capabilities of MidiRouter, lets leave this module and restart it
- without routes being connected to MIDI. We will use
- MidiRouter for that.
-
- > Close Edit window of SplitNote
- > Close "SplitNote" window to leave module and remove routes to MIDI.
-
- > Double click on SplitNote without +midi option.
- > Click on "OK" of CopyRight Window
-
- The window "SplitNote" is create as before.
-
- > Double click on MidiRouter icon to start MidiRouter program.
- > Click on "OK" of CopyRight Window.
-
- The MidiRouter patch panel is now opened and icons for Midi IN/OUT and
- the SplitNote module are displayed. To connect a route from MidiIn to
- SplitNote, use the mouse and click on the Midi icon on the left, then on
- the SplitNote icon on the right. A line is drawn representing
- the route.
-
- > Click on MidiIn on left then SplitNote on right.
-
- Add another route from SplitNote to MidiOut.
-
- > Click on SplitNote on left then MidiOut on right.
-
- There is now a split point at C3 for notes on Midi channel 1. To see
- the presets for the SplitNote module, double click on the modules icon
- in the Patch Panel.
-
- > Double click on SplitNote icon on either left or right.
-
- The edit window for the SplitNote module is now displayed and will be
- explained later. For now though, you may change the split point by pointing
- to the C3 label under "split point", pressing and HOLDING down the left
- mouse button, and draging the mouse up or down while holding the left
- mouse button down. The preset number at the top of the window may be
- changed in a like wise faction. SplitNote preset number 2 has two
- split points set at C2 and C4. Unlike being in the edit window while
- running a module's edit routine, the flow of midi data is NOT interrupted
- and all edits are active when the left mouse button is released.
-
- > Close SplitNote's edit window.
-
-
- Creating and Displaying routes
- ==============================
-
- The creation of routes between module nodes is the primary function
- of MidiRouter. These routes are defined by Bill Bartons MidiLib. Basicly,
- routes are used to select which MIDI messages should be passed to the
- routes destination. Notes may have there note value shifted. The midi
- channel may also be shifted by the route. This gives an incredible
- amount of processing power simply in how messages are routed. My hat off
- to Bill on this.
-
- So lets use MidiRouter to select where to place routes and how to filter
- the data. By using routes between MidiIn and MidiOut alone there are a
- number of useful things to do. First, lets create an environment where
- all notes coming from MIDI channel 1 is layered such that a minor
- chord is played with the 3rd and 5th of the chord each playing a different
- sound.
-
-
- The Display Mask
- ----------------
-
- First, since no midi data will be sent to MIDI out until a route is
- created, lets create a route with no filtering from MidiIn to MidiOut.
- To do this we must first set the display mask to include all MIDI messages.
- This is the default state when the program is first run.
- The display mask is the setting of the gadgets in the top half of the
- MidiRouter window. The row of gadgets to the right of the "MSG:" text is
- used to select which MIDI message types are to be shown on the display.
- It also says what message filtering to use on NEW routes created. It
- will not change the settings of routes already connected. But it will
- change the routes currently display. This will be demonstrated in a
- moment. The gadgets right of the "CH:" text are used to select which
- MIDI channels are active. The scrolling gadget to the right of the text
- "Solo" is used to change the mode of the message and channel filter
- gadgets. When "Solo" is selected, the five options may be selected by
- holding down the left mouse button and moving the mouse up or down. The
- options are:
-
- None - Each gadget for MSG: and CH: only toggle on or off.
- MSG - When selecting a MSG: gadget, turn off all other messages.
- Chan - When selecting a CH: gadget, turn off all other channels.
- Both - Solo both Message and Channel gadgets.
- AllOn - Turn all message and channel gadgets on.
-
-
- First lets make sure there are currently no routes. On the menu for window
- "MidiRouter #1", under the menu option "Routes" select the option "Clear".
- This will erase all routes.
-
- > Execute menu option "Clear" under menu "Routes"
-
- Now make sure all message types and channels are on.
-
- > Use "Solo" scroll gadget and select "AllOn".
-
- Now we can connect are route from MidiIn to MidiOut.
-
- > Point to MidiIn icon on left then MidiOut icon on right.
-
- If at any time we wish to remove a route, simply point to the two icons
- of the route to delete. This only works if there is only one route between
- these two modules.
-
- > Point to MidiIn icon then MidiOut icon to delete route.
-
- > Reconnect route again as before.
-
- So now we want to add a second route between MidiIn and MidiOut. But we
- can not just point to the two icons because that would remove the old
- route instead. The "Add" icon is used to add routes over existing ones.
-
- > Point to the "Add" gadget in the "MidiRouter" window.
-
- The message "--> Select Source" is displayed in the MidiRouter's prompt
- window just above the line in the middle of the window.
-
- > Point to MidiIn. Message on prompt line changes.
- > Point to MidiOut.
-
- A new route is added and the line changes color to indicate that more than
- one route is now connected. Since we want this new route
- to transpose the note and MIDI channel, we first have to edit the routes.
- To do this point to the "edit" command and then select the source and
- destination of the routes to edit.
-
- > Click on "Edit".
- > Select "MidiIn" then Select "MidiOut"
-
- The route edit window is now entered. This is where you can edit all
- parameters used by the MidiLib route manager. In the example we are doing,
- we want to shift the second note to be a minor 3rd above the root. We
- also want this to be a different sound so we will want to shift the MIDI
- channel. But before we do that, note that since we never turned off any
- of the other midi message types, all the controllers, system exclusive,
- pitch bends, program changes, etc. will be duplicated. To prevent this
- we need to turn off all message types except notes in the second route.
- There is a short cut to doing this. Clicking on the "Clear" gadget on the
- right side of the route to clear.
-
- > Click on "Clear" gadget on the far right of route 2.
-
- If the route editor is left with all messages or channels cleared, the
- route is deleted. Now turn on note filtering, channel 1, and note
- transpose to a miner 3rd.
-
- > Click on route 2's note filter to toggle to "Y".
- > Scroll note transpose to 3. Note transpose is the scroll gadget
- second from the left.
- > Click on channel 1 for route 2.
-
- Last we need to increment the MIDI channel. By changing offset to
- 1, messages on channel one will be mapped to channel two.
-
- > Scroll route 2 offset to 1.
-
- All changes in this window are effective now. Be careful not to have notes
- on when changing either the channel offset or the Note transpose as this
- will leave notes hanging.
-
- Leave the edit window by closing it. We can now use the message display
- mask to tell us something about where we have messages. If you set the
- Solo scroll gadget to "Both" and select "PW" and "CH1", the number of
- routes display will be two and the color will be yellow instead of white
- indicating more than one route (at least yellow with my preferance).
-
- > Close route editor window.
- > Select "Both" for Solo gadget.
- > Click Note (N) Message. All other filter turns off.
- > Click on channel 1. All other channels turn off.
-
- The route turns yellow. There is more than one route connected from
- MidiIn to MidiOut with note messages on channel 1.
-
- > Click on channel 2. Channel 1 goes off.
-
- The route turns white. There is only one route passing only notes on
- channel 2. If you move the Solo gadget back to "None" (all the way up) and
- select channel 1, the route agains turns yellow indicating multiple
- route with notes on channel 1 or channel 2.
-
- > Scroll "Solo" to "None"
- > Click on channel 1. Channel 2 should still be on.
-
- By using the display filter you can keep tract of the
- route path for each type of midi message and/or MIDI channel. With
- other modules connected, this display mask is very effective in keeping
- route paths clear for each type of MIDI data. Another great benefit
- of being able to deal with message types separatly is that controllers and
- other MIDI streams can be filtered off or re-routed early in the path.
- For example, the split note module uses only note and program change MIDI
- messages. So if a path was connect from MidiIn to SplitNote and from
- SplitNote to MidiOut, the other MIDI data would have to be passed thru
- two paths before being sent to MidiOut instead of only one if a separate
- route was added. This example will be elaborated later and can be
- loaded via the MidiRouter environment file "Basic-Split.env".
-
- But we have not completed the minor chord. With the two routes we have
- the root and the third. So we need to add a third route. When we added
- the second route, we left the display message maksk to all on. But since
- what we want is only notes, change the display mask.
-
- > Select "Both" for Solo.
- > Click MSG Note.
- > Click CH 1.
-
- Once again we want to add a route where there are already routes. In the
- first case, clicking MidiIn and MidiOut would remove the route. Since there
- are multiple routes, clicking the two icons will bring up the edit routes
- window as if the Edit gadget was clicked. So lets add the third route and
- edit it.
-
- > Click "Add".
- > Click MidiIn then MidiOut.
- > Click MidiIn then MidiOut again to start route editor. This is the
- same as clicking "edit" then MidiIn and MidiOut.
-
- There are now three routes with the last one being the one we just added.
- Note that only the filters specified in the display filter were added.
- Now change the note shift and channel offset.
-
- > Scroll route 3's note transpose to 7 to add the fifth of our chord.
- > Scroll route 3's offset to 2. MIDI channel 1 is now mapped to 3.
-
- So finally we have the desired results. These three routes could
- have been entered with fewer commands by adding all three routes before
- editing. Now for every note played on channel 1, three notes are played.
- The root played on channel 1, a minor 3rd above that on channel 2, and
- a perfect 5th above the root on channel 3.
-
- Whenever you are done with a window, it should be closed. This frees up
- more of the computer for MIDI. Also, not more than one edit program may
- be called at a time. To open a new edit window the other edit windows will
- have to be closed first.
-
- > Close route editor window. (Window "Edit-Route")
-
- At this point you will be able to save the routes in a route file or save
- an environment which also saves the presets for the modules. But this
- function is disabled for the demo. However, I have include the
- ability to read these environment files and the route example above may
- be loaded from the environment file "chord.env".
-
- I have also included a route file I use with my guitar synthesizer.
- It maps MIDI channels 1 thru 7 to channel 1. I need to do this because
- I have my PitchRider set up to send each string on a different MIDI channel
- and channel 7 is used by the hold function. There are times when I want
- to play with a sound just on my DX7 with the guitar. Since my DX7 only
- receives on one MIDI channel, (at least I have it set up that way) I
- am able to quickly move this module into a patch panel MIDI stream.
- I can call this patch panel with only MidiIn, MidiOut, and 8 routes a
- module because multiple copies of the MidiRouter can be run, each with
- its own routes and modules. So a PatchPanel can act as a new module in
- a second copy of the Patch Panel (MidiRouter), This feature is not
- completely working yet so I am going to save an example of this for
- the next release. But go a head and load the route file "OMNI.router".
-
- > From MidiRouter's Menu, execute "read" option from "routes" menu.
- > Give the name "OMNI". Do NOT give the extension ".route".
- All other routes are deleted.
-
- That's it! If you want to see the routes, click MidiIn then MidiOut.
-
- To leave MidiRouter, simply close its window. The program will verify
- that you really want to quit. Unless the modules where run with options
- saying otherwise, all modules will be close when the MidiRouter exits.
-
- > Close MidiRouter window.
- > Quit. Are you sure?? Click on OK
-
-
- Using MidiRouter with SoundScape
-
- ================================
-
- First, make sure MidiRouter is not running. It will needed to be started
- with different options to run with SoundScape.
-
- Since MidiLib and the MIDI message passing system used by SoundScape are
- different, there must a program that will read MIDI messages from the
- SoundScape MIDI stream and pass them in to MidiLib and the other
- way around. The program SSBridge does just that. Running SSBridge does
- several things. First, if SoundScape is not already running, it loads
- SoundScape. SSBridge then creates the Node's needed by MidiLib and opens
- a small window in the upper left corner.
-
- > Double click on SSBridge icon to start SoundScape and MidiLib.
-
- At this point you should have a window of the SoundScape Patch Panel with
- a new icon. This icon is the letters M.L. in a box. This is your Node
- in and out of ANY MidiLib module, weather written for MidiRouter or not.
- However, when used with MidiRouter, another icon is included in the
- MidiRouter Patch Panel that is the letters "S.S." for "SoundScape".
-
- There are allot of considerations when using MidiRouter with SoundScape.
- But I am only going to mention one of them here. Be default, when
- MidiRouter starts it includes the MidiIn and MidiOut nodes used by
- MidiLib. Since SoundScape has its own Midi In/Out routines, the MIDI
- ports will only work with one of them. By including the "-midi" option
- to MidiRouter, it will not include its own Midi ports. This may be done
- either by executing the command "MidiRouter -midi" from CLI or by
- including the -midi option in the .info file. I have included the
- .info file with this option already set in "MidiRouter-midi.info".
-
- > Double click on "MidiRouter-midi" icon.
- > click on OK of CopyRight window.
-
- The MidiRouter Patch Panel window is now displayed but with the "SS"
- (for SoundScape) instead of the MIDI in and out icons.
-
- You may also choose to use the MIDI ports set up by MidiLib instead
- of SoundScape's MIDI ports. To do this, do not include the -midi
- option for MidiRouter. Include it in the SSbridge program instead. This
- will remove the MIDI ports from the SoundScape Patch Panel. This option
- is already set in "SSBridge-midi.info".
-
- Connecting routes to MidiRouter from SoundScape is the same as for any
- other modules. To use data from SoundScape in MidiRouter, use the
- SS icon like you would use MidiIn and MidiOut. Messages come from
- SoundScape via the SS icon on the left and messages are sent to
- SoundScape by sending them to the SS icon on the right.
-
- This is not a very complete description of every thing you should know
- but should be enough to get you going. Let me give these last warnings.
- First, if you uses the MIDI ports of MidiLib with the MIDI ports
- of SoundScape, either SoundScape or MidiLib will have control of the
- ports depending on the order things have happened. The ports are
- not freed until you reboot. So if you are having problems with the
- MIDI port, try rebooting and make sure you only use one or the other
- MIDI ports. If you start SoundScape and/or MidiRouter then exit then run
- SoundScape and/or MidiRouter again, if you do not do things in the correct
- order, you may loose your MIDI port so that one program or another can not
- use MIDI. Reboot to correct. If you have problems, leave a message on
- the "Musicains SnowBird's Den" for me.
-
- Last, I ran into allot of problems when I has writing SoundScape utilities
- before I wrote MidiRouter. I believe the problem to be that the Manx
- "C" compiler/linker does not do the same thing as the lattice compiler/
- linker, which is what was used for SoundScape. But I believe SSBridge
- works well enough. As I start having more time to use this software
- for my music, and not just writing the software, I may find more
- problems. Please let me know if you have problems. Please no collect
- calls, but do call if you want to know more!!!
-
-
- Using SplitNote
- ---------------
-
- The SplitNote utility module is but one module that will be available
- for the MidiRouter program. This one module will describe how modules
- are used in the system. The following tutorial may be run weather
- you are running MidiRouter alone or with SoundScape.
-
- > If not already running, start MidiRouter. SSBridge may be running
- or started now too.
-
- > Start SplitNote module by double clicking on SplitNote. Do NOT
- start the "SplitNote+midi" copy of this module as this will connect
- routes to MIDI. All routes should be connected with MidiRouter.
-
- Routes may now be connected to the icons of modules as before. To enter
- the edit routine of a module, double click on its icon in the MidiRouter's
- window.
-
- > Double click on SplitNote icon in MidiRouter's window.
-
- A new window is opened which is the edit window for this module. This
- edit window will be different for every module except for some common
- gadgets that are common to most modules I have in mind.
-
-
- Module common features
- ----------------------
-
- First, so that you can see the edit window and this tutorial, you may want
- to resize and position the edit window for SplitNote. Whenever you change
- this window, the new position is remembered. This position is also saved
- by MidiRouter when saving environments.
-
- > Resize and move the SplitNote's edit window.
-
- So now if we close this edit window, the position and size are remembered
- the next time the window is opened.
-
- > Close SplitNote's edit window
- > Double click on SplitNote icon in MidiRouter's window.
-
- There are 3 scroll gadgets used by most modules. The first of these
- is the "Preset" gadget. Every module may define from 1 to 128 preset
- slots. Each preset slot contains a new configuration for the module.
- In the case of the SplitNote routine, changing the preset slot number
- will change how many and where the split points are. The number of
- slots is defined when the module is first loaded, or when a MidiRouter
- environment is loaded. This means that if you need only two different
- split point maps for one song and 32 maps for the next song, when the
- environment for the two songs is loaded, the number of slots used in the
- module is redefined and reloaded. There can be 128 preset slots defined
- except that for this Demo you may define only 1-3 slots.
-
- Another common gadget for most modules is "Preset via MIDI". This gadget
- is used to allow MIDI to change the modules preset map. This gadget
- has three values. When "Preset via MIDI" is "Disabled", the modules
- preset map can not be changed from MIDI. The only way to change the
- preset is to use the mouse. When "Preset via MIDI" is "Enabled", the
- modules preset map may be changed by a MIDI program change. So a program
- change of 2 will set preset 2, 3 will set preset 3, etc. If a program
- change is sent that is greater then the number of slots, nothing happens.
- If the gadget is set to "Wraped", MIDI program changes will change the
- preset as with "Enabled" but if the program change is greater than the
- number of slots, the program number is wraped around so that it will
- change the preset. For example, if the number of slots is 2, a PC of
- 1 set preset 1, 2 sets 2, 3 set preset 1 again, etc. So in this case
- all odd program change numbers will set SplitNote preset map 1 while
- all even program change numbers will set SplitNote preset map 2. This
- is very powerful for being able to change your entire setup including
- module configuration from your MIDI controller, which is where all the
- control should be coming from in the first place!
-
- The last common gadget is the MIDI channel number used to control preset
- changes for this module. So if set to 1, PC on all other channels are
- ignored. If you want program changes to change the modules preset
- regardless of the MIDI channel, set this scroll gadget to "OMNI".
-
- The whole concept of using MIDI program changes to control module
- configuration really needs allot more explanation, but that will have to
- wait until I have more modules and start writing the "real" documentation
- for this program.
-
-
- How SplitNote works
- -------------------
-
- SplitNote is a basic note split routine. A different split point may be
- set for all 16 MIDI channels. When a note enters the SplitNote module,
- its MIDI channel is examined. The note is compared with the split point
- set for that channel. A new midi channel is assigned depending if
- the note was above or below the split. If the new channel is less than or
- equal to the original input channel, the note with its new channel is sent
- to the modules destination. If not, another split point is searched based
- on the new midi channel.
-
- For example, in preset #2 of the SplitNote module, there is a split point
- on channel 1 at C2 and and channel 2 at C4. If we get a MIDI note message
- at say G4 on MIDI channel 1, the split point at channel 1 is examined.
- Since G4 is greater then the split point of C2 for channel 1, the channel
- is reassigned to channel 2, since that is the channel for the upper part
- of the split. Now, since channel 2 is greater then the input channel of
- 1, the note is compared with the split point at the new MIDI channel,
- channel 2 in this case. Since once again the note is greater then the
- split point, the MIDI channel is again reassigned to the upper split.
- So now the channel is 3 and since 3 is greater then the input channel of
- 2, another split point is checked for MIDI channel 3. Since the split
- point at channel 3 is set to "Lower", all notes will be passed to the
- lower channel number, in this case 3. Since the new MIDI channel is now
- equal to the input channel for this split point (that is 3), the note is
- now sent to the destination.
-
- To change the split point, use the mouse and position the pointer over
- the "C 3" text under "Split Point" and right of "Input Channel 1". Press
- and HOLD the left mouse button while moving the mouse up or down. As
- long as you hold the left mouse button down the value under the pointer
- will change. Even where the value to change is only yes/no, the value
- may be changed my holding the left button. If there is only two values
- then the value is toggled.
-
- Another way to look at how to set split points with this module is this.
- Starting at the input channel of your controller, (usually 1), set the
- split point to the lowest split you want set. Leave the lower and upper
- channel numbers to there default. Change the split point of input
- channel 2 to where you want your next split point. Continue this
- for the split point on channel 3, 4, etc. until you have as many split
- as you want (up to 16). The important thing is that the split point for
- channel 1 is lower that for channel 2 which is lower than the split point
- for channel 3, etc.
-
- The values of all split points for all presets in this module may be saved
- to disk either for this module alone or as part of the environment. This
- function is disabled thou for this Demo.
-
-
- Split points and layering with multiple routes
- ----------------------------------------------
-
- The real power of this kind of module can be better demonstrated with other
- examples. But most of these examples I will leave for another time.
- Let me leave with one more example thou that demonstrates how using this
- module with multiple routes gives us more power then would first be
- suspected.
-
- In the above example on setting split points, each split point range
- can have only one MIDI channel. We wanted to set up the split points
- so that below C2 notes are on channel one, from C2 to below C4 notes are
- layered on channel 1 AND channel 2, and from C4 and above notes are sent
- on channel 2. There are actually several ways to do this. The best way
- is the one that uses the fewest routes or makes copy of routes as close
- to MidiOut as is possible. One way is to have the SplitNote module change
- the MIDI channel for notes in every range that we want something
- different to happen. In
- this example we have 3 different ranges that are all doing something
- different, even thou we are only using two MIDI channels. So if
- we use preset number 2 of the default settings for SplitNote, notes
- will have MIDI channels as follows:
-
- below C2 -> Channel 1
- C2 - B3 -> Channel 2
- C4 and above -> Channel 3
-
- Execute the following to connect are controller to SplitNote.
-
- > Clear all routes with "Clear" menu command under "Routes"
- > Set Solo to "AllOn"
- > Set Solo to "Chan"
- > Select CH: 1 in display mask
- > Turn off display mask message for all but N and PC.
- > Connect route from MidiIn to SplitNote.
-
- We now have a way to identify which of the three split areas a note was
- played in. The rest can be done with routes. Connect three routes
- from the SplitNote icon on the left to MidiOut. The first route
- passes only messages on channel 1. Since what is coming out of channel
- 1 is already what we want, this takes care of the first range.
-
- > Set Solo to "Both"
- > Select MSG: N in display mask
- > Select CH: 1 in display mask
- > Select Solo to "None"
- > Select MSG: PC. Both N and PC should be on.
- > Add route from SplitNote to MidiOut
-
-
- Next, the notes on channel 2 need to also be copied to channel one.
- There are two steps here. First, since in the last route we selected
- channel 1 only, the notes on channel two will be filtered. Simple add
- channel 2 to the filter mask of the route already created from SplitNote
- to MidiOut. To do this you will need to bring up the route edit window.
- Changing the display mask channels will not change any routes already
- created.
-
- > Select "Edit" and click SplitNote then MidiOut icon
- > Click on route 1's channel 2 filter to turn it to 'Y' for Yes.
- > Close edit window.
-
- We now have notes below C2 on channel one and between C2 and C4 on
- channel 2. Now add a second route to copy notes on channel 2 to
- channel 1.
-
- > Set Solo to "Both"
- > Select MSG: N
- > Select Chan: 2
- > Click "Add" then SplitNote on left and MidiOut
-
- The route line changes color to indicate more than one route is connected.
- This new route now copies every note on channel 2 to channel 2. Since
- this is not what we want, edit the routes from SplitNote to MidiOut.
-
- > Click "Edit" then SplitNote then MidiOut.
-
- To change the midi channel from 2 to 1, scroll the "Offset" for route 2
- to -1.
-
- > Scroll route 2's "Offset" to -1
- > Close route edit window
-
- Last, there are still all the notes above C4 on channel 3. We need to
- add a route that passes these note and shifts the channel to 2.
-
- > Select CH: 3. Channel 2 should go off
- > Click "Add" then SplitNote then MidiOut
-
- To change the channel offset open the edit routes window.
-
- > Click "Edit"
- > Click SplitNote then MidiOut
- > Scroll Offset for route 3 to -1
- > Close edit window
-
- We now have the result we wanted. The last think you may want to
- do is to pass the controller, pitch bend, etc. to MidiOut since we have
- never connect a route that didn't filter it out.
-
- > Scroll Solo to "AllOn"
- > Scroll Solo to "None"
- > Turn off MSG: N and PC
- > Connect a route from MidiIn to MidiOut
-
- This example is in the environment file "Split-Layer.env"
-
- From here we can change this example to many others with only the splits
- and routes we currently have. For example, try changing the note
- transpose on route 2 from SplitNote to MidiOut. This will give the
- doubling of the notes in the mid range of the keyboard an interval. Or
- maybe you want a different sound for the top part of the keyboard. Change
- the channel shift for route 3. The list goes on.
-
- There are a number of points I have left out of this documentation. There
- are still plenty of places to get into trouble. I can not cover every-
- thing about this program here and choose not to cover as much as I could
- as an incentive to contact me. Let me help you on this point, though. Do
- not change the split points, channel offset, or note shift while you
- are playing. This will cause hang notes. I have another module that
- helps to release some of these hangs because of changes. This is needed
- mostly when I use the MIDI program change to change the split points (i.e.
- the SplitNote preset number via MIDI), but want to keep playing the
- chord I have until after the new split points are enabled. So keep in
- touch for more help.
-
-
-