КАК заставить компьютер петь
Я пытаюсь разработать онлайн-приложение, в котором пользователь пишет текст, а программное обеспечение поет его пользователю.
В настоящее время я могу создать аудиофайл со словами, произнесенными компьютером, используя espeak, но я не знаю, как сделать так, чтобы он звучал как песня, как добавить к ней ритм.
Я могу изменять высоту и темп, используя резинку, но это насколько я понял.
Кто-нибудь знает, как это сделать?
2 ответа
Я закончил тем, что использовал режим пения Фестиваля. Звучит неплохо, за исключением того, что работает только с английскими голосами.
Если вы хотите использовать резинку для изменения длительности и высоты тона, то я думаю, что сложная часть будет отображаться из фонем / слогов в тексте в соответствующие звуковые диапазоны в выходных данных речевого систеза, для которых у меня нет простого предложения. (В идеале вы должны попасть внутрь синтезатора речи, чтобы он обеспечил вам отображение от фонем до местоположения аудио.)
Более простой альтернативой может быть использование языка разметки синтезатора речи - SSML. Он имеет элементы "питч" и "длительность", которые могут точно указывать высоту звука в Гц и длительность в секундах. Вы также можете указать объем для управления динамикой.
Учитывая это, вы можете попытаться преобразовать текст в документ SSML и разметить слова / слоги / фонемы с помощью атрибутов высоты тона / длительности и объема.