An automated pipeline to download, upscale audio (Demucs, DeepFilterNet, AudioSR) and generate visualizations.
Project description
Music Upscaling & Visualization
An automated pipeline that downloads audio from YouTube, upscales it using Demucs, DeepFilterNet, and AudioSR, and generates side-by-side comparison visualizations.
Prerequisites
- FFmpeg: Must be installed and available in your
PATH. - C Compiler:
cc(Linux) orcl.exe(Windows/MSVC) for building the visualizer. - Python 3.11: Required. This project relies on specific versions of
torchaudioandDeepFilterNetthat have compatibility issues with Python 3.12+. - X11 Libraries: (Linux only) Required for building the visualizer (Musializer).
- On Debian/Ubuntu:
sudo apt install libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev
- On Debian/Ubuntu:
Installation
pip install Music-Upsacler-and-Visualizer
Note: It is highly recommended to use a virtual environment with Python 3.11.
Setup
The visualization component (Musializer) needs to be compiled locally.
-
The tool will automatically clone the musializer repository if it's not present when you run it, or you can do it manually:
git clone https://github.com/mariobx/musializer-file-paths
-
Compile the binary:
- Linux:
cd musializer-file-paths && cc -o nob nob.c && ./nob - Windows (MSVC):
cd musializer-file-paths && cl.exe nob.c && nob.exe
- Linux:
The tool expects the binary at ./musializer-file-paths/build/musializer by default, or you can specify the path using --musializer_dir.
Usage
After installation, you can use the musicupscaler command:
musicupscaler <YOUTUBE_URL>
Options:
-f,--format: Audio format to download (mp3,m4a,wav,flac) (default:mp3).-t,--threads: Number of threads for upscaling.--to_upscale: Directory for initial downloads.--post_upscaled: Directory for upscaled audio.--final_video_dir: Directory for the final comparison video.--musializer_dir: Path to the compiled Musializer directory.
How it Works
- Download: Uses
yt-dlpto fetch the highest quality audio. - Upscale:
- Demucs: Separates audio into stems.
- DeepFilterNet: Denoises the vocal stem.
- AudioSR: Performs Super-Resolution (48kHz).
- Pedalboard: Mixes, masters, and applies stereo widening.
- Visualize: Uses a custom build of Musializer to generate waveforms.
- Stitch: FFmpeg creates a side-by-side "BEFORE" vs "AFTER" comparison video.
Created by mariobx
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file music_upsacler_and_visualizer-0.1.0.tar.gz.
File metadata
- Download URL: music_upsacler_and_visualizer-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c7bf07a38f231324ed76e37c88c8e0d875feae32526a87f9f01977f46d8613a
|
|
| MD5 |
af0c780e301e0c1a59b3d2e5aa546975
|
|
| BLAKE2b-256 |
48fd81cb4a7163f3ff2bf207118d0a2ecfbb55b2eb2dd80a3738cb923ba88ec2
|
File details
Details for the file music_upsacler_and_visualizer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: music_upsacler_and_visualizer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55df0c80b43ca984385ff58cacb9ccf4b854f6d87a27add167e2aab6bf64181d
|
|
| MD5 |
50ca5dd06ac6be06e1d33d836932aeaa
|
|
| BLAKE2b-256 |
478dedcb7cf17d2d156befba45134b2bb50ffc65631ff50f26ac87aa81cc92a9
|