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
Metadata
Release files for Music-Upsacler-and-Visualizer 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| music_upsacler_and_visualizer-0.1.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| music_upsacler_and_visualizer-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.4 kB
Release files / music_upsacler_and_visualizer-0.1.0.tar.gz
| Download URL | music_upsacler_and_visualizer-0.1.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c7bf07a38f231324ed76e37c88c8e0d875feae32526a87f9f01977f46d8613a
|
|
BLAKE2b-256 checksum How to use checksums |
48fd81cb4a7163f3ff2bf207118d0a2ecfbb55b2eb2dd80a3738cb923ba88ec2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / music_upsacler_and_visualizer-0.1.0-py3-none-any.whl
| Download URL | music_upsacler_and_visualizer-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
55df0c80b43ca984385ff58cacb9ccf4b854f6d87a27add167e2aab6bf64181d
|
|
BLAKE2b-256 checksum How to use checksums |
478dedcb7cf17d2d156befba45134b2bb50ffc65631ff50f26ac87aa81cc92a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|