tempo fit / rounding question in MS

0 views
Skip to first unread message

Lao Yu

unread,
Nov 23, 2009, 1:01:07 AM11/23/09
to uil...@googlegroups.com
Hi,

I have a percussion loop here that is at 85 bpm precisely. When I open that sound file in MS5 and set the canvas' tempo to fit the current sample I get 170.13 bpm which is 85 x2 plus the rounding to the next pixel.
However the tempo is 85 or 170 and not 170.13. Looping the canvas causes a little but disturbing jump at every start. Also when rendering the new sound it is not at 85/170 but changed to 170.13 (or 85.075). Meaning I have to time-stretch it on Logic so that it fits the original tempo of 85.

Is there anything to improve the situation? I'd be glad if I don't have to readjust by hand every render. I remember Andrew was having issues with this but I can't remember what his conclusion was.

Best
Jurgen

Edward Spiegel

unread,
Nov 23, 2009, 2:12:07 AM11/23/09
to uil...@googlegroups.com
At 2:01 PM +0800 11/23/09, Lao Yu wrote:
>Looping the canvas causes a little but disturbing jump at every start

This part doesn't sound related to the tempo.

Does the synth you are using in the Image Synth have a release time?

If your synth has a release time, remember that the release is added to the final render. Which means that the render may be longer than the number of beats in the canvas. You will notice when you render that only part of the sound is selected. That is the part of the sound that corresponds to just the beats of the canvas without the release and that part should loop smoothly (if the audio is designed to loop smoothly). So, if you want to loop, you need to crop the sound to that length. You also might need to use a very short fade at the loop end to ensure that the loop ends at a zero crossing; otherwise you will get a click.

At 2:01 PM +0800 11/23/09, Lao Yu wrote:
>However the tempo is 85 or 170 and not 170.13.

In almost all cases, you can trim the sound rather than time stretch. That margin of error is generally imperceptible if you are using loops a few measures long.

Have you tried trimming the sound?

Because of the sample/pixel nature of the Image Synth, the tempos possible are limited by integer multiples.

Best,

Edward

Lao Yu

unread,
Nov 23, 2009, 6:55:26 AM11/23/09
to uil...@googlegroups.com
Edward,

MS5 loops 'intelligently' in that the loop area doesn't consider the release tail - at least that's what I think. I was more talking about looping in preview mode, sorry for the lack of precision.

It is obvious that MS can't loop to any exact bpm value due to the quantization of pixels in the x-axis, one just has to do a little 'homework'. What I noticed is that after rendering there was a few milliseconds in the beginning missing. But I'll have to try out more before I get back to the list.

Thanks for your detailed reply,
Jurgen

Edward Spiegel

unread,
Nov 23, 2009, 12:14:41 PM11/23/09
to uil...@googlegroups.com
At 7:55 PM +0800 11/23/09, Lao Yu wrote:
>What I noticed is that after rendering there was a few milliseconds in the beginning missing. But I'll have to try out more before I get back to the list.

Hmmm. That sounds unusual. I haven't encountered something from the beginning missing. What sort of instrument does the preset use? Can you send me a screen capture of the instrument's settings.

Best,

Edward

leaf Tine

unread,
Nov 23, 2009, 2:10:45 PM11/23/09
to UILIST
in MS4, one way to get exact tempos in the image synth by matching x
(horizontal pixels) to a number divisible by the bpm, adjusting the
time scale accordingly, then analyzing spectrum. it isn't always
straightforward e.g. setting the bpm in the timescale window doesn't
always correlate to the bpm you seek. adjusting the samples per pixel
and pixels per beat might yield the correct bpm, but can give glitchy
results, and as the calculations for the other boxes in the window
don't refresh in real time, it can quickly become frustrating.
hope this helps!
~leaf

Lao Yu

unread,
Nov 23, 2009, 11:51:33 PM11/23/09
to uil...@googlegroups.com
Thank you very much for your suggestion. Usually I don't care much because I don't mind time stretching in other software. In the current example it was just so striking.

Thanks a lot again,
Jurgen

aso...@galbanum.com

unread,
Nov 24, 2009, 12:28:37 AM11/24/09
to uil...@googlegroups.com

> Thank you very much for your suggestion. Usually I don't care much because
> I don't mind time stretching in other software. In the current example it
> was just so striking.


What I do in most cases is the following:

1) Try to find an available tempo that is closest to an interger for the
desired tempo range and sample rate. 60,80,90,100,120, 125, 144,160,180
etc "should" be possible at 96K for example... (though not all of these
are currently do to the way things are implemented...)

2) If one of these choices does not work for the musical needs then I find
a tempo with the smallest error possible. 128BPM in 44.1/88.2 for example
is VERY close to exact.

3) Then I render at the given tempo. MS will render the lenght at the
given tempo + the release time of the instrument. The resulting audio in
the SE has a selection pre-made in it that is set to the length at the
given tempo WITHOUT the release time. So If you crop right there, you
have exactly 2 measures of whatever tempo MS allows for example. But I DO
NOT do this.

4) Instead I change the tempo for the grid in the SE by manually typing in
exactly what I want (even if it looks to be the same thing... b/c chances
are it is actually NOT the same thing.) Once I have entered in the exact
desired tempo, I then select from the start of the file to the end of the
loop area, exluding the release time. Now I crop. I may then fade out
the right edge some, or leave that for Logic/Cubase etc...

This results in an audio file that is EXACTLY the correct lenght for the
desired tempo (down to the single sample).

What it does not fix is tempo drift inside the loop. So timing will
progressively become worse the longer the loop is. So if tempo is not
EXACTLY available, or very close to it, I will not render more than 1
measure at a time. For me "very close" is less than +/- 0.05 BPM. Tempo
drift of these tiny amounts are gennerally acceptable so long as your
audio files are only a few measures long and are exactly the correect
lenght so that when they are repeated in the host, they always "resync"
when re-triggered evey few measures. Under these cases, the drift is
imperceivable, and could be considered some kind of built-in
humanize/groove-quantize effect, to get things a tiny bit off the grid...
;-)

The Excel file I posted to the beta list some time ago showed exactly what
tempos are possible for making these kind of decisions...

hope it helps...

-andrew souter

Lao Yu

unread,
Nov 24, 2009, 2:31:34 AM11/24/09
to uil...@googlegroups.com
Andrew,

I'm spoilt! Thanks for your excellent details. Very much appreciated.

Jurgen

leaf Tine

unread,
Nov 24, 2009, 9:49:29 AM11/24/09
to UILIST


On Nov 23, 9:28 pm, asou...@galbanum.com wrote:
> 1) Try to find an available tempo that is closest to an interger for the
> desired tempo range and sample rate.  60,80,90,100,120, 125, 144,160,180
> etc "should" be possible at 96K for example...
>
> The Excel file I posted to the beta list some time ago showed exactly what
> tempos are possible for making these kind of decisions...
> -andrew souter

Andrew, that's a superb approach! Sounds like a key bit of number
crunching.
Can you give us a link to your excel file, tell us what topic it's
posted under?
Thanks in advance,
~leaf

art8tudio.com

unread,
Nov 24, 2009, 4:03:26 PM11/24/09
to uil...@googlegroups.com
Hey everyone check it out http://painter.grootlicht.com
Professional 3D Logos Real Cheap http://3dlogos.art8tudio.com
3D Models and Textures http://3dmodels.art8tudio.com
Fine Art Giclees http://www.art8tudio.com
Reply all
Reply to author
Forward
0 new messages