You are here

Add new comment

Hi Rui,

The Scale stuff is perhaps easier to deal with, so I'll start there.

It seems that they'll all require an analysis stage to determine which notes will need changed to fit into the new scale template. However, what if the scale is not a conventional major/minor scale or one of its derived modes ? I think the best solution might include both preset scale templates *and* the facility for the user to enter his own scale form. Perhaps the best way to do this would be to allow the user to define an interval series and a transposition level. Thus, unusual and exotic scales could be easily implemented (e.g. pentatonic scales, two-octave compound scales, symmetrical scales, 12-tone rows, etc.), without the need for hard-coding their definitions. Maybe these user-defined template files could be saved and re-used ?

You can see that the coders at Voyetra kept the choices simple, including only the standard modal derivations from the Western classical major scale. When I was a beta-tester for them I asked Bruce Frazer if they'd implement something like a 12-tone matrix generator, but he dismissed the idea as probably being of interest only to me. Rather short-sighted, in my opinion.

The Groove/Quantize stuff is maybe better researched by looking at the implementations in Hydrogen and other sequencers. The general notion is that this transform provides a way to "naturalize" the rhythmic feel of an otherwise too-rigid MIDI track. In a strictly MIDI scenario this can be achieved by minutely (or not so minutely) shifting random and/or selected beats forward or backwards in time. The classic model is the jazz drummer: Each limb is playing slightly out of phase with the others, creating a more multi-dimensional sense of the beat. Craig Anderton covered this aspect in an article about what he called the Tutt-Guerin Effect. He simply recorded some drummers with MIDI sensors, then he looked at how their various beats aligned with the sequencer beats and bar lines. The width of temporal separation creates what we call a groove, and since there are multiple beat lines (i.e. the drummer is playing four rhythmic lines at once) the separation can be quite variable. Thus, we can expect notable differences between the representations of a soul drummer, a rocker, and a jazz player, indicated by varying "widths" away from the beat/bar strictures.

Normal rhythmic quantization tends to be too mechanical because it's applied equally throughout a track. One dodge is to split out each instrument in a drum set to their own tracks, then shift the tracks slightly forward or backwards in time. However, again the effect becomes too mechanical too quickly. Voyetra's Super Quantize addresses more factors than start-times and durations, with considerably more random variables.

Groove templates are another cool idea. You simply select a rhythmic format (blues, country, rock, jazz, etc.) and tell the sequencer to apply that groove to a piece or selection.

Newer methods include analyzing an audio track for its groove factors and creating a rhythm template that can then be applied to other audio/MIDI tracks. I've not worked with this method and can say no more about it, other than that it seems to me to be a great way to import new grooves and feels into the music. I have no idea how difficult it might be to program such a method.

Btw, see the Wikipedia entry for "Groove", it's quite informative.

Here's Cakewalk's explanation:

"Groove Quantize allows you to change the "feel" of an existing performance. This is especially handy for spicing up step-entered MIDI data or performances that need tight, groovin' timing. The best way to learn how to use Groove Quantize is by experimentation. Other than the Groove Source itself, the settings that will effect Groove Quantize the most are the Resolution, Strength Duration, Strength Time, and Strength Velocity."

Here's another definition for Groove Quantize from the Babylon dictionary:

"A sequencing quantization method that uses a performance template instead of an absolute value to alter the rhythmic characteristics of a sequence. Usually involves preset grooves (i.e. funk, swing, etc.) or uses one rhythmic sequence as a model for quantizing another sequence."

I hope that helps a bit, Rui, but again please let me know if anything needs further clarification. IMO the transforms implemented in Sequencer Plus Gold ought to be considered the *minimum* set for all subsequent MIDI sequencers. Alas, it seems that Linux audio devels are not so attentive to MIDI, but it is still of the utmost importance to many composers.

Btw, for my work-style Sequencer Plus Gold has another advantage: It's entirely keyboard-controlled, ergo *much* faster to use than a mouse-based sequencer. How much of QTractor's MIDI editor can be worked with the keyboard now ? I'd like to end my use of Sequencer Plus, it has file-size limitations that bother me, and it's non-FOSS. I'm not a zealot these days, I believe in hybrid systems, but I still prefer to support FSF-defined free software over the proprietary stuff whenever possible.

And what about handling sys-ex messages in QTractor ? ;)

You may yet regret me being here, Rui. :)

Best always,

dp