Welcome to No Limit Sound Productions

Company Founded
2005
Overview

Our services include Sound Engineering, Audio Post-Production, System Upgrades and Equipment Consulting.
Mission
Our mission is to provide excellent quality and service to our customers. We do customized service.

Wednesday, September 8, 2021

Logical Editor

The Logical Editor is made up of three basic parts: the Function Menu, the Filter Condition List, and the Action List. The black status lines underneath the two List boxes show an overview of the expression you're describing with the commands in the respective List, indicating an error if you make a mistake.The Logical Editor is made up of three basic parts: the Function Menu, the Filter Condition List, and the Action List. The black status lines underneath the two List boxes show an overview of the expression you're describing with the commands in the respective List, indicating an error if you make a mistake.

Cubase contains many powerful features for processing MIDI data, such as the Logical Editor and Macros. This month we look at how using them together can create some powerful solutions to potentially tedious problems.

The Logical Editor has been a part of Steinberg's sequencing software products since the days of Pro 24 on the Atari, and its latest incarnation in Cubase SX/SL/SE remains a powerful way to process MIDI data. We've covered an introduction to the Logical Editor in previous editions of SOS, so for a complete refresher, you might want to check out May 2003's Cubase Notes. However, I'm going to start this month's Cubase workshop with a brief overview of the Logical Editor and cover a few points not described in the previous article, in addition to covering some of the same ground for new users. The first example will also be the same, so beginners can read a more in-depth explanation, making this article backwardly compatible if you will(!); after that we'll look at some more complex examples.

Not Quite Aristotle

The basic principle of using the Logical Editor window is fairly straightforward. As with most off-line MIDI processing operations in Cubase, you can use the Logical Editor to process MIDI Parts in the Project window, and in this case you need to specify the MIDI Parts you want to process by selecting them and choosing MIDI / Logical Editor to open the Logical Editor window. Bear in mind that the Logical Editor option will be disabled in the menu if the MIDI Parts you've selected don't contain any MIDI Events to be processed.

You can also use the Logical Editor to process MIDI data in a MIDI editor window. If you have an open MIDI editor displaying MIDI Events with nothing selected, the Logical Editor will process all MIDI Events in the MIDI Part (or Parts if you're displaying multiple Parts in the editor window and have Edit Active Part Only disabled on the editor's toolbar). If you have Events selected in the MIDI editor, only these Events will be considered by the Logical Editor.

The Logical Editor window contains three main elements: the Function Menu, the Filter Condition List, and the Action List. The Filter Condition List specifies which events should be processed, the Action List specifies how the events should be processed, and the command selected in the Function Menu defines the mode of operation for the Logical Editor and precisely how the Filter Condition and Action Lists should be used. There are seven different commands available from the Function list:

  • Delete erases all events specified by the Filter Condition List.
  • Transform is the default (and most commonly used function) and modifies the events in the Filter Condition List by the actions defined in the Action List.
  • Insert is similar to Transform, but instead of the filtered notes being modified to produce a different Event, the original Events are kept and the transformed Events are created as new, separate Events.
  • Insert Exclusive is, again, based on Transform, except that notes that do not meet the conditions specified in the Filter Condition List are deleted. Unlike the standard Insert function, this one creates no new Events.
  • Copy is like Insert, but instead of the newly transformed Events being created in same Part on the same track, the new Events are added to a new MIDI Part on a new MIDI track.
  • Extract is similar to Copy, except that any Events matching the Condition List are deleted and the transformed versions are created in a new MIDI Part on a new track.
  • Select selects any Events that match the Filter Condition List (and if any Events were already selected, deselects any that don't match the condition); the Action List is ignored.

Here is the Logical Editor window showing the preset for transforming the second velocity layer, as described in the main text.Here is the Logical Editor window showing the preset for transforming the second velocity layer, as described in the main text.The Filter Condition List is made up of a series of Lines, where each Line represents one expression that is part of the overall condition (if you have multiple Lines). A Line basically consists of a Filter Target, a Condition, and some data that is in one or more of three columns: Parameter 1, Parameter 2 and Bar Range, although these data columns are never used simultaneously. The Filter Target is a general category, such as a type of Event, the first data property, the length, and so on; the Condition is what evaluates the Filter Target against the data, such as Equal, Unequal, All Types, and Greater Than; and, finally, the data column specifies what the Filter Target should identify. For example, if you were looking for all notes, set Filter Target to Type, Condition to Equal, and Parameter 1 to Note.

Each Line in the Filter Condition List can only evaluate one Filter Target against one element of data, so if you wanted to find all notes equal to C3, you couldn't simply add a note pitch in the Parameter 2 column of the Line I just described. To do this would require two expressions — type is equal to note, and pitch is equal to C3 — so you'll need two Lines in the Filter Condition List. Add another line by clicking the Add Line button next to the upper List and then, on the second Line, set the Filter Target to Value 1 (which should automatically change to Pitch in the Line), make sure Condition is set to Equal, and set Parameter 1 to C3.

The Action List is very similar to the Filter Condition List in that it comprises a series of Lines that tell the Logical Editor what to do with the Events identified by the Filter Condition List. Each Line is again split up into several columns: an Action Target, an Operation, and some data (Parameter 1 and Parameter 2). Action Target specifies which part of an Event should be processed, whether it's the type, a property or value (such as pitch); Operation sets what you want to do to the Action Target, such as add, set it equal to something, and so on; and the data specifies what the Operation applies to the Action Target. For example, to transpose found notes up an octave, the Action Target would be Value 1, Operation would be Add, and Parameter 1 would be 12 (semitones).

Additional Lines can be added to (or deleted from) the Action List, but bear in mind that while each Line in the Filter Condition List is an expression of one overall condition, each Line in the Action List operates independently, one after the other, like a recipe. So if you had two Lines that were both 'Value 1 Add 12', this would be the equivalent of one Line that states 'Value 1 Add 24'.

Once you've set the Function of the Logical Editor, specified the Events to operate on with the Filter Condition List, and set up what happens to the identified Events with the Action List (unless you've chosen Select as your Function), you press the Do It button for the Logical Editor to work its magic.

Cubase News

Hypersonic 2 features an updated user interface that allows full access to all the parameters of the underlying sound engine.Hypersonic 2 features an updated user interface that allows full access to all the parameters of the underlying sound engine.Of interest to Cubase users this month will be Steinberg's announcement of Hypersonic 2, an update to the popular virtual workstation released by Steinberg and Wizoo at the end of 2003 (reviewed SOS February 2004). Although the original point of Hypersonic was to be an economical all-purpose sound source that you could get good results with even if you were using an older computer system, many people wanted the gigabyte sound library to compete with products like IK Multimedia's Sampletank. So Hypersonic 2 comes with a 1.7GB sample library (up from the original 250MB content) with 800 new patches and revised versions of the original 1000 presets supplied with Hypersonic 1.

Hypersonic 2 also includes Hyperphase, a rather good polyphonic arpeggiator that includes 200 phrases, and the ability to import your own as a Standard MIDI File. What's more, the updated user interface makes it possible to edit every parameter in Hypersonic's different sound engines, which you couldn't do in the previous version. One user interface change I didn't like so much was that the semi-circle value displays in the Mix page of version 1 have been replaced with more traditional horizontal rectangular bars, which personally I didn't find so effective — but if that's the only gripe I have, it's probably not a serious criticism of the product!

15-To-1

I recently encountered a curious problem when a composer I was working with needed to use newer versions of some multisampled orchestral instruments, featuring many velocity layers, which were being played back via MIDI from various Cubase Projects. The composer in question is a meticulous programmer and had balanced the velocity layers very precisely so the appropriate samples within the instrument were triggered; but in the newer versions of the instruments the velocity ranges had changed, even though the samples were the same. So the problem was how to rebalance the velocities used for notes that had been programmed with one version of the instrument so they would play back using the same samples in the new versions. And since the Cubase Projects that needed altering were large and numerous, this was definitely a job for the Logical Editor.

One of the instruments in question had six velocity layers and the old version had these velocity layers programmed with the following splits: 0-30, 31-52, 53-74, 75-98, 99-113 and 114-127. And as I explained, the new version had the velocity layers programmed slightly differently, so the new splits were as follows: 0-80, 81-90, 91-100, 101-110, 111-120, and 121-127.

Cubase's Logical Editor is a great way of processing MIDI data, but its Transform feature is only capable of transforming one condition into one result. An example of one condition would be 'find all the velocities between 0 and 30' and an example of one result would be 'scale these velocities to 0 and 80'. If I had multiple conditions for different velocity layers, they'd all have to be processed by the same Action List, so all velocities would end up between 0 and 80, which would be useless. Therefore, each velocity layer transformation has to be dealt with using a separate Logical Editor operation; so what we'll end up learning here is how to combine multiple Logical Editor operations into one command to create more powerful (and convenient) Logical Editor commands.

Once you've created Logical Presets, you can combine them together into one command by creating a Macro in the Key Commands window.Once you've created Logical Presets, you can combine them together into one command by creating a Macro in the Key Commands window.The first step is to open the Logical Editor window by selecting MIDI / Logical Editor. Start by selecting the Init Preset (click on the Presets pop-up menu and choose 'init') to make sure any previous operations in the Logical Editor are reset, and make sure that the Transform Function is selected. The first Line in the Filter Condition List should read '(Type Is Equal Note)', and next we need to set the range for the incoming velocities by adding two further Lines to the List, clicking the Add Line button twice.

Set the Filter Target for the lower two Lines to 'Value 2' by clicking underneath the column in the appropriate row and choosing 'Value 2' from the pop-up menu. Once you make the selection, you should notice how Cubase will display this entry as Velocity in the Line. Next, set the Condition on the second row to 'Bigger or Equal' and the third row to 'Less or Equal', and enter the velocity boundaries for the first velocity layer (0 and 30) as Parameter 1 on the second and third rows.

Now the Filter Condition List has been set, we need to set up the operation to scale velocities between 0 and 30 to 0 and 80 instead. To do this, on the first Line of the Action List, Action Target should be set to Value 2, Operation to Multiply by and Parameter 1 to 2.67. To get this scaler value (2.67) you divide the range of velocities in the destination (80) by the number of velocities in the source (30), and I rounded the result to two decimal places, which is easily accurate enough for the seven-bit integer values used to describe velocity in the MIDI protocol. And that's it. Store the Preset by clicking Store, entering a name, and clicking OK, and we have a Logical Editor operation that can scale velocities between 0 and 30 to 0 and 80.

Creating an operation to scale the next velocity layer is almost the same: the process of setting up the condition is identical, except Parameter 1 in the lower two rows should now be 31 and 52 to represent the range of the second velocity layer. The most significant change this time is that the Action List is a little more complicated, because we need to first subtract the lowest velocity (31) from the velocity of the note we're processing, so we can scale the velocity correctly, and then add the value of the lowest velocity for the new instrument to this number so that it's put back into the correct range again. Therefore, the Filter Condition List should now consist of three Lines: 'Value 2 Subtract 31', 'Value 2 Multiply by 0.43', and 'Value 2 Add 81'. 0.43 is the scaler because it's the division between the range of velocities in the old second later and the range in the new second layer ((90-81=9)/(52-31=21)=0.43).

So now we have two Logical Editor Presets to deal with the first two velocity layers, and by substituting the numbers from the remaining velocity layers you should be able to build presets for the other transformations, as they're all based on the second layer Filter Condition and Action lists described in the previous paragraph.

Countdown

Once you've finished, you'll have ended up with six different velocity layers with which to process each MIDI note where you want to rescale the velocities. To execute all these operations simultaneously you can build a Macro (which we covered in January 2003's Cubase Notes), as Logical Editor Presets appear in the Process Logical Preset Key Commands category. The important thing is that the Presets are run in reverse order, so you process the highest velocity layer first — otherwise, each Preset would operate on the results of the previous operation, so a small velocity could end up scaling to 127 if you weren't careful. By running the Presets in reverse order, there's less chance of this happening.

So to build the Macro, open the Key Commands window (File / Key Commands), click Show Macros, click New Macro, type in a name for the Macro and press Enter. Find the Logical Presets you created in the Process Logical Preset category in the Commands list and select the first Command to add to the Macro (the last Preset you created, the one to process the highest velocity layer). Now, click the Add Command button to add that Logical Preset to the Macro, and then repeat this process for the rest of the Logical Presets. When you've finished, you can assign a Key Command to the Macro itself if you want, or just click OK to close the Key Commands window.

If you haven't assigned a Key Command, you can run the Macro by selecting it from the Edit / Macros submenu — just remember to have some MIDI Event selected before you run the Macro, and also to make sure the Logical Editor window itself is closed. Triggering Logical Editor Presets via Key Commands or Macros with the Logical Editor window open will select those Presets for editing in the Logical Editor rather than actually running the process on available MIDI data.

Hopefully this will have helped you to get a better handle on the Logical Editor, and will have made you think about the possibilities of combining Logical Editor Presets with Macros. Join me next month for some action in the exciting world of Boolean operators...  



Published January 2006

Monday, September 6, 2021

Q. What determines the CPU reading in Cubase SX?

By Martin Walker

I remain baffled by the CPU load in Cubase SX 2 (as shown in the VST Performance indicator). I'm particularly curious to know why in my larger projects the indicator shows a constant load (typically 80 percent or more) even when I'm not playing anything back! What exactly is the CPU doing when nothing is happening in the project? My projects typically have 15 to 25 audio tracks, five to 10 virtual-instrument tracks and a couple of MIDI tracks, with five or so group channels and maybe a couple of FX Channels. Some of the channels have an insert effect or two, typically a compressor or gate, and there's a couple of aux channels for send effects.

SOS Forum Post

PC music specialist Martin Walker replies: When Cubase isn't playing back, the CPU overhead is largely down to the plug-ins, all of which remain 'active' at all times. This is largely to ensure that reverb tails and the like continue smoothly to their end even once you stop the song, and it lets you treat incoming 'live' instruments and vocals with plug-ins before you actually start the recording process. However, this isn't the only design approach — for instance, Magix's Samplitude allows plug-ins to be allocated to individual parts in each track, which is not only liberating for the composer, but also means that they consume processing power only while that part is playing.

Freezing tracks, adjusting the buffer size and using single send effects instead of multiple inserts can all help reduce CPU overhead.Freezing tracks, adjusting the buffer size and using single send effects instead of multiple inserts can all help reduce CPU overhead.

Of all the plug-ins you'll be using frequently, reverbs are often the most CPU-intensive, so make sure you set these up in dedicated FX Channels and use the channel sends to add varying amounts of the same reverb to different tracks, rather than using them as individual insert effects on each track. You can do the same with delays and any other effects that you 'add' to the original sound — only those effects like EQ and distortion where the whole sound is treated need to be individually inserted into channels.

The other main CPU drain for any sequencer when a song isn't playing back comes from software synths that impose a fixed overhead depending on the chosen number of voices. These include synth designer packages such as NI's Reaktor and AAS's Tassman, where their free-form modular approach makes it very difficult to determine when each voice has finished sounding. However, fixed-architecture software synths are more likely to use what is called dynamic voice allocation. This only imposes a tiny fixed overhead for the synth's engine, plus some extra processing for each note, but only for as long as it's being played.

If you use a synth design package like Reaktor or Tassman, try reducing the maximum polyphony until you start to hear 'note-robbing' — notes dropping out because of insufficient polyphony — and then increase it to the next highest setting. This can sometimes drop the CPU demands considerably. Many software synths with dynamic voice allocation can also benefit from this tweak if they offer a similar voice 'capping' preference.

Anyone who has selected a buffer size for their audio interface that results in very low latency will also notice a hike in the CPU meter even before the song starts, simply due to the number of interrupts occurring — at 12ms latency the soundcard buffers need to be filled just 83 times a second, but at the 1.5ms this happens 667 times a second, so it's hardly surprising that the CPU ends up working harder. For proof, just lower your buffer size and watch the CPU meter rise — depending on your interface, the reading may more than double between 12 and 1.5ms. You'll also notice a lot more 'flickering' of the meter at lower latencies. If you've finished the recording process and no longer need low latency for playing parts into Cubase, increase it to at least 12ms.

Finally, if some of those audio or software synth tracks are finished, freeze them so that their plug-ins and voices no longer need to be calculated. Playing back frozen tracks will place some additional strain on your hard drive, but most musicians run out of processing power long before their hard drives start to struggle.  


Published February 2006

Friday, September 3, 2021

Creative Use Of Effects Within Cubase SX

As described in the main text, SX provides very flexible routing options when using audio effects.As described in the main text, SX provides very flexible routing options when using audio effects.

The world is awash with plug-in audio effects, but don't miss out on those included within Cubase SX — there are some excellent creative possibilities on offer.

Far be it from me to admit to a touch of 'sequencer envy', but one of the things I've enjoyed most about the new DVDs that have accompanied SOS every few months has been Paul White's practical and creative tips on using the audio effects built into Logic, as demonstrated in the 'Experimental Guitar Processing' and Studio SOS pieces on November's DVD002 [Note: these DVDs have long-since sold out]. As an ex-Logic user (I switched to SX soon after Apple took over Emagic), the only area of SX that has ever left me with any regrets has been that of the bundled audio effects plug-ins where, frankly, Logic's offerings seem a little slicker, certainly in appearance. However, Steinberg's more recent additions — such as the Tonic filter and Roomworks reverb — are certainly impressive to look at. And anyway, it is the sounds we should be interested in rather than the looks. So, inspired by Paul's examples using Logic, what sort of creative sound manipulation possibilities are possible with the audio effects supplied with SX, and what is the best way to configure SX to experiment with these effects?

On The In

The Chopper plug-in using the Swirl preset to provide a smooth tremolo effect.The Chopper plug-in using the Swirl preset to provide a smooth tremolo effect.

While there are an almost unlimited combination of effects that you might wish to apply if you come over all experimental with your audio, perhaps the first decision that requires some thought is the position within the signal chain to place them: either you can record your audio through them, so that you can hear the effects as you play and/or sing a part into SX; or, alternatively, you can record the audio first and then apply the effect as part of the mixing process. Fortunately, SX, like most modern sequencers, offers plenty of flexibility to accommodate both of these situations. As Paul demonstrated in his Studio SOS piece with Bella Saer, there is all sorts of fun to be had with effects applied at the input stage, so let's start there...

Provided that you have a system that can achieve reasonably low audio latency, perhaps the biggest advantage to being able to hear the effects as you play and record a particular part is that you can adjust your playing to interact with the effects — essentially, you are 'playing' the effects as an element of the musical performance. However, depending upon how you route the audio through the SX mixer, you can either 'print' the effects (that is, record them as part of the audio track) or you can simply monitor them as you play, recording the performance 'dry'. This latter route offers greater flexibility as the same effects can then be applied to the part during the mixing stage, but you can continue to fine-tune them so that they work to their best within the complete musical arrangement. By the way, before attempting the examples described below, it is probably best to switch off any Direct Monitoring provided by your audio interface.

Add a touch of wah-wah with Metalizer.Add a touch of wah-wah with Metalizer.

These different approaches can be illustrated via the Mixer screenshot above. This shows a simple SX Mixer with two input channels, three audio tracks, an FX channel and the stereo output channel. If we wished to simply record the effects as part of the audio track, then a combination of Input Channel two and Track one would be most suitable. Here, a series of effects have been placed as Inserts on the input channel. (I'll come back to this particular set of effects in a minute but, for the moment, let's concentrate upon the audio routing.) In order to hear the effects, the Monitor button (the small speaker icon located next to the track's Record button within both the Mixer and the Arrange windows) needs to be engaged. This enables software monitoring and, as this means your audio is passing through SX and the various effects, before being sent via the SX outputs to your amp and speaker monitor system, it really requires a computer system capable of fairly low latencies — although, these days, almost all modern Macs and PCs with suitable soundcard/driver combinations ought to be up to the task. Anything that is recorded to Track one will then be 'as heard' — including all the effects.

If you would rather just monitor the effects with a view to being able to fine-tune them later as part of the mix process, then two alternative signal routings are available. If Track two is armed for recording and the Monitor switch engaged, the insert effects placed on this channel of the mixer will be heard as you play, but only the 'dry' signal will be recorded. On playback, the insert effects are applied again, so the end result is identical to what was heard when recording the original performance. The advantage is, however, that the effects can subsequently be tweaked if some adjustment is required.And top it off with some warm overdrive via the Tonic filter.And top it off with some warm overdrive via the Tonic filter.

If you wish to apply the same series of effects to several audio tracks, placing them as a series of inserts into those tracks is obviously going to chew up further CPU resources. In this case, it is more efficient to use the combination shown in Track three and the FX Channel. Here, Track three has its Monitor switch engaged and its first Send control is routing the signal to the FX Channel. Again, the dry signal is recorded and, on playback, the dry signal is again sent to the FX Channel so that the effects are re-applied. This effects chain could, however, also be used to serve any other audio tracks that require the same processing options, saving replication of the effects plug-ins (and therefore CPU grunt) within each track.

There is one other thing worth noting about Track three; the Send has the 'pre-fader' switch activated (illuminated orange). This means that the amount of the input signal fed to the FX Channel is controlled only by the FX send control and it is totally independent of the main channel fader. This is helpful, as it means that the channel fader can be used to set an appropriate balance between the dry signal and that produced by the effects chain. Lowering the channel fader to the bottom of its travel will therefore, effectively mute the dry signal so only the output from the effects will be heard — great if you are after something a little more extreme!

Going Free

One of the examples Paul White used in his Studio SOS visit to Bella Saer was chaining a pitch-shifter (set to plus one octave) and reverb to process a guitar input. This produces an almost ghostly, synth-like sound that can sit behind the guitar part. While SX features excellent pitch- and tempo-shifting for off-line processing of audio, unfortunately it does not feature a dedicated pitch-shifter plug-in for real-time use. Of course, SX users should not despair, or feel envious of their Logic-using friends — there are plenty of third-party pitch-shifters (and an almost endless supply of other) plug-ins available via the web. And if you are happy to deal with the occasional bit of flaky coding(!), there are all sorts of freeware and shareware VST plug-ins to be downloaded.

While a quick search on Yahoo or Lycos will soon turn up a host of possible links, a couple of suitable starting points would be the software sections of Harmony Central (www.harmony-central.com/Software) or the KVR Audio web site (www.kvraudio.com). The latter is dedicated to information and news on all forms of audio plug-ins, whether they be VST, DirectX or Audio Units. It includes plenty of interesting and useful information and links to both commercial and shareware/freeware plug-in effects.

On The Chain Gang

So much for the routing, what about the effects themselves? The example included in the main screenshot is based upon a chain of ChopperMetalizerTonicRoomworks and Dynamics plug-ins. This is a combination that I find can work really well with a guitar input but, if the dry guitar signal is kept at a low level (using the Track three/FX Channel combination described above), some very synth-like sounds can be created. In this chain, Roomworks and the Dynamics module are simply being used to provide a little ambience and to add a noise gate to clean up the output — the bulk of the 'sound' is provided by the Chopper (giving a smooth tremolo effect), Metalizer (creating a wah-wah effect) and Tonic (adding some overdrive) plug-ins.

Place the MIDI Gate plug-in as an insert effect on the audio track that you want to process.Place the MIDI Gate plug-in as an insert effect on the audio track that you want to process.

Set the MIDI output to MIDI Gate for the MIDI track used to control the MIDI Gate effect.Set the MIDI output to MIDI Gate for the MIDI track used to control the MIDI Gate effect.As shown in the individual screenshots, all three are based upon presets supplied by Steinberg. Both Chopper and Metalizer are being sync'ed to the Project tempo, although at different values (1/16 and 1/1 respectively). The result of this lot is a very rhythmic sound with plenty of movement in the stereo image and a nice warm overdrive. If you completely remove the dry guitar sound, this chain works well with muted arpeggios, sustained power chords or rapid strumming — just watch the final output levels from the FX Channel so that no nasty clipping reaches your speakers. Incidentally, the Drive preset for Tonic is a nice starting point for warming up any sound requiring a touch more grit — not a substitute for a dedicated amp modelling plug-in such as Amplitube perhaps, but, as with Quadrafuzz, well worth experimenting with nonetheless. Tonic can also achieve tremolo-style 'chopping' effects on its own — just check out some of the other presets.

Top Chopper

The routing option using Track three and a send to the FX Channel is, of course, exactly how you would configure things if you wished to apply some processing to pre-recorded audio during a mix — perhaps just to spice it up a little or perhaps just to see if something conventional such as a guitar or synth part could be suitably mangled to create something a little more off-the-wall.

If you want more control over the type of tremolo-style effect described above, perhaps SX's best weapon is the MIDI Gate plug-in. With any sustained part (perhaps a pad sound or sustained power chords from a guitar), this can be used to create some fantastic rhythmic effects from an audio track. The end result is not unlike that of the Chopper in that a range of tremolo effects are created by the opening and closing of a noise gate. However, with MIDI Gate, the rhythm of the gate's opening and closing is totally controlled via MIDI notes — either from a pre-recorded MIDI track or via live playing from a MIDI input. To make this work requires a number of steps. First, the MIDI Gate plug-in (found alongside SX's Dynamics plug-ins) needs to be placed as an insert effect in the audio track to be processed. Next a MIDI track needs to be created and, via the Inspector, the output of the MIDI track needs to be set to MIDI Gate. If the MIDI track is then selected, once playback is started, any MIDI notes arriving at the MIDI input are used to control the action of the gate, effectively 'chopping' the part on the appropriate audio track.

The MIDI Gate plug-in itself.The MIDI Gate plug-in itself.The MIDI Gate screenshot shows all the controls at zero. With these settings a MIDI Note On message instantly opens the gate while a MIDI Note Off message instantly closes it. This is great for creating strong rhythmic patterns from a simple pad sound. Of the various controls, one in particular is worth experimenting with for slightly different effects. With the Velocity To VCA control set to zero, the gate is either fully open or fully closed when a MIDI note is played and then released. This means that, when open, the loudness of the audio heard is controlled only by the loudness of the original recording. However, as the Velocity To VCA control is shifted further to the right (towards a maximum value of 127), the degree to which the gate opens becomes increasingly controlled by MIDI note velocity — essentially, the MIDI input to the gate is controlling both when the audio is played and its loudness; play softly on the MIDI keyboard driving the gate and the audio will be quieter when the gate opens; play at higher MIDI velocities and the gate will open more fully giving louder output. With a suitable pad sound, this can produce some excellent additional expressive control.

Can I Have More, Please?

Of course, given the range of plug-ins provided with SX, there are plenty of other possibilities for creative, rather than corrective, use of audio effects. This is certainly a topic that can be returned to in a future Cubase column. Hopefully, however, with the various routing options described above and the two short examples provided to whet your appetite, you will be encouraged to get creative and do some experimentation for yourself. A final word of warning — just be careful out there. When exploring the wilder side of any audio plug-in effects chains, do tread carefully with your use of the various filters until you are sure what is happening — don't blow your ears or your speakers! 

Tiny Tips

The Use Up/Down Navigation Commands For Selecting Tracks Only option makes track selection using the cursor keys more straightforward.The Use Up/Down Navigation Commands For Selecting Tracks Only option makes track selection using the cursor keys more straightforward.The Cubase SX 3.1 update has been with us for a little while now, but I'm still finding all sorts of useful things within the new features added. What might appear to be one of the most modest is actually one that I have found most useful. Under the Editing section of the Preferences dialogue, there is now a Use Up/Down Navigation Commands For Selecting Tracks Only option. Selecting this option means that the up/down arrows on the computer keyboard only cycle through the tracks within the Arrange window, rather than also moving between individual events on the track. I find this behaviour much less likely to cause confusion, as it means I'm not accidentally selecting a part when, really, I just want to move between tracks.

A further new option that can considerably speed the workflow is the Scroll To function available in the Project & Mixer section of the Preferences dialogue's Editing page. This has a number of different settings that may suit different users depending upon how they work, but the setting I prefer is Channel. This causes the display within the Mixer window to automatically scroll to the channel for the track currently selected within the Arrange window. If you flip between the two windows a lot during the editing and mixing of a complex project, this avoids a lot of scrolling back and forth within the Mixer window — very neat! 



Published February 2006

Wednesday, September 1, 2021

Working With Video

Cubase SX includes many powerful commands for building tempo maps when writing to picture. Here you can see the Time Warp tool being used to create a tempo map based on hitpoints in the video that have been identified by Markers on a Marker track. Notice how the Ruler on the Project window turns dark red when the Time Warp tool is active, and how the tempo changes are illustrated with triangles. The Tempo Editor shows a more graphical overview of the Tempo Events.Cubase SX includes many powerful commands for building tempo maps when writing to picture. Here you can see the Time Warp tool being used to create a tempo map based on hitpoints in the video that have been identified by Markers on a Marker track. Notice how the Ruler on the Project window turns dark red when the Time Warp tool is active, and how the tempo changes are illustrated with triangles. The Tempo Editor shows a more graphical overview of the Tempo Events.

This month we take a look at building tempo maps for writing to picture in Cubase, using Markers, Time Warping and the Process Tempo command.

Last month we started to investigate working with video in Cubase, looking specifically at the pros and cons of having your video running inside or outside of Cubase, and how to use the built-in video playback features. In this month's article we're going to take a look at the process of actually building tempo maps in Cubase, and you might want to follow the examples discussed with an empty Project on your own system. You won't need any additional video files or musical content for these examples. If you're interested in running Cubase with an external video machine, check out the 'Slave To The Cubase ' box for more information.

Project Time

One thing to bear in mind if you're running video in Cubase is that the timecode of the video always needs to be locked to the timecode of the Project. Last month we looked at how to set the Project start time (in the Project Setup window) and aligning the Video Event to be in sync with the Project; but quite often this will still need further adjusting, which is to say you probably don't always want the beginning of the video to be the beginning of the Project. For example, say the 24-frame video starts at 01:00:00:00, your music starts at 01:00:05:00, and you want the first bar of music to be bar three at 120bpm. It's a good idea to leave a couple of empty bars at the start of your Project in case you need to have an up-beat or make changes later on.

Keeping the video where it is, you could achieve this by setting the tempo to 96bpm at the beginning of the Project (bar one) and putting a tempo change to 120bpm at bar three, but this is an awkward solution. It would make it harder to use up-beats, and if you later got real musicians to play your music against a click track, you'd have to manually cut in a click at the right tempo (120bpm) so they had a proper count-in.

To help in these situations, Cubase has a neat command called Set Timecode at Cursor (in the Project menu), which does exactly what it says. To set bar three to be 01:00:05:00 you would set your Project Cursor to bar three, select Set Timecode at Cursor, enter the timecode and click OK. Cubase will automatically work out the offset that is required to make the timecode you entered hit the cursor's bar and beat position, so in this case, bar three will now be 01:00:05:00, and you don't have to worry about tempo changes.

When you change the start time of the Project, either in the Project Setup window or with the Set Timecode at Cursor command, Cubase will prompt you to see if you want any existing objects to move so they stay at the same timecode position. Most of the time you'll want to say 'No', when working with bars and beats. And spot the missing word...When you change the start time of the Project, either in the Project Setup window or with the Set Timecode at Cursor command, Cubase will prompt you to see if you want any existing objects to move so they stay at the same timecode position. Most of the time you'll want to say 'No', when working with bars and beats. And spot the missing word...

If you already have content in your Project, before the Set Timecode operation is complete Cubase will prompt you: 'You have modified the timecode offset. Do you want [to] keep the Project content at its timecode positions?' Aside from the missing word, this seemingly confusing question is actually fairly straightforward. Most of the time you'll want to say 'No' to this question: if you have some MIDI and audio Parts on the Project window already at bar three, you probably want to keep them at bar three. Clicking 'Yes' would move your existing objects so their timecode position was preserved, which would place them at musically irrelevant locations.

If you're using Cubase with an external video player, you have nothing else to worry about. However, if you're using the built-in video player, you'll need to make sure you readjust the position of the Video Event so that it's in sync with the Project's timecode again. In theory, if the Video Event is the only Event in the Project (and it's already correctly lined up before the timecode adjustment), you could answer 'Yes' to the question. However, if the new timecode is later than the old time, this moves the start point of the Event behind the start of the Project, and Cubase's video player doesn't always seem happy about this. So the best option is probably to readjust the start of the Video Event manually, cropping either the start or the end positions as you would for any other type of Event on the Project window.

Hit Me Baby, One More Time

Once you've got the initial tempo set and the Project start time sorted out, a common task is to identify various hitpoints in the video that you want to tie in with something musically meaningful. One useful technique is to create a Marker track in your Project and add Markers to represent the hitpoints in the video. To create a Marker track, select Project / Add Track / Marker, and you might like to enable Cubase's Divide Track List function by clicking the appropriate button (which looks like an empty rectangular box) at the very top of the Track List, just where the Track List and the Ruler intersect. In this mode, the Event Display and Track List are split into two areas, and by default the Marker track is automatically moved into the upper area. The two areas of the Track List can be vertically scrolled independently of each other (and you can drag the dividing line between the two areas to resize them as you wish) and this makes it possible to keep the Marker track at the top of the Project window, no matter what tracks are visible in the lower part of the Track List.

Creating a Marker track is a helpful way to identify points in the video that you want to align to musically relevant locations. You can then use the Time Warp tool, as illustrated here, to create appropriate tempo changes when dragging bars or beats onto Markers.Creating a Marker track is a helpful way to identify points in the video that you want to align to musically relevant locations. You can then use the Time Warp tool, as illustrated here, to create appropriate tempo changes when dragging bars or beats onto Markers.

Let's say you have a hitpoint at 01:00:30:18. To create a Marker at this position, first set the Project Cursor to this timecode location. As mentioned last month, when you're working with picture you'll probably want to have Bars+Beats set as your Primary Time Display and Timecode as your Secondary Time Display. So to set the Project Cursor to a timecode location, click in the Secondary Display area on the Transport Panel and type in the required timecode value. After this, you can insert a Marker by clicking the Add Marker button on the Marker track itself, or by pressing Insert on Windows-based systems (no default Key Command is assigned on the Mac version), and the Marker is added at the Project Cursor's position.

You'll probably want to give the Marker a name to indicate what's going on at the time of that hitpoint, such as 'Man types in Marker name in Cubase ', and to do this, first make sure you have Show Marker Names enabled in the Event Display-Markers page of the Preferences window. When a Marker is selected on the Project window, its Name ID and Start time are shown in the Event Infoline, and you can enter a name by clicking underneath the name field, typing the name and pressing Return. Marker data can also be edited in the Inspector, so long as the Marker track is selected, and also in the Marker window, which you can open by selecting Project / Markers or pressing Ctrl/Apple+M. In these latter two views, the Marker name is listed in the Description field.

The last thing you might want to consider when using the Marker track for hitpoints is to switch its timebase from the default Musical option to Linear, which you can do by clicking the illuminated note button on the Marker track so it changes to a non-illuminated clock. Musical timebase is the setting to which all Cubase tracks default, with the exception of the Video track, and this means that Events on a track are stored in relation to their music position in bars and beats. Therefore, if you have an event at bar three and you change the tempo, the event still occurs at bar three, but the exact time at which it occurs in minutes and seconds will have changed depending on whether the new tempo is faster or slower. Linear time, by contrast, stores Events in relation to their absolute position in time, regardless of bars, beats and tempo. If the Marker track was left in Musical time, the Markers representing the hitpoints would drift depending on the tempo, which is absolutely not what you want. Enabling Linear time on the Marker track prevents this.

Slave To The Cubase

The MIDI Timecode Destinations group allows you to set which MIDI ports in your system will output MIDI Timecode from Cubase.The MIDI Timecode Destinations group allows you to set which MIDI ports in your system will output MIDI Timecode from Cubase.Dealing with an external video device in Cubase is slightly easier than using the built-in player, even though it offers less integration. As long as your external device is set up with the picture, any dialogue, effects and music tracks, and ready to receive incoming timecode, the amount of setup required in Cubase is fairly minimal. In terms of timecode, Cubase is only capable of outputting MTC, although many MIDI interfaces can translate this into LTC (Linear Timecode, which carries SMPTE timecode data as an audio signal) if needed, and even if yours doesn't, you can use a device like Rosendahl's MIF MIDI Time Code box to do the job.

To output timecode to a MIDI port in Cubase, first make sure the correct frame rate and SMPTE start time are set in the Project Setup window, which can be opened by selecting Project / Project Setup or pressing Shift+S (see last month's Cubase Technique article for more information about this). Next, open the Synchronisation Setup window by selecting Transport / Sync Setup or Control/Command-clicking the Sync button on the Transport window, and enable the appropriate MIDI port to which you want MIDI Time Code to be sent in the MIDI Timecode Destinations group.

Underneath this group, you'll notice an option labelled 'MIDI Timecode Follows Project Time', and when this is enabled the MIDI Time Code that Cubase outputs will precisely follow the Project's playback. So when you set up loops or relocate the Project Cursor during playback, the MIDI Timecode will reflect the position of the Project Cursor exactly. If you're experimenting with ideas, such as looping, but would like the timecode to continue as if the Project was still playing in a linear fashion, disable this option, and the timecode will be continuous from the point at which you start playback until you press stop.

Doing The Time Warp

Once you've created some hitpoints, the next step is to come up with a musical structure to incorporate these hitpoints in a way that makes sense. Cubase SX2 introduced the Time Warp tool, allowing you drag bars and beats on to specific linear time positions, and, as you can imagine, combing the Time Warp tool with the Markers is a pretty handy way of building a tempo map in Cubase. As a simple example, the Marker we created in the previous section at 01:00:30:18 happens to fall at beat 15.4.3.0 in the musical timebase. Since it's almost hitting bar 16, you might want to simply move bar 16 so 01:00:30:18 hits this musical location.

To do this, select the Time Warp tool, make sure Snap mode is enabled and set Snap to Events. Now, drag the first beat of bar 16 in the Marker track onto the Marker, and because Snap is set to Events, you'll notice that the bar line you're dragging automatically locks to the Marker as the mouse pointer gets close. And, as an aside, if you don't drag within the Marker track area, the bar line won't snap to the Marker.

Here you can see tempo changes in the example described in the main text before processing with the Process Tempo operation.Here you can see tempo changes in the example described in the main text before processing with the Process Tempo operation.The Time Warp tool works by automatically adjusting the last tempo change in the Project so the bar or beat you're dragging will hit the required position. In the current example, the tempo at the start of the Project is adjusted because we don't have any other tempo changes in the Project right now, which means the tempo at the start of the Project will now be 121.008bpm. This means that bar three now hits 01:00:04:23 instead of 01:00:05:00; being one frame out might not matter too much, so you might be happy to live with it.

However, what if being one frame out did matter? One possibility to consider is to put bar three back to its original location and put a subtle tempo change halfway through, maybe at bar nine, instead. Bear in mind that normally you could choose a location that made sense musically, instead of an arbitrary position, but this is just intended to illustrate the process. Start by undoing the previous operation where bar 16 was dragged to 01:00:30:18, so that the tempo at the start of the Project is once again 120bpm and bar three hits 01:00:05:00. Next create a Tempo Event at bar three by Shift-clicking bar three in the Event Display (not in the Ruler) with the Time Warp Tool. This, in effect, locks bar three to 01:00:05:00, as it's impossible for the Time Warp tool to affect the tempo behind bar three at this point.

Next create another Tempo Event at bar nine; again, this effectively locks all the bars behind bar nine from being affected by tempo changes after bar nine. Now, you can drag bar 16 to the Marker again at 01:00:30:18 and the last tempo change will be adjusted — in this case the tempo change at bar nine — so that bar 16 hits the required timecode, leaving all the bars before bar nine (including the all-important bar three) alone.

And that's basically all there is to using the Time Warp tool to build tempo maps. One nice thing about the Time Warp tool is that as you hover the mouse around the Event Display, an info box is drawn detailing the current musical time and timecode position of the mouse. This is a quick way to see what the timecode value of a bar or beat is without moving the Project Cursor. Another point is that you'll notice that when the Time Warp tool is selected, Cubase draws the locations of tempo changes in the Ruler, indicated by small triangles. In the same way that Shift-clicking in the Event Display creates a new tempo change, Shift-clicking a Tempo Event in the Ruler deletes it.

Process Tempo

The Time Warp tool is truly a great aid for building tempo maps, but it has a couple of limitations: because only the last tempo change is adjusted when you drag a bar, it means you can only affect one tempo change at a time, and it has to be an immediate (what Cubase would term a Jump Event) change. What if you wanted to adjust several tempo changes simultaneously so that you could affect a sequence of Tempo Events proportionally to hit a cut in the picture? For this, you'll need the Process Tempo command.

Process Tempo is a powerful command to process tempo changes within a given range in order to hit a specific timecode position with a musical location.Process Tempo is a powerful command to process tempo changes within a given range in order to hit a specific timecode position with a musical location.

Forgetting the previously discussed examples, imagine you have a 24fps Project starting at 01:00:00:00 with an initial tempo of 120bpm. At bar five there's a Jump Tempo Event to 110bpm, and at bars 13 and 21 there are two Ramp Tempo Events to 124 and 115 bpm respectively (see the screen on the previous page). Bar 25 currently hits 01:00:48:20, but you just got a new version of the picture and you need to make the music slower as the picture is now a bit longer and bar 25 now needs to hit 01:00:53:02 instead.

To do this, open the Tempo Editor and click the Process Tempo button on the Tempo Editor's toolbar. If you don't see the button, right-click an empty space of the Tempo Editor's toolbar and make sure Process Tempo is selected in the list of elements to be displayed on the toolbar.

In the Process Tempo window, make sure Time Display Format is set to Timecode. Next, set the range of the Project where tempo changes should be processed in the Process Range section. If you select a group of Tempo Events in the Tempo Editor before opening the Process Tempo window, Cubase will automatically set the Process Range according to the selection. However, in this case, set the Start to bar one (1.1.1.0) and the End to bar 25 (25.1.1.0) — the End value should always be the musical location you want to hit with a given timecode position. Next, set the End value in New Range to the timecode value you want to hit, in this case 01:00:53:02, click Process, and then click Close to close the window.

You'll notice that Cubase scales the tempo changes; and because there was no Tempo Event at bar 25 (the bar at the end of the range), a tempo change will be automatically inserted to preserve the original tempo at that point. However, if you want to continue with the same tempo during bar 25 as before, simply delete the newly inserted tempo change as this will have no effect on bar 25 itself hitting the correct tempo position. If you check bar 25, you'll see it now hits 01:00:53:02 as we intended.

And that's all there is to it! Having read both this and last month's article, I hope you now have a better understanding not just of how to use Cubase's video-related features, but also how to decide which ones suit the task at hand. Whether using video inside or outside of Cubase, and whether you use the Time Warp tool or Process Tempo (or both) for building your tempo maps, all that remains is for you to actually write the cue and sell it to a director! And, unfortunately, there isn't a plug-in that can do that for you just yet.

Cubase News

Steinberg System 4.Steinberg System 4.Following the release of Cubase SX/SL 3.1, Steinberg have released an update patch for both Mac and Windows users to v3.1.1 (build 944) that can be downloaded from the company's FTP site at ftp.steinberg.net/Download/ in either the 'Cubase_SX_3/3.1.1.944/' or 'Cubase_SL_3/3.1.1.944/' folders. Although there are no real new features in this release, there's a big list of bug fixes, including improved OMF handling. The ability to Ctrl-Tab between open windows is working again, and Cubase will no longer crash when dragging files between the desktop, Pool and Project windows, working with multiple Projects that use Studio Connections, playing back automation data to MIDI Device Panels, moving Parts nested within a Folder, or pressing Ctrl+R to open the Score Editor. So basically, if you found version 3.1 crashing quite a bit, 3.1.1 should help. And good news for SL users: the Track Folding feature that was supposed to be in the 3.1 update was accidentally omitted, but it's been included in the 3.1.1 update.

Mac users who had purchased Steinberg's System 4 have been unable to upgrade to Mac OS X Tiger due to the driver for the MI4 USB audio and MIDI interface being incompatible with this latest version of the Mac operating system. Fortunately, Steinberg have now addressed this issue and released a Tiger-compatible version of the MI4 driver, which can be downloaded from www.steinberg.de/DocSupportDisplay_sb1488.html.

Unfortunately, this driver has only been approved for running the MI4 with Cubase SL 3.1, and Steinberg state that it is incompatible with Cubase SL2, which was the version supplied as part of the original System 4 bundle. System 4 is now supplied with Cubase SL 3.1 and the Tiger-compatible driver, and Steinberg recommend that existing users contact their local Steinberg dealer for an upgrade to SL 3.1 at an "extremely attractive price".



 Published December 2005