Skip to main content

Singing synthesis from MIDI file

Project description

Singing Synthesis from MIDI file

This script relies on the website from the Nagoya Institute of Technology which implements a HMM-based Singing Voice Synthesis System.

You can find a sample merged with the instrumental audio here.


  • musescore: It's used to convert midi to musicxml
  • python 3


pip install midi2voice


You can use it running the installed module using python -m. It has five parameters, the lyrics_file, midi_file, singer sex (optional), tempo (optional) and destination folder (optional).

Usage example

Check the midi and text samples here.

# Print help
python3 -m midi2voice -h

# Generate the voice given a midi file and a text file with the lyrics
python -m midi2voice -l shallow.txt -m shallow.mid -g female -t 96

Try it on Colab

If you don't have python installed or you just want to check it quickly you can try it online here.

Open In Colab


This source code was developed by Mathias Gatti (@mathigatti) if you use it please remember to cite me. For scientific publications you can use this DOI.

Gatti, M. (2020). mathigatti/midi2voice v1.0.0 (v1.0.0) [Computer software]. Zenodo.


Support my work

Mathias's open-source projects are supported by his Patreon. If you found this project helpful, any monetary contributions to the Patreon are appreciated and will be put to good creative use.



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midi2voice-1.0.2.tar.gz (4.9 kB view hashes)

Uploaded source

Built Distribution

midi2voice-1.0.2-py3-none-any.whl (6.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page