Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/otonomee/streamstem
Implements ML audio separation algorithm on audio from YouTube or Spotify resulting in "stems" for download (e.g. vocals, drums, bass) in MP3, WAV or FLAC.
https://github.com/otonomee/streamstem
audio-classification deep-learning demucs fastapi machine-learning source-separation spotify-stemmer youtube-stemmer
Last synced: about 4 hours ago
JSON representation
Implements ML audio separation algorithm on audio from YouTube or Spotify resulting in "stems" for download (e.g. vocals, drums, bass) in MP3, WAV or FLAC.
- Host: GitHub
- URL: https://github.com/otonomee/streamstem
- Owner: otonomee
- Created: 2023-09-07T20:29:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-25T10:08:07.000Z (3 months ago)
- Last Synced: 2024-08-25T18:40:27.211Z (3 months ago)
- Topics: audio-classification, deep-learning, demucs, fastapi, machine-learning, source-separation, spotify-stemmer, youtube-stemmer
- Language: Python
- Homepage: http://www.streamstem.com
- Size: 186 MB
- Stars: 20
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# StemStream
## Extract the "stems" (e.g. drums, vocals, bass) from any song on Spotify or Youtube into separate audio files
## Introduction
This is a Flask web app using the following resources:
- [Demucs ML model](https://github.com/facebookresearch/demucs): Demucs is an music source separation model that creates the stems
- [yt-dlp](https://github.com/yt-dlp/yt-dlp): Extracts the audio from the YouTube videos before passing them into demucs.
- [Spotify API](https://developer.spotify.com/documentation/web-api) & [Youtube Data API](https://developers.google.com/youtube/v3) for URL conversion## Screenshot
![alt text](static/landing-new.png)
## Installation
0. Install Python
1. Clone the repository: Open a terminal and clone the repository using the following command:
```
git clone https://github.com/otonomee/youtube-ai-stem-separator.git
```2. Install dependencies: Navigate to the project directory and install the required dependencies
by running the following command:```
pip install -r requirements.txt
```3. Run the web app: Start the web app by running the following command:
```
python main.py
```Or Mac
```
sudo python3 main.py
```4. Access the web app: Open your web browser and go to
[http://127.0.0.1:5000](http://127.0.0.1:5000:5000) to access the web app.## Usage
1. Enter the YouTube video URL: On the web app's homepage, enter the URL of the YouTube video you
want to convert the audio from.2. Select the number of stems you'd like:
- 2 stems: vocals and instrumental
- 4 stems: vocals, drums, bass, other
- 6 stems: vocals, drums, bass, guitar, piano, other3. Select desired output format
4. Hit Submit and wait a few minutes. Download prompt will appear when finished :)