Piano transcriber
- 5 Devlogs
- 19 Total hours
A software that detects audio and converts it to readable piano sheet music. First version is complete, it is called PyScribe since it is coded fully in python.
A software that detects audio and converts it to readable piano sheet music. First version is complete, it is called PyScribe since it is coded fully in python.
The transcriber itself is finished. This project took a very long time. From last time, I continued to improve the vibrato fixing algorithm, minimizing the number of micro-short notes that make parts of the sheet sound bad. I also added a music title and composer feature where you can type in the name of the artist and composer, and it will show up on the sheet. Lastly, I improved the rhythm detection algorithm. WIth the song I was testing, I noticed how some sections sounded much faster than others. The issue was that the amount of measures in the sheet music didn’t end up being equal to the duration of the entire song, leading to some parts sounding compressed. I resolved this issue mainly by making the rhythm detection algorithm look for one steady pulse of beat that goes throughout the entire song, and build the sheet off of it. The transcriber’s first version is complete!
It has definitely been a while. Alot of progress has been made and this project is finalized. After nailing the mapping of the bass clef onto the treble clef, I went on to make the following changes. First I added different variations to the bass clef based on the “liveliness” of a song. Then I also added a seed feature that purposely varies not only the way the bass clef is built but also the rhythm in the treble clef by offsetting it by a miniscule amount. The users have the option to regenerate sheets with random seeds and different variations if they are unsatisfied with their results. Then I added multiple clean-up stages to the introduction and conclusion, and also added clean-up logic to get rid of unnecessary micro-notes, sharps, and ultra high/low notes. I tested this model on 3 different songs, all of them produced satisfactory results.
Made a ton of progress. The chord extractor is perfected and so is the bass clef. It took a while to get the bass clef finally aligned with the treble clef. Now I am trying to clean up the rhythm in the treble clef so that it is accurate to the actual song. I have created numerous different versions with different approaches to test which one would work the best. Currently got the pitch, readability, and alignment nailed down, been spending a lot more time on the rhythm.
Created a mostly functional and working vocal transcription system. It is mostly accurate both pitch and rhythm-wise, and now I will be working on aligning the accompaniments (the bass-clef).
Working on perfecting the transcription of vocals. Before I tried to transcribe vocals directly from the vocals audio file, but now I am using a different approach, using the drums, bass, and non-vocal sounds as a reference for the vocal transcription.