Omnizart UI is a browser-based UI to simplify use of Omnizart - a ML music transcription tool that converts music files into MIDI files.
- Prerequisites:
- Docker Desktop installed
- Clone this repository into a folder of your choosing
- Set the
working directory
to the folder containing thedocker-compose.yml
file - Run
docker compose up
in the terminal - Navigate to http://localhost:5173/
- Upload a file within the
Select Input File
section - Select the desired transcription mode
- Music (Transcribes all instruments/vocals)
- Vocal (Extracts out only the melody)
- Click Transcribe
- Alternatively, toggle
Auto-Transcribe
toOn
to start the transcription process immediately after uploading a file
- Alternatively, toggle
- Wait for transcription to finish (this may take a while)
- To hear a preview of the transcribed file, start the player in the
Transcription Result
section - Click on
Download
to download the resultant MIDI file.
- Navigate to the sidebar, click the
โบ
button to expand it if neccessary - Find the transcribed file and click on the download icon
- Results can be filtered based on filename in the
Settings
box
- Results can be filtered based on filename in the
- Omnizart UI not directly affliated with the original creators of Omnizart
- The transcription history is stored in non-persistent storage, destroying the backend container will erase the transcription history
- Modes
Drums
&Chords
are currently unsupported due to Python version dependency issues in Omnizart (Python 2.7 required) Vocal Contour
is omitted, since it produces a .wav file instead of a midi transcription.
Citation as requested by the authors of Omnizart:
[Omnizart]
@article{Wu2021,
doi = {10.21105/joss.03391},
url = {https://doi.org/10.21105/joss.03391},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {68},
pages = {3391},
author = {Yu-Te Wu and Yin-Jyun Luo and Tsung-Ping Chen and I-Chieh Wei and Jui-Yang Hsu and Yi-Chin Chuang and Li Su},
title = {Omnizart: A General Toolbox for Automatic Music Transcription},
journal = {Journal of Open Source Software}
}