Перейти к содержанию
    

Голосовой синтезатор на STM32F4xx

Собственно есть небольшая задачка :rolleyes: , сбацать вот такую штуковину, чтобы при вводе текста, контроллер проговаривал его, например, через встроенный ЦАП. Ну и самое главное, чтоб это было хотябы более-менее похоже на чел. голос :biggrin:

 

Может кто уже что-то подобное делал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только с кодеком более-менее получиться, цап у 4хх не то. Проходили это. Посмотрите как это у китацев сделано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только с кодеком более-менее получиться, цап у 4хх не то. Проходили это. Посмотрите как это у китацев сделано.

 

Да не скажите - работает wav плеер на встроенном цапе - качество вполне достойное, еслиб он так текст проговаривал, то это просто шикарно будет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. тут как скаать, .. может кого и три ноты устраивает в музыке, ... и это просто шикарно будет!

Но, я бы хотел семь нот слышать и их сочетания, комбинации и тп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. тут как скаать, .. может кого и три ноты устраивает в музыке, ... и это просто шикарно будет!

Но, я бы хотел семь нот слышать и их сочетания, комбинации и тп.

 

Тут дело не в нотах и музыке :biggrin:

 

Вы когда по сотику разговариваете, ведь прекрасно понимаете собеседника, а тут качество в 2 раза выше.

 

Никто не говорит о качестве музыкального воспроизведения, это просто голос, сложность в формировании звуков, т.е. конечно, можно назаписывать кучу слов, проиндексировать и потом загружать и проигрывать, НО это будет занимать очень много места (хотя решается картой памяти), и пригодно только для проговаривания числительных, а вот как сделать синтез слов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если только числительные - тогда это не очень много места. Синтез нормальный займет его существенно больше (русский). И времени на разработку потратите ...дцать человеко-лет, пока можно будет слушать без тошноты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если только числительные - тогда это не очень много места. Синтез нормальный займет его существенно больше (русский). И времени на разработку потратите ...дцать человеко-лет, пока можно будет слушать без тошноты.

 

В принципе - согласен. Во первых, слушать без тошноты можно только навороченные версии фестиваля с всяческими интерполяциями и т.д. Посмотрел на их объем кода - цать человеколет обеспечено :crying:

 

И второе - как правило в задачах нужно проговаривание каких-либо фраз типа "у вас осталось" NNN "чего-то там", а вот числа - это вещь полезная, причем уже делал все это на компе.

 

Вобщем тема можно сказать, закрыта :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У STMicroelectronix есть проект под STM32F103xx и кодек SPEEX.

Есть там функции как realtime речи, так и воспроизведения из FLASH заранее записанного фрагмента.

Я реализовал цифровую рацию на cc1101 и этом кодеке. Работает прекрасно, скорость передачи данных 10 кбит/сек, качество не хуже чем в мобильнике.

Изменено пользователем Salamander

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В принципе - согласен. Во первых, слушать без тошноты можно только навороченные версии фестиваля с всяческими интерполяциями и т.д. Посмотрел на их объем кода - цать человеколет обеспечено :crying:

Когда-то (во времена ДОС) на PC писал читалку книжек. :)

Так как своих знаний не хватало для создания своего синтезатора, то использовал готовый (уже тогда они были).

Я использовал Фонемафон. Исходники его мне найти не удалось, но имелся исполняемый бинарник. Я его частично дизассемблировал, нашёл точки входа

нужных функций, завернул в библиотеку и прилинковал к своей программе.

Качество звучания было вполне приемлемым для прослушивания книжек. Его можно было ещё существенно повысить если расставить ударения в словах.

Но найти открытых словарей с ударениями для русских слов мне тогда не удалось, сделал сам на какое-то кол-во слов.

Я потом много книжек прочитал (т.е. - прослушал) с помощью него. :)

Так вот - тот исходный исполняемый бинарник весил менее 64К. И большая часть там как я понимаю не код, а некие структуры данных.

Работало это у меня на i486 на 100МГц. :)

Исходный Фонемафон который я использовал был образца 1991 года. Возможно за это время где-то в сети появились его исходники.

Если их найти, то судя по всему современный Cortex-M3 вполне его потянет по ресурсам (памяти и быстродействию).

Попробуйте погуглить: СИНТЕЗАТОР РУССКОЙ РЕЧИ "ФОНЕМАФОН"

Если интересно, приаттачиваю сюда доку от него: README.ZIP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда-то (во времена ДОС) на PC писал читалку книжек. :)

 

Качество звучания было вполне приемлемым для прослушивания книжек. Его можно было ещё существенно повысить если расставить ударения в словах.

 

А вам память случайно не изменяет?

Даже сейчас движки текст-в-речь очень часто дают нечто неразборчивое.

Без специальной разметки текста специально для проговаривания получается очень посредственное качество различимости некоторых выражений.

 

Т.е. сложность даже не в воспроизведении, а в специальной разметке текста.

Кто ее будет специально делать для встраиваемого устройства?

 

Фича воспроизведения голосом произвольных текстов очень рискованная с точки зрения юзабельности и лучше ее опробывать базируясь на WEB сервисах. А их кстати теперь очень много. Например - https://www.vocalware.com/

Время отклика вполне приемлемое.

Фразы, как понимаю, можно конвертировать и не в реальном времени.

Тут надо спросить сразу откуда может появляться сам динамический текст в приложении на Cortex-M4? Скорее всего весь текст уже известен на этапе компиляции.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вам память случайно не изменяет?

Даже сейчас движки текст-в-речь очень часто дают нечто неразборчивое.

Без специальной разметки текста специально для проговаривания получается очень посредственное качество различимости некоторых выражений.

Случайно - нет. В сети можно найти образцы звучания Фонемафона. Качество конечно пониже чем у современных, но книжки можно слушать вполне разборчиво.

И про ударения я писал.

 

Тут надо спросить сразу откуда может появляться сам динамический текст в приложении на Cortex-M4? Скорее всего весь текст уже известен на этапе компиляции.

И что? Размер такого текста на порядки меньше чем его представления в аудиоданных. А для встраиваемых систем это критично.

А может быть и динамический, если устройство принимает некие данные извне и их озвучивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У STMicroelectronix есть проект под STM32F103xx и кодек SPEEX.

Есть там функции как realtime речи, так и воспроизведения из FLASH заранее записанного фрагмента.

Я реализовал цифровую рацию на cc1101 и этом кодеке. Работает прекрасно, скорость передачи данных 10 кбит/сек, качество не хуже чем в мобильнике.

 

А более подробно с этим можно где-то ознакомится ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фича воспроизведения голосом произвольных текстов очень рискованная с точки зрения юзабельности и лучше ее опробывать базируясь на WEB сервисах. А их кстати теперь очень много. Например - https://www.vocalware.com/

Время отклика вполне приемлемое.

Фразы, как понимаю, можно конвертировать и не в реальном времени.

Тут надо спросить сразу откуда может появляться сам динамический текст в приложении на Cortex-M4? Скорее всего весь текст уже известен на этапе компиляции.

 

Возможно, но как правило нужно качественное подключение к инету, а в моем случае рассматривается полностью автономное устройство.

 

Да, как правило фразы уже заготовлены, но есть числа, которые меняются, поэтому и написал, что достаточно числительных. Да при этом существует ограничение, но все-таки у меня нет задачи делать читалку книг, а просто голосовое меню - так что пойдет, зато голос будет как у человека, а не нечто похожее на голос :biggrin:

 

Ну и в третьих - голос планируется передавать через телефонную или сотовую сеть, и это еще добавляет вклад в неразборчивость голоса, так что какой-либо фонемный синтезатор его ухудшит еще сильнее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и в третьих - голос планируется передавать через телефонную или сотовую сеть, и это еще добавляет вклад в неразборчивость голоса, так что какой-либо фонемный синтезатор его ухудшит еще сильнее...

 

Современные TTS движки проговаривают числа целиком без синтеза.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...