Credit: This script is a convenience wrapper for the UltraSinger project.
All credit for the core functionality goes to the UltraSinger authors and contributors.
- Prepares and configures a Docker environment for UltraSinger (CPU-only, for now).
- Automatically mounts cache, output, and configuration directories.
- Builds and runs the
rakuri255/ultrasinger:latestcontainer. - Supports both YouTube URLs and local media files (MP3/MP4).
- Forwards additional UltraSinger flags for custom model/options (e.g.,
--language en). - Auto-installs MuseScore 3 in the container for sheet music (MusicXML, PDF not supported yet).
It does not modify or include any of the original UltraSinger code—it simply automates the setup and execution steps.
- Docker
In addition to the command-line script, this project includes a graphical interface (GUI) designed for ease of use.
Make sure you have Docker already installed on your system or the program will not allow you to continue without it. Once you have docker installed, paste the URL of the Youtube video or the path to your local mp3/mp4 local file and press
You can save your "Advanced options" going to File -> Save Options
In Linux systems, it will create your config file in ~/.config/.youtube2ultrastar.conf
In Windows systems, it will create your config file in %APPDATA%/.youtube2ultrastar.conf
In macOS systems, it will create your config file in '~/Library/Application Support/.youtube2ultrastar.conf
The program will automatically load the configuration file if it exists in the system.
-
Ensure you have
dockeranddocker composeinstalled. -
Download or clone this repository.
-
Make the converter script executable:
chmod +x convert
-
Run the script:
Basic (YouTube URL only):
./convert "https://www.youtube.com/watch?v=VIDEO_ID"Local file (MP3/MP4):
./convert "/full/path/to/song.mp4"Advanced:
./convert <INPUT_SOURCE> [workdir] [--language xx] [additional UltraSinger flags]
INPUT_SOURCE: YouTube URL or local file. (local files should be place in a folder namedinputinside yoursongsfolder)workdir: directory wheresongs/will be created (default: current directory).--language xx: override language detection (e.g.,--language enor--language es).- Additional flags (e.g.,
--whisper large-v2,--format_version 2.0.0) will be forwarded to UltraSinger.
Example:
./convert "https://www.youtube.com/watch?v=VIDEO_ID" ~/my_songs --language en --whisper large-v2 --format_version 2.0.0
-
Find your UltraStar files in
songs/output/under the chosen working directory.
This script is provided as-is and is intended solely to simplify the process of converting YouTube videos or local media for use with UltraStar.
Use it at your own risk. The author of this wrapper script assumes no responsibility for any damages, misuse, or legal issues that may arise from its use.
Please respect YouTube’s Terms of Service and any applicable copyright laws when downloading or converting video content.
Use only content you own or have permission to use—pirated material is strictly prohibited.