Music Transcription Helper
A dockerized way to get utility for music transcription
Some tools are very usefull whe you need to transcribe music, but some of that can have requirements problems, so I create a docker-compose file to avoid to need that requirements on your computer. It can be founded in this repo.
I will take for example to want to transcribe the flute part of this song that is present on youtube.
Get started
Clone repo and build dockers, it will need much times:
git clone https://gitlab.com/nicolalandro/music-transcription-docker-compose-helper.git
docker-compose build
# or
docker compose build
Youtube DL
Youtube-dl is a tool to download from youtube:
docker-compose run youtube-dl --extract-audio --audio-format mp3 "https://www.youtube.com/watch?v=DPniE-OR9hs"
Demucs
Demucs is a tool that allow you to split audio in defferente sources wav that represent different instruments, but it does not support the flute so it will be founded into other.wav
docker-compose run demucs -n mdx_extra_q -d cpu "Lo spirito del Signore-DPniE-OR9hs.mp3" -o .
Now is enougth to transcribe manually.
Spleeter
Spleeter is an alternative of demucs, generally perform a bit less well but It have a features that confuse flutes with vocals, so I try to use it to separate flute into other without success.
docker-compose run spleeter separate -p spleeter:2stems -o output "/output/mdx_extra_q/Lo spirito del Signore-DPniE-OR9hs/other.wav"
Omnizart
Omnizart can trascribe the partiture or the chords, in this case I use it for trascribe all music, but tipically this task is not perform good as vocal or instrument solo transcriptions.
docker-compose run omnizart music transcribe "mdx_extra_q/Lo spirito del Signore-DPniE-OR9hs/other.wav"
Conclusions
We are mooving throw much help on music trascription but that AI models are not perfect, but also the fuction of subdivide audio from different surces type is a very usefull feature that help a lot.
I remember that all that works are open source, so we can fill the gap togheter by contributeing!