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


pip3 install midi2voice


It is used running the main script, it has four parameters, the lyrics_file, midi_file, singer sex (optional) and tempo (optional).

Usage example

python3 -m midi2voice -h

python3 -m midi2voice shallow.txt shallow.mid female 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.

Files for midi2voice, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size midi2voice-1.0.1-py3-none-any.whl (6.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size midi2voice-1.0.1.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View

Supported by

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