Intelligent Music Realtime 1.1
Software for the Atari ST
If the usual approach to computer sequencing is unappealing or uninspiring to you, you may find the approach offered by this Atari ST program more to your liking. Chris Meyer finds time for Real Time.
From the pioneers of algorithmic composition comes an Atari ST program that adds intelligence to sequencing.
THESE DAYS COMPUTER sequencers seem to demand ever higher levels of understanding before you can hope to get a song out of them. It's all very well for the songwriter who knows exactly what he or she wants to do before sitting down to record and edit, but my songwriting ideas are a lot more muddled and I use a sequencer to help me sort them out. Call it cheating if you like, I'm sure I'm not alone.
RealTime is a sequencer that actively encourages muddling and experimentation. It has a friendly graphically-oriented interface, and most of the normal sequencer editing features you would expect. It also allows you to make your edits while a section is looping (to hear the changes at once), has a number of "humanising" editing commands to add feel to your work, and has a few algorithmic composition tools thrown in to boot. It's also impossible to describe all it can do in under four thousand words - the friendly-but-to-the-point manual is over 150 pages long and raises more questions than it answers.
REALTIME IS A GEM-style Atari ST application that comes on a copy-protected disk (send off your warranty card and you get a backup plus hard disk installs). As mentioned, the program is graphically oriented. You can choose several ways to display notes, with the most common being a little head (whose shape gives you a rough
idea of the velocity, followed by the note number and a grey bar denoting the length. Percussion tracks have just the head (you can define if a track is a percussion or "synth" track - see below). One continuous controller of your choice can also be displayed (graphically) per track. You can define the display resolution, and either manually scroll across your work or have RealTime do it while running. RealTime also does many things automatically, such as opening a new track as soon as you start recording. All in all, very friendly.
A Section is the current fragment of music you're working on. It can have up to 999 bars (with a wide range of time signatures) and up to 256 Tracks. Any track can be muted or "locked" (protected from accidental recording or editing). Sections can be strung together and looped into Songs. A Song may also include another song, and a standard MIDI file can play back in parallel with a Song. You can take a "Movie" of a Section or Song, save that as a MIDI file, re-open it as a new Section (all the MIDI channels will sort themselves out into the appropriate Tracks), and record over it if you so desire. RealTime also makes it easy to save or load individual sections or the entire work in progress, and contains all the usual cut, copy, paste, merge and shift functions you would expect.
RealTime loops in record mode. You can auto-correct before or after recording, and looped recording can add to or replace what was there previously. Resolution is 192ppqn. It will wait for you to play something to start recording, or start off immediately upon you telling it to do so (by the way, you can set up specific MIDI controllers and notes to remote-control RealTime's transport and tempo). RealTime syncs to MIDI clock (including song position pointer), MIDI Time Code, or Dr T's Phantom (it can also run by itself). When running by itself or against SMPTE, you can set up and graphically edit a tempo map of speed variations. Individual tracks within a Section can loop independently, or the whole Section can loop in sync.
Graphic editing includes a number of tools which are only ever a pair of mouse clicks away. The first is Striker - this is for painting in specific notes in specific places (RealTime makes a graphic and functional distinction between performed and painted events). You can position the tool and play the desired note and/or velocity over MIDI, or type in the note value or "step" in a table of pitches. The velocity and duration of the notes you strike in can also be selected by clicking on one of the five preset velocity and articulation palettes. The values each of these icons represent may be edited elsewhere. The sixth icon to the right of each row represents a totally random number.
The monkey wrench tool is my favourite, and is for adjusting notes already recorded - clicking and dragging edits a note's pitch, velocity, and duration in fairly intuitive ways. Other tools include an eraser for blotting out mistakes, a rest, a loop marker, regional editing and adjusting an event's position in time. When editing continuous data, the striker, wrench, loop tool, and rest tool turn into crosshairs for reshaping the data (the others work as you would expect). By the way, there's also a menu command for thinning controller data in a selected region.
While moving around inside a section's workspace, crosshairs show you what time division and Track you're on (the display resolution autocorrects your edits - to tweak the time of an event just a little, you need a very fine display resolution); on the upper left line of the section window are numbers that show you the pitch, velocity, and duration of the note most recently selected. Your current "time" is also always displayed. You'll give your mouse hand a workout, but I prefer graphic editing to retyping numbers in an event list - particularly since the section keeps playing while you edit it.
For those who prefer a more numerical form of editing, there's "smart" editing with the Edit Transforms. You can choose the type of event you're editing (performed notes, painted notes, and all the various controllers), their pitch/value range, velocity and duration (in the case of notes), and where they fall in time. RealTime will then take this and convert it into the event type (notes must remain notes), change their values (set them to an absolute value, add or subtract a fixed amount, quantise their value, or scale them by a percentage), and quantise them. This covers about every change-value type of edit, although it means you have to go through the whole process to perform relatively simple edits. And no, SysEx recording or editing is not supported (although Intelligent are looking into it).
Speaking of transposition, you can temporarily transpose a Track within a Section. You can also shift it in time or make it for a slow sampler or synth. This is done in what Intelligent term a "View". A View is what type of information is currently being displayed for the Tracks in the current Section. You have eight Views to choose from, the most common being the Main (velocity/pitch/duration) view. Pitch and Time views also allow humanisation of data; the Velocity and Articulation views allow you to customise the values represented by the icons used for hand-painted notes. The Velocity and Articulation percentages are for blurring the strengths and lengths of all notes; Bond and Fills are algorithmic-style functions. Finally, the MIDI view allows you to set the channel, default patch number, and initial MIDI volume level for each Track.
DEVICES ARE ONE feature of RealTime that looks to be a clean, simple, old fashioned "good idea". In reality this turns out to not only be the feature of the program with the most potential, but also potentially the most frustrating aspect of the whole program.
The basic concept is simple - for each of the 16 MIDI channels, you can create a "device". Not only can you name this device (so that the name of, say, the synthesiser on that channel always automatically appears as the track's name), you can state if it's a drum machine or a keyboard device. This affects how the events for that device are displayed in RealTime's Main view.
"Realtime makes it easy to save or load individual sections or the complete work, and contains all the editing functions you would expect."
If it's a drum machine, you can create sub-devices for individual sounds and assign them specific MIDI key numbers - the snare always comes in on C3 and so on. You can paint in a drum pattern with the Striker without having to worry about what MIDI note the sound is assigned to. Better than that, when you record from a drum machine that has a properly-built device, it will automatically open and fill Tracks labelled with the appropriate names for each sound. (If a note comes in that hasn't been assigned, a blank sub-device is created, Track opened, and unassigned note painted in.
These sub-devices don't have to be restricted to just one MIDI key - and this is where the fun (and frustrations) come in. Along with a MIDI note number, each mapping for a sub-device has a "step" number. For a sampler with a drum set spread out across the keyboard, you can define the (for the sake of argument) octave that the snare is spread out over as 12 different steps. When you record, the step number appears as part of the note's definition (as opposed to an "absolute" pitch, such as C3). If you randomise the pitch of something recorded as a step pitch, only pitches with steps assigned to them are legal - in other words, you don't have to worry about a random pitch playing out of range and triggering a kick drum by mistake.
The steps can be pitches in a melody for a keyboard-style device. Or notes can be piled up on a Step, and each Step can be a chord - all handy for those who prefer to paint in their notes, or want to use the algorithmic/random facilities in RealTime to vary a progression. These mappings get remembered per Track, and can be edited or swapped with others after the fact.
Problems? If you define a keyboard sub-device with steps and record the track via MIDI, the Step numbers won't be entered into the Track - just the absolute pitches. That throws the full marriage of MIDI entry and algorithmic variation out the window. They'll record as Steps if you call it a "drum" sub-device, but then they aren't displayed or treated as real notes with durations and other note-like trappings. This prejudice against those who would prefer to play a normal instrument than enter everything at a computer is common to the computer music crowd, and one of the things that makes many people computer-shy in the first place.
AS ALREADY STATED, RealTime will "blur" what you've entered into it, as opposed to replaying it with computer precision. This goes a long way towards making your one-bar bassline hold up for 137 looped repetitions (I don't care how clever the notes are, repetition's repetition). You can enter a plus/minus range for velocity, pitch, duration ("articulation"), and timing - or "Time Deviation". There are no time-variable templates - you can't hold downbeats steady and vary the notes in between, or set patterns for variation of events over the course of a bar - but it still helps loosen things up quite a bit. Blurring pitch can be disastrous, but when used to play back a percussion sample (with the legal notes bounded by the Track's device range), you can have fun with conga and other ethnic-style percussion lines.
Apart from blurring occurrences of notes, you can also arrange to have them not appear, or scramble their order. You can set a percentage probability that successive notes will or will not play. Again, this is useful for percussion (for thinning out overly-busy percussion lines, and making them sound different on each pass), or for "bonded" tracks (see below), If you entered notes with the Striker, and told them to play the notes in a Device in order, you can determine how often that order gets scrambled. Even loop points can have probabilities - a looped bassline or torn beat may occasionally open up into a fill or variation on the theme. All of these processes are fun, and don't take too much mental involvement (with the exception of scrambling the order of notes) to experiment with and reap the rewards from.
Time to look at Track Bondage - give Intelligent credit for their imagination. Here you can assign Track to not play its own notes, but the notes of another Track. Simple layering? Not when you take time and pitch shifts and the ability to only play some of the notes into account. During my very first session with RealTime, I spent about a half hour getting a bassline monkey-wrenched into shape (concentrating on its feel), and then bonded a vocal patch to it. I set it a little bit ahead of time (to compensate for its slow attack, and to lead the bassline a little), transposed it an octave above the bassline, and had it play just 20% of the notes - instant accompaniment. And believe me, I wouldn't have thought of playing that.
Now for some real fun - Fills. RealTime will create extra notes in between the ones you've already recorded. You can set a percentage for how often they happen, a time division for how many notes the program tries to slot in, which Track's sounds are used to perform the fills and other rules concerning their timing constraints. In its simplest mode, RealTime looks at two successive notes, and tries to repeat the first note "x" number of times between its original occurrence and the next note. (Unless you create a "step" note with a device, then the program will pick a random step for the fill - fine for percussion, but often senseless for melodic work). For example, if you have a snare beat on half notes, and "x" (the Fill time divider) set to two, RealTime will occasionally put snare hits on the quarter notes in between. It'll also shorten the duration of the first occurrence of the note, so it won't overlap with the fill note. Sound over-simplistic? Try it.
Another odd feature of RealTime is its ability to run another GEM application simultaneously - and control RealTime's transport while its desk accessory ("DA") is open in that other application. RealTime won't let you record while in another application; it'll either ignore you or bomb (which it did to me while in WordWriter, a popular and common ST word processor). Marrying RealTime with even a basic word processor would be nice, because there's no "notepad" area for reminding yourself which sampler disk to load or how to set up the knobs on your mixer. It's basically for playing your own background music while muddling about in another application.
On the subject of bombs, RealTime isn't the most bulletproof application lye come across. The above bomb is the only out-and-out crash I've "legally" encountered; I've also had a handful of display bugs, some data got trashed when I overfilled a disk, and there have been other minor head-scratchers. On the other hand, Intelligent Music seem genuinely eager to resolve anomalies as well as add features.
I'M NOT 100% in love with RealTime. The sketchy manual (credit where credit is due: the tutorial is good... ) means you'll have to spend a(nother) month of experimenting. About half of the program (fortunately, the half I use 90% of the time) is intuitive but the rest requires use of the manual and hidden-function chart. The rough edges need to get sanded off, and Devices need to offer to keyboardists what they offer hand-painters of notes.
After extensive talks with Eric Ameres (RealTime's creator), I feel confident that the rough edges are going to be sanded off, and my current reservations cured - so much so, I'm planning on it being the main program in my setup. For people like me who are better at muddling than premeditation when it comes to making music, RealTime is a gift from above. After nearly four years of muddling and being scared off by big sequencers and having to do everything myself, I'm finally recording music again. Thanks, Intelligent Music.
Price £199 including VAT.
Gear in this article:
Review by Chris Meyer
Previous article in this issue:
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!