HOW-TO Make a computer sing

I am trying to develop an online application in which the user writes some text and the software sings it to the user.

Currently I can generate an audio file with words spoken by a computer using espeak, but I have no idea how to make it sound like a song, how to add rhythm to it.

I can change the height and pace using a rubber band, but this, as I understand it.

Does anyone know how to do this?

+4
source share
2 answers

In the end, I used the Festival's singing mode. It sounds good, except that it only works with English voices.

0
source

If you want to use rubber tape to change the duration and pitch, then I think that the difficult part will be displayed from phonemes / syllables in the text to the corresponding audio ranges in the sine output, for which I do not have a simple sentence, (Ideally, you get into a speech synthesizer so that it provides you with a mapping from phonemes to audio location.)

The simplest alternative would be to use Speech Synthesizer, the SSML markup language. It has the elements "pitch" and "duration", which can absolutely determine the step in Hz and the duration in seconds. You can also specify the volume to control the dynamics.

Given this, you can try to convert the text to an SSML document and mark words / syllables / phonemes with attributes of pitch / duration and volume.

0
source

Source: https://habr.com/ru/post/1308709/


All Articles