Ronny Turiaf – Basics

Ronny Turiaf's Editor, Mix, and Sub-Editor windows.  Creating a reasonably functional user-interface for the program was a critical challenge.  The program is written in Max 4.5.7.  Max 5 was released after I had finished 98% of the program and came with many UI enhancements which would've made many jobs easier.  So it goes. :-).

Ronny Turiaf's Editor, Mix, and Sub-Editor windows. Creating a reasonably functional user-interface for the program was a critical challenge. The program is written in Max 4.6.2. Max 5 was released after I had finished 98% of the program and came with many UI enhancements which would've made many jobs easier. So it goes. :-) .

Disclaimer: Ronny Turiaf, the former Laker who now plays for the Golden State Warriors has nothing to do with this program! I just borrowed his name because the first sounds I made with the patch reminded me of the sound of his name…

Purpose

Ronny Turiaf was built to enable dynamic, animated performances out of written MIDI sequences. It can best be thought of as storing a bank of customizable articulations which create complex transformations over a variable length of time.

How it works

Ronny Turiaf takes an input MIDI sequence of pitch/note values with two additional values (for Articulation and Duration) to tell Ronny Turiaf how to calculate its modulation envelopes. It will take these values and turn them into a note/velocity pair plus a stream of MIDI CC messages for up to 6 parameters to add dynamism to the performance. You can route this information to any software or hardware which responds to MIDI information.

Input MIDI

Using Ronny Turiaf requires just a few additional bits of information on top of the most basic MIDI sequence (i.e., notes represented as Pitch and Velocity combinations). These are:

  • Articulation/Type: Specifies the articulation index to be used for this note or note group.
  • Duration: Specifies the length of the note.
  • Sustain Pedal: (Optional) This can be used to include multiple notes under the arc of a single articulation.
Input MIDI information is relative sparse compared to the data which comes out.

to Ronny Turiaf – Input MIDI information is relative sparse compared to the data which comes out.

The input information becomes stream of MIDI CC data to make a detailed, dynamic performance.

From Ronny Turiaf – The input information is returned as a stream of MIDI CC data to make a detailed, dynamic performance.

Articulation Parameters

Articulations create new/additional performance information for the following parameters:

  • (A,B…E) = MIDI CC x 5: Any 5 MIDI Control Change numbers may be used. Within the articulation bank these are represented by A-E. The CC number for a specific output is the assign at the point of output.
  • pWhl: This represents the MIDI Pitch Bend controller.
  • Ch (Channel: You can assign the output elements to a different MIDI Channel than the input information if desired. This is useful because you may send different articulations to different targets entirely.
  • Pitch: You can override any input pitch by specifying a specific pitch for an articulation. This is most useful for creating percussive sounds with a consistent pitch base.
  • Vel: You can override any input velocity by specifying a fixed velocity base for the articulation.
  • Dur: Duration of the articulation affects how long a note is sustained and how long the modulation envelopes take to run their course.

The basic premise for using any of the above parameters is the same: specify a base value for the value and then modulate using the modulation envelopes and/or input parameters like pitch, velocity or either of two randomizers. Their effects will appear idiomatic to anyone familiar with synthesizer modulation settings.

The Modulation Envelopes

In addition to storing initial values for an articulation, four free break-point modulation evelopes can be used.  The duration may be on an absolute scale, tied to tempo, or a percentage of note length.

In addition to storing initial values for an articulation, four free break-point modulation evelopes can be used. The duration may be on an absolute scale, tied to tempo, or a percentage of note length.

The primary difference between the performances achievable using Ronny Turiaf and using a synthesizer’s built-in modulation capabilities lies in the envelopes. Ronny Turiaf can calculate the run of its envelopes based on the duration of the note. By linking the envelope directly to the length of the note the amount of change over time can be scaled in a more musical fasion.

For instance, if a particular articulation swells from a quiet dark sound to a bright loud one, the effect can be stretched over a fraction of a beat or several bars depending on the length of the note. The closest most synths can come is by using a MIDI control to modulate all parts of the AHDSR envelope equally but this requires knowing the exact curve of the modulation range for both the absolute and beat-sync timing options for the envelope (assuming you are allowed to set these).

One other major advantage of using an external system to do this is that you can modulate elements outside of synthesizers with these envelopes such as external effects devices or plug-ins.

More to come…

MaxMSP Intro

MaxMSP is a visual programming language originally created at IRCAM, an avant-garde music institution located in Paris, and now supported by SF-based Cycling ‘74.

I found out about MaxMSP after getting interested in music by the electronica duo Autechre – I’d never been very taken by any ‘classical’ experimental music using the combination of computers and acoustic instruments, but I thought the beats and textures Autechre created were very interesting and I wanted to be able to make them myself.

After spending a year or so learning the ropes of the MIDI side of the program, I embarked on making a massive utility for sequencing complex MIDI performance information. Having a lot of experience with various acoustical instruments and in orchestras, I felt individual sounds made by synthesizers frequently felt sterile and I could make instruments feel more visceral by supplying a large amount of extra performance data. For instance, a violinist can change the sound of their instrument with bow speed, bow pressure, where the bow runs over a string, plucking the string (to name just a few)… I wanted a patch which could simulate this variety of sounds and feelings from a synthesizer. All the cooler if it could be done in such a way that would eventually allow for a computer to generate sequences in real-time (like Autechre’s generative beats) that actually cultivated feeling rather than just structure.

The current working version is called Ronny Turiaf and a portion of it’s inner architecture is shown below. This version takes input of a MIDI sequence (from a sequencer such as Logic) and returns the enhanced performance. It does not yet have its own generative sequencing capabilities.

The surface of Ronny Turiaf's 'engine', this is where modulation envelopes and their effects are calculated.

The surface of Ronny Turiaf's 'engine', this is where modulation envelopes and their effects are calculated.