Skip to content

Common issues & FAQs

Jeffrey Chen edited this page Jun 24, 2022 · 6 revisions

How do I update Spleeter Web?

If you are updating from v1.0 or earlier and you use Docker to run Spleeter Web, please note that the database backend has changed from PostgreSQL to SQLite. Please backup your track list as the data in the DB will not carry over when updating. Your media files will not be impacted.

First, do a git pull to fetch the latest changes. Then, depending on if you're using Docker or not, do the following:

Using prebuilt Docker images

# For regular CPU separation
spleeter-web$ docker-compose -f docker-compose.yml -f docker-compose.dev.yml down && \
              docker-compose -f docker-compose.yml -f docker-compose.dev.yml pull && \
              docker system prune && \
              docker-compose -f docker-compose.yml -f docker-compose.dev.yml up

# For GPU separation
spleeter-web$ docker-compose -f docker-compose.gpu.yml -f docker-compose.dev.yml down && \
              docker-compose -f docker-compose.gpu.yml -f docker-compose.dev.yml pull && \
              docker system prune && \
              docker-compose -f docker-compose.gpu.yml -f docker-compose.dev.yml up

Building Docker images from source

# For regular CPU separation
spleeter-web$ docker-compose -f docker-compose.yml -f docker-compose.build.yml -f docker-compose.dev.yml down && \
              docker-compose -f docker-compose.yml -f docker-compose.build.yml -f docker-compose.dev.yml up --build

# For GPU separation
spleeter-web$ docker-compose -f docker-compose.gpu.yml -f docker-compose.build.gpu.yml -f docker-compose.dev.yml down && \
              docker-compose -f docker-compose.gpu.yml -f docker-compose.build.gpu.yml -f docker-compose.dev.yml up --build

Without Docker

You will need to re-run pip install -r requirements and python manage.py migrate and npm install (in the frontend directory).

I get a CORS error when trying to play a dynamic mix.

To play a dynamic mix, you will need to configure your storage service's CORS settings to allow the Access-Control-Allow-Origin header.

For more information on how to do this on Azure, see this.

If you have ENABLE_CROSS_ORIGIN_HEADERS set, then you'll need to also set the Cross-Origin-Resource-Policy response headers to cross-origin. See this for more details.

Tracks don't play on Safari.

It's recommended to use Chrome or Firefox. Safari is not well-supported at the moment. If you imported a track through YouTube, chances are that it downloaded the audio track as WebM, which Safari cannot play.

When playing a track I cannot perform seeks.

The server that is hosting your media files has to support byte-range requests in order for you to be able to perform seeks.

If you are running Spleeter Web locally and storing your media files locally as well, this is expected behaviour as the development Django webserver does not support byte-range requests. You can try to configure it to use nginx + gunicorn instead.

If you are using Azure Blob storage, you need to increase the API version to 2011-01-18 or newer, as the default API version does not support it. See this StackOverflow post for more details. Or you can check out this simple C# program.