Skip to content

The project's objective is to be able take an input audio file (optimized for songs) and separate into its constituent sources or instruments, like guitar, bass, drums, vocals, violins, percussion, etc.

License

Notifications You must be signed in to change notification settings

atmafra/audio-source-separator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

audio-source-separator

The project's objective is to be able take an input audio file (optimized for songs) and separate into its constituent sources or instruments, like guitar, bass, drums, vocals, violins, percussion, etc.

What it Does

This script provides a command-line interface to separate audio sources using one of two popular tools: Spleeter or Demucs. You can choose which tool to use and specify input/output files. The configuration for each tool (like the specific model to use) is managed using Pydantic models.

Prerequisites

This project uses Poetry for dependency management and packaging.

Python Dependencies

First, ensure you have Poetry installed. Then, navigate to the project root directory and run:

poetry install

System Dependencies

  • libsndfile: Required by torchaudio (a dependency of Demucs) for audio file operations on some systems. On Debian/Ubuntu: sudo apt-get install libsndfile1
  • (Optional but Recommended) FFmpeg: While ffmpeg-python is listed in requirements, having the ffmpeg command-line tool installed system-wide can be beneficial for broader compatibility. On Debian/Ubuntu: sudo apt install ffmpeg

About

The project's objective is to be able take an input audio file (optimized for songs) and separate into its constituent sources or instruments, like guitar, bass, drums, vocals, violins, percussion, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages