Skip to main content

Singing synthesis from MIDI file

Project description

Singing Synthesis from MIDI file

This script relies on the sinsy.jp 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.

Requirements

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

Installation

pip install git+git://github.com/mathigatti/midi2voice.git

Usage

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

Credits

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. https://doi.org/10.5281/ZENODO.3969003

DOI

Support my work

If you want to help me to keep going developing and maintaining open-source projects you can contribute buying me some ko-fi.

License

MIT

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.4.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

midi2voice-1.0.4-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page