Fixing loops for use in Sample Track

Write guides and how-tos about LMMS for other members.
There are many useful bass and beat loops available free on the Internet and of course there are quite a few delivered with LMMS (look in My Samples/beats and bassloopes).

They can be use with AFP but they work much better used with Sample Track, as musikbear found out...see his video tutorial for details https://youtu.be/cCTaCs_8j2M

The first thing you'll need to know is what tempo they are recorded at i.e. what BPM. For them to work properly your project must be set to the same BPM so the loop fills a complete number of bars/measures. Fortunately many of those you find will have the BPM included in the name e.g. if you see Trance07_145.wav there's a fair chance it works at 145BPM. But if you find one that doesn't tell you the tempo then you'll need to work it out. Musikbear's method works well or to give you a starting point just divide 480 by the length of the loop in seconds. This works because most loops are 2 bars/measures or 8 notes long. So a 4 second loop will be 480/4 = 120 BPM, 3.2 seconds is 480/3.2= 150 BPM etc. There are also some free BPM detector programs around but they're not all that reliable and I haven't found one yet that works on all the file types you're likely to meet.

So now you have a loop and you know its tempo. That's great if you're happy for your song to be at that tempo but what if you find a really good sounding loop but the speed is wrong i.e. you want your song to be 130BPM but the loop is 140BPM. LMMS can't really help you here but another free program Audacity can. You can get it from http://www.audacityteam.org/

Most samples that you find will be in one of the standard formats, normally .wav or, like the LMMS samples, .ogg. Audacity can handle these and most other formats. The basic approach to changing the tempo of a loop is fairly straightforward.

1. Open the loop using File/Open. You'll see something like:

Image

If it's mono rather than stereo as some loops are there will only be one waveform.

2. From the top menu select Effects/Change Tempo (NOT Change Speed, they're different!). You then fill in the current tempo, the new tempo you want and press OK. That's it done. This works fine for relatively small tempo changes but it is possible to make huge changes e.g. from 180BPM to something like 60BPM. If you go that far you may end up with something sounding a bit strange (or perhaps interesting...you decide).
Image

3. Now the slightly odd part...to save the changed sample you don't use SAVE. You need to use File/Export Audio and select a file name and file type. I normally use "WAV (Microsoft) signed 16 bit PCM" though you can use a different format if you like. I know LMMS handles WAV and Ogg Vorbis...not sure about the others. I also always add the new BPM to the file name so if I started out with XXXX.wav and converted it to 120BPM I'd call it XXXX_120.wav. You'll get some other complicated looking screens but just click OK to take the defaults (unless you really know what you're doing).
Image

4. When you close Audacity it will ask if you want to "Save changes before closing". Click on "No" (the Export Audio has already done all the saving you need).

Sometimes you'll find a file that has a longish silent bit at the end. To make it work properly as a loop you'll need to get rid of that first. You can do it in Audacity by selecting all the part before the silent bit (the cursor turns into a hand then the display darkens as you drag it to select). Then choose from the top menu Edit/Remove Special/Trim Audio. Then File/Export Audio as above.
Image
Image

There's lot more you can do with Audacity including recording your own beats or vocals etc. but this should be enough to get you going with loops (and this is the LMMS forum after all).

Any more questions feel free to ask, I'm no expert I've just done bits of experimenting but I'll try to help.

Steve
Excellent tutorial Steve :idea: I will add this to the wiki, if its ok?
slipstick wrote: There are also some free BPM detector programs around but they're not all that reliable and I haven't found one yet that works on all the file types you're likely to meet.
Heres an alternative:
http://www.all8.com/tools/bpm.htm

But its almost magic what sample-track can do in that aspect, because sample-track will actually find the BPM in your sample!

This how:
We will use Beats| 909beat01.ogg for this:
* Set BMP to 50 or even lower. It just need to significantly lower than you believe the BPM is in that sample.
* Insert an empty sample-track-block
* Drag the sample into the empty block
* play the sample
* Stop playback
* Spin BPM forward and watch the sample closely. At 61 BPM it suddenly changes length, and now fit perfectly in the bar!
You have found the perfect BPM for this sample!
-Or rather, the permute-value, because it is properly meant to used at double the found value, eg 122 BPM, but it will work at 244 as well! ..and 488, but now we are just being silly :p
If you copy the sample (ctrl+drag) to the 2. bar, there will be 100 correct looping.
I'm afraid that disappearing silence is just a display artifact. 909beat01.ogg doesn't actually have any silence on the end. It seems to be that when the BPM is set very low LMMS pads the waveform in the green box up to some minimum length. As you increase the BPM the sample eventually gets to a size where it fits better and the display is corrected. So it's not quite as magical as it first seems but it does give you an immediate feel for when you hit the right BPM.

If you really do have a sample with a silent end part you will still need to actually get rid of the blank bit with an audio editor like Audacity.

Sorry - Steve
slipstick wrote:I'm afraid that disappearing silence is just a display artifact.
:
If you really do have a sample with a silent end part you will still need to actually get rid of the blank bit with an audio editor like Audacity.
You are absolutely correct Steve. It is indeed just 'fake' silence. Audacity is needed if there is any silent or unwanted parts in a loop.
I edited the post. Thx for headsup!