# A Comprehensive Review on Music Transcription
## 6 Python Libraries for Music Transcription  
There are various python libraries available on the internet that can collectively offer a range of capabilities, from comprehensive score analysis to MIDI manipulation, deep learning-based transcription, specialized pianoroll processing, and advanced audio analysis. Their unique strengths provide various aspects of music transcription for researchers, developers, and musicians with diverse tools for musical compositions.  
Librosa [99] is a prominent library renowned in music and audio analysis. The primary focus of Librosa lies in audio processing, not in transcription, but it plays a crucial role in transcription-related workflows. It supplies a python build-in function for estimating beat, pitch, and tempo. By extracting this information from audio recordings, Librosa serves as an essential preliminary step for accurate and insightful music transcription. Another popular music transcription tool is Music21 [100]. It is a comprehensive toolkit designed to facilitate tasks in computer-aided musicology. With its rich feature set, it enables the parsing, manipulation, and analysis of musical scores. Music21 supports multiple music notation formats, including MIDI and MusicXML, making it a versatile choice for transcribing and processing music data. Researchers and musicians alike benefit from its capabilities for extracting musical features and converting between different notation representations. The next python library for music transcription is Midiutil 1.2.1 ([[https://github.com/[PERSON]/MIDIUtil](https://github.com/[PERSON]/MIDIUtil)]([https://github.com/[PERSON]/MIDIUtil](https://github.com/[PERSON]/MIDIUtil)), accessed on 5 October 2023). It is a library specifically designed for creating and manipulating MIDI files. While it does not provide direct music transcription capabilities, it is useful for generating MIDI filesfrom scratch or modifying existing ones. This can be handy for tasks such as converting transcribed music data into an MIDI format. Similarly, the transcription library called Pypianoroll [21] was designed especially to handle multitrack pianorolls data, which is a compact representation of musical scores often used in electronic music. While not strictly for music transcription, it can be useful for tasks involving pianoroll-based music analysis, such as generating and modifying MIDI-like sequences. Moreover, another popular python library called madmom [101] focuses on research and experimentation in the field of music information retrieval. It is suitable for both novice users who want to perform basic transcription tasks and researchers who want to develop and test new algorithms for more advanced applications. It provides a wide range of tools and functions for analyzing audio signals and extracting useful information from them. Music transcription in madmom involves converting audio recordings of music into a symbolic representation, often in the form of musical notes, chords, or other musical elements. Some other popular python libraries related to transcription include Essentia 2.0.1, ([[https://github.com/MTG/essentia](https://github.com/MTG/essentia)]([https://github.com/MTG/essentia](https://github.com/MTG/essentia)), accessed on 5 October 2023) [102], Aubio 0.4.9, ([[https://github.com/aubio/aubio](https://github.com/aubio/aubio)]([https://github.com/aubio/aubio](https://github.com/aubio/aubio)), accessed on 5 October 2023) [103], and pydub 0.25.1 ([[https://github.com/jaaro/pydub](https://github.com/jaaro/pydub)]([https://github.com/jaaro/pydub](https://github.com/jaaro/pydub)), accessed on 5 October 2023).