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@xxxxxxxxx _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user