Samples: bug when loading with jack sync enabled ?

Hello,

Using 3.0.0, I have a project that is made of several guitar samples, which are used in tracks. When I start Renoise I load this project and the tracks all play fine. I then enable jack transport sync and close Renoise. I restart Renoise, load the same project (now Renoise is using jack transport at start up) and the tracks are not playing well at all. Actually, when looking at the samples in the sample editor, the samples do not last as long as they did before. Or they last too long, it varies. One thing for sure, with jack transport sync enabled, the samples do not load to their original length.

Is this a bug or is there a parameter that influences this ?

It looks like Jack is simply messing with your song BPM.

Please refer to:
http://forum.renoise.com/index.php/topic/40578-solved-linux-loading-xrns-not-setting-the-correct-tempobpm/
https://forum.renoise.com/t/bpm-does-not-change-after-loading-a-song-linux/42871

Since the lower ruler in the sample editor is set to show beat time, any change in tempo will also cause the ruler to change accordingly.

The actual duration of your sample is not changing — 30 seconds will always be 30 seconds, for example — the ruler is simply showing you how many beats it will play for at the current song tempo.

Thanks for the comment. I disagree though that the length of the sample is not the same when the problem happens. For instance I have one sample played at 0 and then again at 16. When it’s loaded OK, the samples nicely plays one after the other. When Renoise starts with jack transport enabled, one sample plays, then there’s silence until the one at 16 is played, which is not nice at all.

When Renoise is started w/o jack transport and jack transport is only enabled later, then everything is fine. Because of this, because if enabled later it is OK, I would tend to consider this a bug. If it was not a bug, then enabling jack transport later would mess up the samples as well, isn’t it ?

Thanks for the comment.I disagree though that the length of the sample is not the same when the problem happens.

5428 renoise-song-bpm.png

When you start Renoise with Jack transport disabled, and then you load your song, what exactly does it show in your song BPM setting?

After that, if you start Renoise with Jack transport enabled, and then you load your song, does it show a different BPM?

If there is a difference in BPM with Jack enabled vs disabled, then that’s obviously the problem. If Jack is taking over Renoise’s BPM, then it will mess with any samples you have that are dependent upon playing at a certain tempo.

For example, let’s say that I record an audio loop (guitar, drum, whatever) that is originally intended to play for 4 beats at 120 BPM. If I later change my song to play at 100 BPM instead, then my audio loop will obviously no longer sync up with the song tempo.

I haven’t paid attention to the BPM reading in various cases yet. So here are some observations.

Without any jack transport enabled, BPM is 130, which is the BPM I have set and at which I have recorded the samples.

When I enable jack transport after loading the project, the BPM remains at 130 and this is also the BPM shown in qjackctl.

For the next tests, I terminated Renoise and qjackctl. Then I restart qjackctl. qjackctl shows no BPM value.

Now, starting Renoise with jack transport already enabled from a previous run.

When Renoise starts it will show a project window so that it is possible to load a previous project. Before choosing any project to load, I looked at the BPM value. Sometimes it can be 105, at other times 155, or some other value. qjackctl shows no BPM value yet.

Then I choose the project to load. After loading, the BPM value is the one that was shown before loading the project. if it was 155, then the project is loaded and the BPM is set at 155. When this is done, qjackctl reports a BPM of 155 (or any other value set by Renoise).

That now starts to look like a bug. It is easily reproducible. System is Linux Mint 17 64bits. Renoise 3.0.0.

I think that Renoise should not come up with any BPM value and should have a default. Also, even with a default, it should then read the BPM value from the project when jack transport is enabled, as it does when jack transport is not enabled. It looks like Renoise finds that there’s no need to read the project’s BPM because Renoise itself came up with a value.

The drawback with this, is to always remember not to exit Renoise with jack transport enabled. If not, then disabling it and restarting Renoise has to be done. No harm done, but a little annoying.

I think that Renoise should not come up with any BPM value and should have a default.

During normal usage, when reloading a previously saved song, Renoise will recall and use whatever BPM the song was saved with. It would be pretty useless if Renoise just ignored the settings in your song!

When starting a brand new song, then Renoise will pick a random BPM. This is only intended to keep things somewhat interesting, and to perhaps give you some inspiration to work at a tempo you might not usually consider. Whether you consider this to be an interesting feature or not is another matter, but nevertheless this only applies to newly created songs. Renoise will not simply choose random BPMs in any other situation.

The problem here — as mentioned in my first reply — is simply that the Jack transport is overriding your BPM. You’re basically telling Renoise that it should slave itself to Jack, so this will of course interfere with anything you do, including loading any previously saved songs. Whatever Jack happens to be currently set to, it will broadcast that (basically force it) to Renoise.

The question is: do you really need Jack transport in the first place?

You haven’t really gone into much detail about your exact set up, but perhaps you can simply avoid using Jack transport and disable it in your Renoise preferences?

“When starting a brand new song, then Renoise will pick a random BPM”

“The problem here — as mentioned in my first reply — is simply that the Jack transport is overriding your BPM.”

I disagree. As I clearly demonstrated, the random BPM is overriding the song’s BPM (of 130 in this case). It does not come from jack transport, but comes from within Renoise itself. That random BPM overrides the song’s BPM when jack transport is enabled at startup. It does not otherwise. This should be very easy to reproduce.

“but perhaps you can simply avoid using Jack transport and disable it…”

I’m afraid that should not be an option. jack transport is a feature. If it confuses Renoise to have it enabled at start up, then there’s a problem. One that has a workaround, but a problem nevertheless.