How to download free stems from lalal.ai

and create accurate backing tracks for your practicing sessions

The only publicly available website I know that manages to successfully isolate single instruments from very busy tracks (in my case, Zappa’s guitar solo from Keep It Greasy) is lalal.ai. Out of the box, the website offers a free tier which is basically useless because of two reasons: you can only process a maximum of ten minutes of audio, and you cannot even download the stems afterwards. Luckily, there is a way to bypass both the time limitation and the paywall in order to create infinite high-quality backing tracks for free:

1. Create a free-tier account using a disposable email service

Disposable emails virtually remove the arbitrary ten-minute time limit by allowing you to continuously create new accounts as soon as you reach the limit on the old ones. The website will try to block your attempts to do so (“Please enter your permanent email address, not a disposable one”), but the DuckDuckGo Email Protection service works perfectly fine for our purposes. Set it up on your browser and generate a new fake email address with it every time you log into lalal.ai: this way you will never run out of processing time.

2. Upload and process your file

Once you are logged in, just use the website as intended—select which instrument you want to isolate from the rest of the arrangement, and upload your audio file. When the first preview page appears, click on the button confirming you want to actually process the whole file, and wait until you get redirected to the results.

3. Download the generated backing track

Once the processing is complete, the page will update and show you the two stems it extracted from your input file. In theory, free-tier accounts should only be able to preview and listen to these files directly in the browser; downloading them requires a paid account. In practice, though, a browser cannot play back audio files without also downloading them somehow. If you start the playback and open your Network tab (CTRL + SHIFT + E on Firefox, F12Network on Chrome), you will be able to see exactly how your browser does it: in this case, each stem is split in many segments, then fetched selectively according to the playback cursor position (probably for performance reasons).

A screenshot of how browser's file download requests look like in the Firefox console.

Example of a segment file download request. If you click on its title, the browser will reveal in the Headers tab on the right the complete path from which it is fetching the audio file (underlined in red by me).

The good news is that if you copy and paste these URLs in a new tab, you can download and save all of your audio segments just fine. Each segment is approx. only ten seconds long though, so you absolutely do not want to copy-paste all of these URLs by hand because there will be dozens of them and it would take way too much time. Most likely, your operating system already has some kind of small utility command-line tool for downloading files. On Linux, for example, you could use curl; on Windows, you could use the Invoke-WebRequest command on PowerShell instead. Whatever your operating system is, it is very trivial to write a simple script to automate the download of all these segment files at once, because their URLs only differ by their segment number in a predictable, sequential way (000, 001, 002, etc.). It is so trivial, in fact, that even ChatGPT manages to do it correctly. Just ask it to generate a script for your operating system to automatically iterate through all segments, download them in the current folder and abort execution as soon as there are no more segments to download. Chances are it will work perfectly already on your first try, and you won’t have to write any code at all. That is exactly what happened with the PowerShell script it spit out for me. You can use it as well, just remember to replace the URL value for $baseUrl to whatever your request paths are before running it.

4. Consolidate all segments into one single track

Once you execute your script, you will have a bunch of segment-***.mp3 files laying around in your folder—you now need to join them all together into one single file. It is not as easy as it looks though, since there is a very short (~0.012s) but noticeable silence gap at the start of every segment. The simplest way I found to both trim the start of every file and consolidate them all into one single track is just by using Audacity macros. You can download the one I created and import it in your project (Tools → Macros… → Import…) so you can execute it as well and process all files simultaneously. Once you have imported it and can see it in the list of available macros (Tools → Apply macro → Process lalal.ai segments) you can just:

  1. Import all segments into a new Audacity project. You should see one track for each segment and they should all be aligned with the start of the project timeline;
  2. Execute the “Process lalal.ai segments” macro. This will trim all segments and automatically align them end-to-end, so that tracks only start when the previous one ends;
  3. Export your project as a .wav file (File → Export → Export as WAV).

Some examples

Here are just some examples of guitar backing tracks I managed to obtain by following the whole process above. A great thing about it is that the most time-consuming step is basically waiting for lalal.ai to process your audio files—everything else is pretty much instantaneous. Also the resulting quality seems to be generally acceptable, given these tracks are only meant as practice tools. As you can hear, the stem separation algorithm seems to work fine even in very hectic arrangements, or very lo-fi recordings. In some instances it also had the nice side-effect of only isolating the distorted lead guitar and keeping the clean rhythm guitar in, so you can focus 100% on your solos. Happy practicing!

Frank Zappa - Keep It Greasy (guitar backing track) download audio
Living Colour - Funny Vibe (guitar backing track) download audio
The Honeymoon Killers - Mad Dog (guitar backing track) download audio
Prince - Let's Go Crazy (guitar backing track) download audio
Barkmarket - Grinder (guitar backing track) download audio
Infectious Grooves - Punk It Up (guitar backing track) download audio
Monster Magnet - Medicine (guitar backing track) download audio