[LAU] Auto-fitting loops [WAS:] Qtractor 0.1.3 (frugal damsel) released!

Rui Nuno Capela rncbc at rncbc.org
Sun May 4 07:55:39 EDT 2008


Atte André Jensen wrote:
> Rui Nuno Capela wrote:
> 
>> when you import (or drop) a new audio file into the qtractor time-line, 
>> it's always assumed that the new clip is in tempo with the current 
>> session.
> 
> I don't know if you're at all into blue/csound, but I did an instrument 
> called BeatPlayer, which automatically fits loops to the tempo of a 
> tune. You can check it out in blue share (if you have blue running).
> 
> Anyways the idea is pretty simple:
> 
> 1) For this to work the loops you want to auto-fit must be truncated to 
> 1, 2, 4, 8 etch bars (1/2 and 1/4 etc is ok too). Also I have a tempo 
> threshold which I set to 160, meaning the beats must be between 80 and 
> 160 BPM (most of my beats are). Thoughout I'll asume 4/4 meter.
> 
> 2) Supposed you have a 1 bar beat at 80BPM, sampled at 44.1, this will 
> be 60/80 * 4 * 44100 = 132300 samples long. Two bars will be 264600 
> samples, four bars 529200. This means that any 44100 beat fitting 1) and 
> beeing between 132300 and 264600 samples long will be one bar, and if 
> it's between 264600 and 529200 samples it will be two bars, etc.
> 
> 3) Using 2) you can guess the number of bars (1/4, 1/2, 1, 2, 4, 8, etc) 
> and based on that and the length (and samplerate) you can calculate the 
> original BPM, and then you can figure out how much the beat needs to be 
> "transposed" or "stretched" fo fit the current tempo.
> 
> It's really a quite simple idea and it works very well.
> 
> Maybe something along these lines could be integrated into your program, 
> it sounds like it's what people are asking for...
> 
> Just my .02 :-)
> 

thanks Atte,

your instructions are quite similar to the ones i've posted before, just 
that you're being much more specific with the numbers involved and i was 
just telling how to do it with the mouse-and-click way of things in 
qtractor :)

however, it also assumes that tempo of a given loop is primarily derived 
from the length or number of sample frames (or sub-divisions of it)

the other issue is about actual audio content vs. tempo and key 
signature. suppose you have some file of a recorded drum beat performed 
at any tempo X while the sample file length is arbitrary, that is, not a 
multiple nor exact sub-division of a bar in that tempo X?

first you'll have to determine which tempo X is that, by earing and 
tapping or using some kind of a beat-detector; once you know X then you 
can start trimming the file to fit an exact multiple/division bar length 
of X; only then you can time-stretch to fit against to yet another tempo Y.

the same applies to pitch and key signature detection. of course, all 
this applies if you want to keep what i call musical and metric 
coherence. if what you want to is breaking out new soundscapes, all this 
workflow is moot ;)

afaict one purpose of the acid file meta-data is giving that tempo and 
trimming information right from the sample file content; no need for 
guessing.

otoh, it won't be a big surprise if those "high-end" loop-editor apps 
includes some kind of beat and pitch-detection from the start, specially 
when importing audio sample files from "unknown" sources ie. without the 
proper meta-data filled in.

qtractor hasn't none. *you* are in control :))
-- 
rncbc aka Rui Nuno Capela
rncbc at rncbc.org



More information about the Linux-audio-user mailing list