You are here

Interactive Phrase Synth; Merging MIDI Parts; Steinberg LM4

Cubase Technique By Paul Sellars
Published May 2001

The IPS window, as it appears in Cubase 3.1 on the Atari ST.The IPS window, as it appears in Cubase 3.1 on the Atari ST.

This month's Cubase Notes introduces more features of the Interactive Phrase Synth, offers some handy hints on merging MIDI Parts, and provides some words of bitter experience on creating your own instruments in Steinberg's LM4 drum machine.

Last month we introduced one of the less commonly used features of Cubase, the Interactive Phrase Synth (IPS). You'll recall that the IPS is a MIDI processor not unlike a complex arpeggiator, which takes note data from an existing Part or Track and uses it to generate new musical phrases and motifs in response to 'real time' input from the user. Its output can be recorded to MIDI tracks, making it a potentially useful compositional tool when you're short of new ideas.

To use the IPS you must first load it (from the Modules menu in earlier versions of Cubase, or from the Panels menu in current versions) and then give it a Phrase to work with. This is simply a matter of selecting either a whole Part in the Arrange window, or some notes in one of the Edit windows, and choosing Copy to Phrase from the Modules menu (in earlier versions) or Convert to IPS Phrase from the Functions menu (in current versions).

Once you have created a Phrase, the different functions of the IPS can be used to generate new variations, and these can be controlled by input from your MIDI keyboard, and by real‑time manipulation of the IPS's various controls.

In last month's column we started with a simple C major scale as our example Phrase, and saw how the controls in the Pitch and Rhythm sections of the IPS can be used to create variations by forcing the original Phrase to a new scale or key, or by changing its quantise resolution. We also saw how the Modulator 1 and Modulator 2 sections of the IPS provide software 'LFOs', which can be patched to dynamically alter settings elsewhere in the IPS, and so create more interesting and unpredictable variations on your original Phrase.

So far so good. Now, however, it's time to look at the theory behind some of the IPS's other, potentially more confusing functions...

As before, create a Part one bar long and enter a C major scale in eighth notes starting from C3. Choose Select All from the Edit menu, followed by Copy to Phrase from the Modules menu (Convert to IPS Phrase on the Functions menu in later versions of Cubase). Next, open the IPS (you can delete the Part you've just programmed) by selecting Phrase Synth from the Modules menu (or the Panels menu in later versions) and click the Init button to reset the IPS, followed by Active to activate it. Finally, switch off IPS B: we won't be needing it. Pressing a key on your MIDI keyboard should now cause the major‑scale Phrase you've programmed to loop continuously, transposed to correspond with whichever key you press.


Steinberg offer this editing program for LM4, but not everyone has managed to get it working properly!Steinberg offer this editing program for LM4, but not everyone has managed to get it working properly!

Thus far we have been treating the IPS as if it was effectively monophonic, but this is not the case: you can also play chords into it and, depending on the settings, it can react in some quite interesting ways.

Hit middle C and the IPS will play the ascending major scale Phrase, starting from middle C, just as you would expect. However, play a C major chord (C3, E3 and G3) and it responds by playing an ascending G major scale, starting from G3. If you look, you'll notice that this is because, in the MIDI Input section on the left‑hand side of the IPS window, Highest Note is selected in the drop‑down menu labelled Sort. This is one of six available Sort modes, which tell the IPS to respond to polyphonic input:

  • Lowest Note: The Phrase is played starting from the lowest note in any chord you play.
  • Highest Note: The Phrase is played starting from the highest note in any chord you play.
  • Lowest Velocity: The Phrase is played starting from whichever note in a chord was played most softly (ie. with least velocity).
  • Highest Velocity: The Phrase is played starting from whichever note in a chord was played most loudly (ie. with most velocity).
  • First Note: The Phrase is played starting from whichever note in a chord has its key pressed first.
  • Last Note: The Phrase is played starting from whichever note in a chord has its key pressed last.

New Modes

Thus far things should be reasonably clear. However, matters are complicated by the fact that the meaning of the value in the Sort menu varies according the value selected in the Mode menu of the Interpreter section (immediately above the MIDI Input section). By default (ie. after the Init button has been used to initialise the IPS) the Interpreter mode is set to Transp. Ret (Transpose and Retrigger), which simply means that playback of your chosen Phrase will be (a) retriggered each time you hit a key and (b) transposed to the pitch of whatever key you hit. When you play polyphonically with this setting, as you can see above, the Sort mode selected in the MIDI Input section controls the finer points of what actually happens. However, choosing other Interpreter mode settings produces different results:

  • Transp. Cont: Transpose and Continue is very similar to Transp. Ret. except that whereas with the latter the Phrase is played over again from the beginning each time a key is pressed, with the former playback of the Phrase continues from the last note that was reached before the key was released. So, if a key was released after the third note in a Phrase had been reached, playback would continue from the fourth note in the phrase next time a key was pressed, regardless of whether or not the Phrase had been transposed in between.
  • Sort Normal: This is the first of three modes which take advantage of the peculiar way the IPS handles note data in Phrases. This basically involves assigning a unique number to each new note that is encountered as a Phrase is read from start to finish. So, if a Phrase contains the notes C3, D3, E3, C3, F3 and C3, the IPS will assign the numbers 1, 2, 3, 1, 4, 1 to them. Notice that the number 1 occurs three times, since it is assigned to the note C3 on its first occurrence, and continues to be used to represent every subsequent occurrence.

When Sort Normal is selected as the Interpreter mode and (for example) Highest Note is selected in the Sort menu, the IPS responds to any notes received via MIDI by doing three things. Firstly, it assigns a unique number to each new note it receives (just as it does with notes in Phrases). Secondly, it compares the resulting list of numbers to the list of numbers that were assigned to the notes in the active Phrase. Thirdly, where the two lists feature matching numbers, it plays notes from the Phrase, transposed to the pitches received via MIDI.

Consider an example. If a Phrase consisted of the notes C3, D3, E3, C3 and F3 (numbered by the IPS as 1, 2, 3, 1, 4, 1) and if the input from a MIDI keyboard consisted of a chord containing the notes D2, E2 and F2 (numbered by the IPS as 1, 2, and 3), then the IPS would play the notes F2, E2 and D2 in sequence (ie. highest note first) and phrased the same way as the first three notes in the active Phrase. This is because the list of numbers assigned to the notes in the Phrase, and the list of numbers assigned to the notes received from the MIDI keyboard would both contain notes numbered 1, 2 and 3. The input from the MIDI keyboard would not, however, contain a note numbered 4, and so the fourth and any subsequent notes of the Phrase would be ignored.

  • Sort Replace: This setting works in a similar way to Sort Normal. However, while Sort Normal plays no notes when there is no match between the numbers assigned to the notes in the Phrase and the numbers assigned to the notes received via MIDI, Sort Replace works by replacing all unmatched‑numbered Phrase notes with whichever MIDI note has been assigned the number 1. To put it another way, Sort Normal leaves gaps or rests in IPS playback, while Sort Replace fills in these gaps.
  • Sort Skip: This setting is similar to Sort Replace except that while Sort Replace attempts to fill the gaps that occur when fewer notes are received via MIDI than there are in the Phrase, Sort Skip simply jumps ahead whenever it encounters an unmatched‑numbered note in the Phrase, thereby closing up any gaps.
  • Mute Play: This setting is quite different from those described above. Basically it works by comparing the pitch of Phrase notes with the pitch of notes received via MIDI, and playing only those notes that match and occur simultaneously.
  • Repeat: This setting simply takes all notes received via MIDI and plays them, in accordance with the setting selected in the MIDI Input Sort menu, and with the same rhythm or phrasing as the notes in the active Phrase.

Suck It And See

As you can see, there is no shortage of options to experiment with in the IPS, and it is quite impossible to cover them all, even in a two‑part Cubase Notes series. However, hopefully these last two articles will have provided you with enough information to know which functions are most likely to help you achieve the results you have in mind. Many of the IPS's functions are much harder to explain in words than they are to use in practice, and I would encourage anybody who finds that trying to understand the theory behind them is just too baffling to simply wade in and start experimenting hands‑on. After all, as its name suggests, the key to getting the best out of the IPS is to interact with it. Have fun. Paul Sellars

Merging Parts

Part merging can be a real time‑saver when it comes to adding new notes or events to existing Parts. Imagine, for example, that you have carefully programmed and arranged drum parts throughout a Song, only to decide that you want to add a ride cymbal pattern on the last two choruses. Rather than step‑programming or overdubbing the new pattern into each Part by hand, simply create a new Part containing just the ride cymbal pattern on its own and then, whilst holding down Ctrl and Alt, 'drag and drop' it onto each Part you want the new pattern added to. The contents of the new Part are copied and merged into the existing Parts in the time in takes to release a mouse button! (Note: you must have the Record Mode set to 'Overdub' for Part merging to work. If 'Replace' is selected, the contents of the existing Parts will be replaced by the new Part!) Paul Sellars

Creating LM4 Instruments

I recently installed Steinberg's LM4 soft drum machine, thinking of the convenience of having my rhythms generated within Cubase with automated parameter changes, and output on individual tracks for processing. I wasn't disappointed about the benefits in convenience terms, but although the supplied drum sounds are pretty good, I still found myself wanting to use the old percussion programs I'd lovingly compiled in Unity DS1. 'Aha!' thinks Muggins. 'I'll just take the same samples and create my own LM4 instrument.'

Now, as those who have tried it and those who have read Martin Walker and Paul Ward's review in SOS July 2000 will know, it ain't as easy as that. You can download a freeware Mac and PC editor from Steinberg's web site at‑edit.phtml?sid=06819089, but you can also create instruments using scripts — text files which can be edited in any text editor or word processor.

Foolishly, I thought I'd give this a go, and set about creating a script which would reference all the samples I wanted to use. I quickly found that the supplied documentation was rather thin, and only after much trial and error did I get my instrument working. Here's a few pointers I picked up in between tearing out clumps of hair...

  • It doesn't matter what order your script lists the drums in. Each pad has an index number from 1 to 18, and the samples are simply assigned to whichever pad your script indexes them to. When you load your instrument into LM4, however, it reads each drum from the beginning of the script, rather than in order of what index number is given to them. If a sample is indexed that it can't find, LM4 simply stops loading and ignores the rest of the script. If you've written a script that doesn't work properly, then, you can deduce that the place where you've made a mistake is either in the last drum that LM4 correctly loads, or the first one that it doesn't.
  • Your script must index the names of every sample perfectly, although LM4 will tolerate spaces before the name. The main cause of my frustration turned out to be some samples which seemed to have spaces in the names. I couldn't get LM4 to recognise them at all, and eventually worked out that this was because what looked like a space in the file name, and what became a space when I pasted from the file name into my text editor, was actually some other character masquerading as a space! I had to rename all these files with 'real' spaces to get LM4 to load them.
  • LM4 won't read Sound Designer II‑format files.

Sam Inglis

Buy Related Tutorial Videos