Например TDA7294

Форум РадиоКот • Просмотр темы - Синтез речи на STM32F100
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб июн 14, 2025 00:29:04

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Синтез речи на STM32F100
СообщениеДобавлено: Чт сен 19, 2013 13:18:48 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 7
Описание моих экспериментов по созданию простого фонемного синтезатора речи на микроконтроллере.
Было желание оформить в виде статьи на сайт, но так и не осилил Кото-редактор. Поэтому кладу здесь в PDF.
Надеюсь, что кому-то окажется полезным.

Схемы, платы, исходники с прошивками лежат на Яндекс Диске:
http://yadi.sk/d/H-2kJlg39XgwW


Вложения:
Комментарий к файлу: Описание синтезатора речи
sintez_text.pdf [162.92 KiB]
Скачиваний: 2093
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Чт сен 19, 2013 17:24:55 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
спасибо - очень интересно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 08:19:43 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Там среди файлов есть образец записи в MP3. Хотелось бы узнать ваши мнения, насколько понятно оно разговаривает. Сам я уже прислушался и не могу дать объективную оценку результата.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 09:03:10 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Кстати это не единственно возможный вариант синтезатора.
Недавно мне попадались простые TTS на AVR 8-бит микроконтроллерах:
- Atmega8
http://bascom.at.ua/publ/sintezator_rec ... a/1-1-0-79
- Atmega32
http://roboforum.ru/forum2/topic5106.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 10:00:04 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
имхо, хотелось бы получше.
Кстати, а почему Вы не использовали в качестве внешней памяти ммс сд карточку ?
Тогда размер библиотеки фонем можно было бы расширить.
Красиво, конечно, но практическое применение вряд ли найдет - говорилка с готовыми фразами уже есть...
Ну имхо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 10:22:36 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
uk8amk писал(а):
Хотелось бы узнать ваши мнения, насколько понятно оно разговаривает...

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


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 12:40:39 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Да, вы правы насчёт применения.
Для меня эта тема сейчас представляет чисто спортивный интерес.

Про MMC - это отдельный разговор. Может я не умею их готовить, но было несколько случаев полного зависания карточек(до резета питания). Из чего я делаю вывод о их невысокой надёжности в режиме SPI.

Для увеличения базы думаю заюзать M25P128 на 16 мегабайт или NAND flash от Samsung-a как недорогой вариант. Но NAND мне не очень нравится т.к. у него параллельная шина. А для быстрого прозрачного обмена нужен FSMC, что есть в камнях от LQFP100 и выше.

По голосам. Алёна вроде коммерческая. Нашёл и скачал только Ольгу. Но она без нарезки по аллофонам. А вручную проставлять маркеры - пару месяцев работы.
Имеется мужской голос с разметкой от TTS Festival(имя диктора не знаю). Но там тоже свои заморочки. Диктор всё равно читает с интонацией. У меня же система, как сейчас есть, не учитывает просодические характеристики. Вобщем есть над чем голову поломать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 14:46:16 
Это не хвост, это антенна
Аватар пользователя

Карма: 12
Рейтинг сообщений: 98
Зарегистрирован: Вс дек 02, 2012 03:13:48
Сообщений: 1429
Откуда: Калининград
Рейтинг сообщения: 0
uk8amk писал(а):
Сам я уже прислушался и не могу дать объективную оценку результата.


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Пт сен 20, 2013 15:01:53 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Алена тут вроде есть http://rsload.net/soft/document/8298-balabolka.html
применить можно - давно меня один заказчик мордует сделать бытовой термометр + влажность с голосом (только денег вкладывать не хочет), да еще можно напридумывать - например выключатель света с голосом и т.д., лишь бы внятно было.
з.ы. вроде по теме японский вокалоид по русски: http://www.youtube.com/watch?v=XhQUJgRGRdQ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Сб сен 21, 2013 10:04:12 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Спасибо за отзывы.

Да, забыл сказать. Запись оразца MP3 с дешёвого микрофона, поэтому звук более жесткий. Но наверное вы уже и так догадались.

Излом тона в словах проходит по границам звуков из фонемной базы(там элементы различной длины - аллофоны, дифоны и трифоны). Я прочитал в одной советской книжке, что для более или менее сносного синтеза русского языка необходимо иметь как минимум 10000 разных аллофонов. Дело в том, что в непрерывной речи звуки перетекают плавно один в другой. И если база недостаточно большая, то не получится состыковать звуки без разрыва формант. Сейчас у меня 680 элементов и такие разрывы неизбежны. Вот как раз хорошо видно на сонограмме.
Изображение
Во "взрослых" системах синтеза используются алгоритмы для сглаживания разрывов. У меня же сейчас вопроизводится как есть, без какой-либо дополнительной обработки. Ну и с учётом небольших вычислительных возможностей я могу максимум осилить плавную склейку звуков внахлёст(с плавным наездом-выездом). Надо будет как-нибудь попробовать этот вариант.

Про простые девайсы вроде термометра. В плане качества действительно будет лучше записать десяток отдельных слов, затем из них компилировать фразы. Как например это сделано здесь
http://radiokot.ru/circuit/digital/home/118/
А если применить сжатие звука и контроллер с достаточно большим объёмом памяти(256 и более КБ), то вполне может получиться одночиповое решение. А про заказчиков - правда. Пошёл сейчас народ либо бедный, либо жадный. Чем лечить такое - не знаю:)

Вчера попался еще один интересный вариант простенького синтезатора на PIC16F628 из журнала Everyday Practical Electronics. Статья во вложении.


Вложения:
Комментарий к файлу: PIC Speech Synthesiser. EPE-2007
284_N58.djvu [176.92 KiB]
Скачиваний: 343
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Ср окт 02, 2013 19:54:22 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Завёл речевой декодер SPEEX на отладочной плате STM32 VLDiscovery.
Он относится к категории CELP и обеспечивает хороший коэффициент сжатия (скорость потока 1-2 килобайта в сек).
За основу были взяты материалы:
1.Статья с Easyelectronics
http://we.easyelectronics.ru/STM32/vosp ... speex.html
2.AN2812 Vocoder demonstration using a Speex audio codec
on STM32F101xx and STM32F103xx microcontrollers -- порт узкополосного варианта(8КГц) на STM32.
3.AN0055 - Application Note. Speex Codec. Порт кодека под контроллеры EFM32 от Energy micro. К сожалению исходники комплектуются только скомпилированной либой и толку от них ноль целых хрен десятых. Зато есть утилита speexenc, конвертирующая звуковые WAV-чики в h-файлы. Которые потом легко цепляются компилятором.
4. www.speex.org - домашняя страница кодека с документацией.

Исходники были допилены для поддержки узкополосного(NarrowBand 8КГц) и широкополосного(WideBand 16KHz) режимов.

Оптимизированы по скорости загрузки буферов через DMA.
По Flash памяти декодер занимает около 30КБ, RAM - около 5КБ(надо настроить такую большую кучу т.к. идёт динамическое выделение памяти). Для работы судя по описаниям требует минимум 8МГц(низкая тактовая мной не проверялась).

Ограничения или недостатки:
-только декодер(для уменьшения размера кодер вырезан);
-в узкополосном режиме минимальная скорость потока 8 килобит(Quality=4);
-только постоянный битрейт(CBR);
-арифметика с фиксированной точкой. И как я понял процедура умножения сигналов вносит некоторую ошибку. Это проявляется в небольшом звоне голоса. В широкополосном режиме звон почти не заметен.В любом случае простой ФНЧ на выходе ЦАП поможет улучшить звук.

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

Исходники.
Проект под KEIL MDK470.
В файле 'main.h' выбрать частоту дискретизации(8/16K) и размер кодированного кадра ENCODED_FRAME_SIZE, соответсвующие

параметрам выбранного звука.
В файле 'main.c' функция play_message() воспроизводит звук.
В проект включены варианты одного сообщения с разным уровнем сжатия.
Звук снимается с выхода ЦАП PA4. Через кондёр можно подключить высокоомный динамик или наушники.
Есть идейка использовать оба выхода ЦАП в противофазном режиме для увеличения мощности, это чтобы отказаться от УНЧ.

Проект доступен по ссылке:
http://yadi.sk/d/Js5nb6jLAHd3x


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Вт ноя 01, 2016 11:56:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 209
Зарегистрирован: Ср май 01, 2013 13:53:56
Сообщений: 2168
Откуда: с пальмы в Рио-Инженейро
Рейтинг сообщения: 0
Я бы сделал не так. Наговорил все необходимые фразы, а потом порезал по серединам гласных. Таким образом проблема переходов решается. Но задача у меня обратная, как заставить мелкосхему принимать мою команду (неделю бошку ломаю).

_________________
электропримат паяю даже лёжа...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Вт ноя 01, 2016 13:33:51 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Цитата:
как заставить мелкосхему принимать мою команду

старенькая тема. Так не пойдет?
https://geektimes.ru/post/257382/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Вт ноя 01, 2016 13:38:57 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 209
Зарегистрирован: Ср май 01, 2013 13:53:56
Сообщений: 2168
Откуда: с пальмы в Рио-Инженейро
Рейтинг сообщения: 0
Это для централизованного распознавания, дорого. Хочу на ATmega8 :)))

_________________
электропримат паяю даже лёжа...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Вт ноя 01, 2016 14:22:53 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 4
Для покрытия большей части русского словаря необходимо 4300 сегментов. Это по моим подсчётам дифонов.
Если резать только по гласным, то кол-во возрастает минимум в несколько раз.
В этом плане параметрический синтез с управляемыми генераторами требует намного меньше памяти, но больше математики.

Для распознавания команд есть простое и не очень хорошее решение для атмеги
http://www.polesite.ru/?p=2001


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Синтез речи на STM32F100
СообщениеДобавлено: Вт ноя 01, 2016 14:25:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 209
Зарегистрирован: Ср май 01, 2013 13:53:56
Сообщений: 2168
Откуда: с пальмы в Рио-Инженейро
Рейтинг сообщения: 0
Не обязательно весь словарь иметь для частного случая. Параметрическое тоже хорошо, видел примеры.

_________________
электропримат паяю даже лёжа...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y