Sunday, March 21, 2010

Still More on the MOTM-650 -- Arpeggiators

I've now had some time to play with the arpeggiator functions on the MOTM-650, and here's what I have found out so far. First, in answer to a question I saw posted elsewhere: where is the MOTM-650 manual on Synth Tech's Web site? There doesn't seem to be a link to it from the 650's page, but the manual and menu navigation charts are here (PDF). However: the manual is unfinished, and none of the stuff that I'm about to cover is in it. So keep reading.

We discussed in the last installment how the 650 contains software constructs called "voice groups" which have physical output channels assigned to them. The arpeggiators are also software constructs. There are two of them, and each can be assigned to a voice group, or turned off. The arpeggiator can be thought of as a mischievous little sprite that looks inside the voice group to see what notes it has received, and then it arranges those notes into arpeggiations which it compels the voice group to play. When an arpeggiator is assigned to a voice group, it takes control of that group and arpeggiates all notes that that group receives. It is quite possible to assign an arpeggiator to one group and have it outputtting arpeggiations, while other voice groups continue to respond normally to incoming notes.

The arpeggiators get their clock source from the source selected in the global parameters. I'm going to write this tutorial-style, using a setup of the 650 and a modular that I described in the previous installment, so if you want to play along, go back and read that and set up your modular as described there.

Arpeggiator Clocking

Two parameters in the global options control how the arpeggiators are clocked. Press ESC as many times as you need to in order to get back to the top level screen. Then press ENTER and you will see:

Global
Options

Press ENTER to go into the global options. Then press INC as many times as needed until you see:

Clock
Internal (or something else)

This parameter selects the clock source for both of the arpeggiators. The available choices are:
  1. Internal. This selects a clock source that is built into the 650.
  2. MIDI Clk. In this mode, the 650 expects to receive MIDI Clock messages, which would typically come from a sequencer or DAW connected to the 650's MIDI In.
  3. Ext. Reg. This mode accepts a clock signal through the EXT CLK jack on the panel.
  4. Ext. Irr. This acts like the above, except that it appears to apply some sort of anti-noise algorithm to the clock signal. I'll explain what I found out about this further down.
For purposes of this tutorial, for right now we want it on Internal. So if it isn't, press ENTER, then INC/DEC until it says Internal, then ENTER again. Now, press INC to move to the next parameter, which is the beats per minute (BPM) setting for the internal clock. (If the clock source isn't set to Internal, you can't access this parameter.) You will see:

IClk BPM
100.0 (or some other value)

Press ENTER, and then use the INC/DEC buttons to select the value you want. If you hold a button down, the value advances rapidly. The allowable range is from 60 to 238 BPM. The bit that is a bit strange is the resolution (step size) by which you can raise or lower the value, because it depends on what BPM range you are currently in. Here's a handy table:

Range Step Size
60.0 -- 90.0 2.0
90.0 -- 105.0 1.0
105.0 -- 135.0 0.5
135.0 -- 150.0 1.0
150.0 -- 238.0 4.0

The highest resolution steps are concentrated in the range that is typical of club dance music. If you're more interested in doing, say, ambient/space rock, or ballroom music, these might be a bit fast. However, there's a way around that, which I'll get to in a minute.

At this point, if you have entered the value you want (i.e., the parameter isn't flashing), you can press INC and see the other clock-associated parameter:

MIDI Clk
Off (or Transmit)

In any clock source mode except the MIDI Clk mode, this parameter is available. It tells the 650 whether or not to transmit MIDI Clock on its MIDI OUT jack. This is an incredibly useful function -- consider: if you set the 650 to an external clock mode and then drive it with an LFO, you can use the MIDI Out to sync your drum machine to the LFO. If you have a voltage controlled LFO, you can drive the tempo of your whole song with a control voltage!

Assigning and Activating an Arpeggiator

Now let's go look at the parameters of the arpeggiators themselves. Press ESC until you get out to the top level screen, then press ENTER. Now press INC until you see:

Arpgtr 1
Settings

This is where, among other things, you assign the arpeggiator to a voice group. In fact, let's do that now. Press ENTER and you will see:

A1Assign
Off (probably)

Press ENTER, INC, ENTER. It will now say:

A1Assign
VoxGrp1

As of now the arpeggiator is active. If you left the MIDI clock source on Internal back in the global settings, the yellow BEAT LED will now be flashing at the tempo you set in the IClk BPM screen. This is the 650's way of telling you that you have an arpeggiator assigned to a voice group and the clock source is active. (If you left the clock source on MIDK Clk, you won't see the light flash until the 650 starts receiving MIDI Clock messages. Most sequencers and DAWs don't send MIDI Clock when they are stopped. If you left it on one of the external clock settings, it won't start flashing until you connect a clock source to the EXT CLK jack.) For now, go back and set it to Internal if you left it on something else, then come back to this screen. At this point, if you play some chords, you should hear the arpeggiator working!

Now press INC and you will see the next parameter:

Arp1Mode
Normal (or something else)

Press INC again and you will see:

A1 Order
Up (or something else)

These two parameters together determine in what order the notes will be arpeggiated. If the mode is Normal, then the Order parameter determines in what order the notes will be sounded:
  • Up: Notes are sounded from lowest to highest.
  • Down: Notes are sounded from highest to lowest.
  • Up/Down: Notes are sounded from lowest to highest, then back in the other direction. Note when counting beats that the bottom and top notes are sounded only once each in the progression, while the in-between notes are sounded twice.
  • Down/Up: Like above except starts with the highest note, going down.
The other three Arp1Mode settings behave independently of the Order parameter, and are as follows:
  1. Ordered sequences the notes in the order in which they are pressed.
  2. PingPong is kind of hard to describe. Basically, it takes the notes that are pressed, and divides them into "early" and "late" groups according to the order in which the notes are pressed. Then, it plays a note from the "early" group, a note from the "late" group, then the next note from the "early" group, and so on. The best way to hear this in action is to try this: play and hold three notes with your left hand, at the bass end of the keyboard. Then play and hold three notes with your right hand, at the treble end. What you will hear is a sequence of alternating left-hand and right-hand notes.
  3. Random does what you expect: it plays the notes in random order. Note that this is a totally random choice for each note sounded, which means that the same note may be played twice or more in succession.
There's one more arpeggiator parmeter, and this plays into the clock selection, as we mentioned a while ago. Press INC until you see:

A1 ClkDv
X1 (or something else)

This allows you to set a factor that multiplies or divides the clock rate, for this arpeggiator. The setting X1 makes the arpeggiator play at the clock rate. The settings X1.5, X2 and X4 make the arpeggiator play faster than the clock rate, by the factor indicated. The settings /4, /3, /2, and /1.5 make the arpeggiator play slower than the clock rate, by the factor indicated.

Using the Arpeggiators and Stress Testing

With my 650 configured in the 2/2 voice grouping mode, I assigned arpeggiator 1 to voice group 1, which gave me arpeggiation acting on output channels 1 & 2. I did a lot of playing around with the various modes and parameters and observed how the arpeggiator performs. With the clock source set to Internal in the global settings, I played some chords. As I did this, I went through the different output channel allocation settings in the voice group. Concerning that, here's what I found out about how the how the output channel allocation effects the arpeggiations:
  • When the allocation mode is set to Solo, all notes output by the arpeggiator are output on the first output channel assigned to the group; any other channels owned by the group are not used.
  • When the allocation mode is set to Solo Uni, all of the output channels assigned to the voice group play the arpeggiation in unison.
  • Setting the allocation to Solo Rot is the most interesting mode. In this mode, the arpeggiator outputs successive notes on different output channels. For example, in the 2/2 voice group mode, with the arpeggiator assigned to voice group 1, the first note of the arpeggiation is output by output channel 1. The second note is on output channel 2, the third note is on channel 1, etc. In the four channel voice group mode, where voice group 1 owns all four output channels, the first note goes out of channel 1, the second note out of channel 2, the third out of channel 3, the fourth out of channel 4, and the fifth out of channel 1. And so on.
  • The poly 1 modes act like Solo Rot. The poly 2 modes act like Solo. The unison modes act like Solo Uni.
This held true for all settings of the Arp1Mode parameter. I got some really unique effects using a 2/2 voice group setup with an arpeggiator on voice group 1, and each of the two output channels patched into a different string of the modular with different timbres, and the voice group's allocation mode set to Solo Rot. With this setup, if you play a chord with an odd number of notes, the notes swap back and forth betw een the two "voices" every other time through. It can create some very complex-sounding sequences with little effort.

There are a couple of "funnies" about the way that the arpeggiator handles notes being added or removed while a chord is arpeggiating. I haven't yet worked my way through all of the combinations, but one thing I noticed with an Arp1Mode setting of Normal and an A1 Order setting of Up: if you are adding or removing a note from the middle of the chord while the arpeggiator is running, you need to do it between the first now (lowest note) in the sequence, and when the arpeggiator gets to where the notes are being added or removed. If you press a note after the arpeggiator has "passed" that note, it will make a higher note in the sequence be double-triggered that time through. Similarly, if you let up a note after the sequence has "passed" it, it may make a higher note be skipped. It almost seems like at some point during the sequence the software is taking a count of the number of notes being held, and it will play that many notes regardless of how many are being held. However, with a bit of practice, you will get the feel of how and where in the sequence to change your chords without getting skipped or doubled notes; I was able to do it pretty consistently at a 120 BPM tempo after a few minutes of playing with it. I'm not sure if I'd consider this a software bug or not -- you just have to learn how to work with it, and if I were spec'ing out the software, I'm not sure what I would have it do differently.

I wanted to see how fast the arpeggiator could actually play, so I set the internal clock to its maximum rate of 238 BPM, and then I set the A1 ClkDv to X4, giving a note rate of 952 notes/minute, or about 16 notes per second. That seemed to work, although I couldn't swear that the sequence was actually sounding every single note; it was just too fast to hear. At some point I'll have to get the scope out and make sure that I'm seeing all of the pitch CV changes and gates -- I think the gate rate was too fast for any of the envelope generators I have in my modular, as it all kind of ran together even with all of the EG knobs on zero. At one point I pressed my sustain pedal (the 650 recognizes MIDI Sustain Pedal and does what you expect it to do) and glissed the whole keyboard, 49 notes. It seemed to be playing every note, and no notes remained hung when I let the sustain pedal up.

The MIDI Clock mode worked and it behaved like I expected it to. I was able to send it MIDI Clock from my DAW (once I found the clock routing parameters in MOTU Clockworks that I'd forgotten about, so that my MIDI Express would actually route it), and the arpeggiator followed tempo changes flawlessly. There is a setting in the voice group parameters which will provide a clock out signal from the aux jack when the clock source is internal or MIDI Clock, which I have not tried yet. At one point when I was trying to sort out the interrelationship between Metro (my DAW software) clocking parameters and the MIDI Express, I somehow managed to get a stuck note in the arpeggiator. Pressing the PANIC button on the MIDI Express, which sends All Notes Off to all outputs, failed to quiet it. However, starting and stopping Metro playback for a moment cleared it. I know that Metro sends a series of MIDI messages intended to quiet stuck notes when it starts and stops. I'll have to look it with an analyzer and see what's different about it that makes it work when just sending All Notes Off doesn't work.

I put the 650 in the Ext. Reg clock mode and took a pulse output from an LFO and put that into the EXT CLK jack. I was able to adjust the LFO rate and the 650's arpeggiation followed the LFO very nicely. I then set the clock mode to Ext. Irr. With the LFO as a clock source, I didn't notice any difference -- it seemed to track the clock exactly the same. I guessed that this mode perhaps was intended to apply some kind of smoothing to the clock rate, so in an effort to see the difference, I connected a white noise source to the EXT CLK jack.

Big mistake! The 650 went nuts; the screen became garbled and the LCD backlight flashed on and off irregularly. I disconnected that, and after pondering it for a moment, I connected the noise source to a lag processor and then connected that to the 650. While I was in the process of checking this out, the 650 stopped responding, and then a few seconds later I got the infamous "HOSED Q2" message. I cycled power and the 650 came back, with all the parameters set as before. So, I re-connected the output of the lag processor, with the slew rate turned all the way up (slowest). As I expected, the 650 saw no clock signal at this setting. So I gradually turned the rate down (faster) until the arpeggiator started triggering.

Here's where I saw a difference between Ext. Reg and Ext. Irr. With the Ext. Reg mode, as I turned the knob on the lag processor down, at a setting of about 3, the arpeggiator started triggering notes at random intervals, which was what I expected. However, when I switched to Ext. Irr mode, it stopped, and I had to turn the slew rate knob on the lag processor down to about 1 before I saw any action. Once it did start triggering, it looked about the same as in the other mode with the same slew rate setting. So I think my initial guess about what the Ext. Irr mode does was wrong. It doesn't average the clock rate. Instead, it appears to be a function that tries to clean up "ratty" clock signals. My guess is that it routes the clock through something like a Schmitt trigger.

There's been a lot of complaints from certain corners of the Internet about firmware bugs in the 650. So far from my experiments with it, I can say that a lot of the rumors are unfounded. Except for the two incidents described above -- both of which were cases where I presented "abnormal" inputs to the unit -- the 650's firmware performed as designed. Why did it crash when I routed the white noise to the EXT CLK jack? I'm not sure, but my guess is that the 650's CPU handles external clock input using the "interrupt" capability built into the CPU (that would be one way of assuring minimum latency in responding to the clock signal). White noise is broad-spectrum; my guess is that the white output of the source I used (MOTM-101 sample and hold) goes up to at least 15 KHz, which is a heck of a lot faster than anything you'd ever want to use as an arpeggiator clock. I ran into a problem on a work project, some time ago, where a small CPU like the one in the 650 was getting bombarded with interrupt signals at a far higher rate than it was intended to handle. Because the firmware was unable to dispatch the interrupts as fast as they came in, eventually it ran into a condition called "stack overflow" which caused a crash. My guess is that the 650 had something similar happen to it. I wonder: is the interrupt for that EXT CLK jack enabled all the time? And if so, does the jack normal to ground when there's nothing plugged in? Possibly, in dry weather, the jack picks up static or RF from the air. Here in Alabama, it's pretty humid most of the time, so we don't have too many problems with static or corona discharge. I should get out a function generator and see how fast I can clock it before it crashes. Sounds like a science project for next week.

As for "normal" use of the 650, though, I've already noted a number of interesting possibilities just going through the experiments that I used to compose these articles. Yes, it's definitely a keeper, and it's going to be used in my setup a lot.

No comments: