Yahoo Groups archive

The Logic Off Topic list

Index last updated: 2026-04-28 23:27 UTC

Message

Re: [L-OT] Transformers

2004-07-03 by TazmnianDv@aol.com

Here is the complete article :

http://www.soundonsound.com/sos/Jul03/articles/logicnotes0703.asp?session=8bfa
c6deb8abcdea342bda2909f415d7



Construct your own matrix sequencer
Logic Notes
Published in SOS July 2003

Relive the hardware of the early synth pioneers this month, as we show you 
how to construct your very own matrix sequencer in the Environment.

Steve Knee

Back in the heady days of analogue synthesis, people tried to find ways of 
playing synths automatically, and various ideas emerged. One early design was 
the matrix sequencer, which had perhaps eight or 16 steps marked along the 
bottom, and various outputs up the side. By pressing a key in the matrix a control 
voltage appeared at the appropriate output when that particular step was 
activated. A clock signal was used to cycle round the steps, which triggered sounds 
depending on what buttons had been set.

Whilst being a very simple design, it still has its devotees and has been 
revisited in various modern software applications, such as Propellerhead's Reason
. However, Logic has no dedicated matrix sequencer and, while the Hyper Edit 
window can be adapted to act in this way, I prefer to use the Environment. So 
here's how to create a basic eight-step, two-line matrix for yourself.

Doing The Groundwork

First you need a signal to be automatically generated in the Environment 
during playback, and for this you need to use a MIDI Metronome Click object — with 
just the Bar field ticked in its Parameters it will mark the start of every 
bar. To get the matrix to run at a comfortable rate at 120bpm, it is necessary 
to go through the eight-step sequence twice. In order to create a second 
trigger halfway through the bar, cable the metronome straight into a Delay Line 
object — in its Parameters, set Repeat to one and Delay to '8 0', making sure 
Thru is ticked.

To route the MIDI Note On message to different parts of a matrix, a Channel 
Switcher object needs to be used — this object is vital to the matrix sequencer 
design, because it can operate under remote control. First let's concentrate 
on setting up the automated switching action. A MIDI Continuous Controller 
number seven message (CC7) with a value of 127 can be used to advance the switch, 
whilst the same message with a value of zero will reset it back to the start. 
To convert the MIDI Metronome Click's note messages to the correct Continuous 
Controller messages, you need to use Transformer objects.

Create two new Transformers, and cable the output of the Delay Line to them 
both through a Monitor object. Double-click the first Transformer to open its 
dialogue box and change all note events with velocity values above zero into 
CC7 messages with values of 127. A setting for doing this can be seen in Screen 
1 — note that the Filter Non-matching Events option is selected at the top of 
the window. The other Transformer should be set up the same, except with the 
value of the resultant CC7 message at zero.

Having the right signals is one thing, but we also need to duplicate them — 
we currently have two per bar, yet for an eight-step sequence repeated twice we 
need 16 separate signals. Cable the output of the 'switch advance' 
Transformer into seven Delay Line objects, unticking Thru in each one's Parameters and 
setting the Delays from '1 0' through to '7 0'. Next, cable the 'reset switch' 
Transformer into another Delay Line with Thru unticked in its Parameters and 
Delay set to '8 0'. Finally, cable all eight Delay Lines through a Monitor 
object to merge them, and connect this to a new Cable Switcher. When we have some 
outputs for this Cable Switcher, it should happily cycle round eight steps. 
This setup can be seen in Screen 2.

Creating The Notes

That provides the switching control, so now we need to send a signal though 
the Cable Switcher. Take a second output from the Monitor object to route the 
eight Delay Lines to a new Transformer object, this time changing all the CC7 
messages (both 'advance' and 'reset') back into Note On messages with velocity 
values of 127 — a setting to do this can be seen in Screen 3. Cable this 
Transformer to the Cable Switcher — these Note On messages will be used to activate 
a row of buttons which will form the steps of the matrix.
 
The button with the chain links icon at the top left of most of Logic's 
windows has three modes, indicated by the colour of the button: off (gray), Link 
(pink), and Contents Link (gold). In Link mode, the window's view will change in 
synchronisation with the top window. In Contents Link mode, its view will 
change in synchronisation with the selected object in the top window. Link mode i
s handy for windows that display similar objects, such as two MIDI editors. 
Contents Link mode is handy for synchronising MIDI editors to the Arrange 
window. The Sample Editor window is an exception — it only offers Link mode, which 
causes it to show the contents of the audio region selected in any other 
window. Len Sasso 

Some of Logic's plug-ins have so many parameters that the designers have 
chosen not to show all of them in the plug-in window's main Editor view. However, 
if you'd like to see them, then click the circular '001 011' button at the top 
of the window and they'll appear under the main Editor view. Mike Senior

Audio playback from both the Audio window and the Sample Editor uses the 
Track Audio object selected in the Cha numerical field at the left-hand side of 
the window. It's a good idea to set this to an Audio Track object not used in 
the Arrange window, so that muting and effects processing won't be applied when 
auditioning audio files. Note that the setting is not preserved with the song 
or between sessions with Logic — it is always reset to one. Len Sasso
 
To deactivate the buttons after the end of each step, however, we need 
another Note On message, but with a velocity value of zero. Take another feed from 
the Transformer that converts the CC7 messages into Note On messages, and use 
yet another Transformer to change the velocity values to zero. Cable the output 
of this into another Delay Line object, setting the delay to be the length of 
time you want each matrix step's button to remain on (bearing in mind that 
this should be shorter than the step duration) and then connect that into the 
Cable Switcher as well. This setup is illustrated in Screen 4.

It's worth noting here that a strange quirk of the Transformer object means 
that the zero-velocity Transformer will actually output velocities of one. This 
is fine for switching our buttons, which will default to sending out notes of 
a fixed duration. To get a variable duration for the notes requires some 
complicated routing, which is beyond the scope of this article. However, the note 
durations can be easily changed in the Event List window once the data has 
been created.

So, let's recap. We now have a Cable Switcher which sends a Note On message 
with a velocity value of 127 followed by a Note On message at a velocity of 
zero via eight different outputs which are switched 16 times a bar. The hard work 
is now complete, because the signals have been created, much like the 
control-voltages of old. What we need to do now is decide whether or not to send each 
one to our instrument.

Building The Selection Matrix

Create a horizontal row of eight buttons by selecting Button from the Fader 
submenu of the New menu, and set the In field in the Parameters to match the 
notes being sent by the Cable Switcher. Cable eight outputs of the Cable 
Switcher into each of these buttons, one per button. With the Range fields in the 
Parameters set to one and 127, the buttons should switch on and off 
appropriately, providing a visual representation of which step the matrix sequencer is on. 
Bear in mind that Logic gets the MIDI data right first and updates the screen 
second, so the visual switching may lag slightly.
These buttons are what actually creates the data we'll send to the sequencer, 
so choose what kind of data you want in the Parameters box for the button — 
for the example here we'll use Note On messages. For each line of the matrix 
you want to create, just take the output of each button into its own new Cable 
Switcher. Control the Cable Switcher with another simple selection button — 
this one will decide if the Note On is sent for that step, just like the switches 
on an analogue matrix sequencer. Take one output from all the Cable Switchers 
in the row and cable them to a single Transformer to shift the Note On 
messages to any note number you like. The buttons will also generate notes with a 
velocity value of one, so use the Transformer's Filter Non-matching Events 
option to get rid of these.

Once the second row of buttons is constructed in the same way, all that 
remains to be done is to send from each row's Transformer output to a single 
Sequencer Input object, from where it can be routed to instruments and recorded. 
This last section of the setup is shown in Screen 5, but if you're still 
scratching your head about how it all works, you can investigate the final setup for 
yourself by downloading the demo Song file. This Logic Song file contains a 
Matrix Sequencer Environment Layer in which you can see Steve's complete matrix 
sequencer device. The Song is in Logic v4.8 format.

Beyond The Matrix


The example created here is just a simple two-line affair. However, this was 
just to get you started. Using the data created by the main switcher, any 
number of rows could be created. If you want to make the screen a little tidier, 
move all of the unwanted objects out of the way to leave just your selection 
buttons. The screen can be made to look even tidier by turning off Cables in the 
Environment window's View menu. The parts you'll create with the matrix 
sequencer are unlikely to resemble anything you might play, just due to the method 
of programming, and may just take you off in a new musical direction. Now, 
where did I leave that Jean-Michel Jarre album... 

Published in SOS July 2003


[Non-text portions of this message have been removed]

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.