Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Воспроизведение голоса с помощью МК
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
algidim
Здравствуйте.
Мне необходимо для одного моего устройства сделать так, чтобы оно воспроизводило короткие фразы и короткие мелодичные звуки, типа подтверждения нажатие на клавишу. Так как это делают АОНы РУСЬ.
Нашёл сайт http://pol-sem.narod.ru/muson/muson.htm. Сделал также - всё получилось, даже удалось улутшить прогу, используя ШИМ. Но что-то я не врублюсь как сделать, чтобы можно было воспроизвести фразы. В музыке нечего непонимаю, может голос тоже можно на ноты разложить ? Если можно то как это сделать, может кто в курсе ?
На этом сайте есть описание устройства, которое способно воспроизвести WAV файл.Так вот оно мне непотходит, по причине больших размеров этох файлов. Мне нужно имено, как в АОНе.Никакого качества мне нетребуется, важно только чтобы фразы были разборчевы.
viael
Цитата(algidim @ Sep 3 2006, 02:53) *
Здравствуйте.
Мне необходимо для одного моего устройства сделать так, чтобы оно воспроизводило короткие фразы и короткие мелодичные звуки, типа подтверждения нажатие на клавишу. Так как это делают АОНы РУСЬ.
Нашёл сайт http://pol-sem.narod.ru/muson/muson.htm. Сделал также - всё получилось, даже удалось улутшить прогу, используя ШИМ. Но что-то я не врублюсь как сделать, чтобы можно было воспроизвести фразы. В музыке нечего непонимаю, может голос тоже можно на ноты разложить ? Если можно то как это сделать, может кто в курсе ?
На этом сайте есть описание устройства, которое способно воспроизвести WAV файл.Так вот оно мне непотходит, по причине больших размеров этох файлов. Мне нужно имено, как в АОНе.Никакого качества мне нетребуется, важно только чтобы фразы были разборчевы.


http://instruct1.cit.cornell.edu/courses/e...eech/index.html
=L.A.=
Цитата(algidim @ Sep 3 2006, 02:53) *
Здравствуйте.
Мне необходимо для одного моего устройства сделать так, чтобы оно воспроизводило короткие фразы и короткие мелодичные звуки, типа подтверждения нажатие на клавишу. Так как это делают АОНы РУСЬ.


в АОН голос оцифрован 4-мя битами ( в новых версиях больше чем 4-мя ) Причем оцифрованы отдельные слова или фразы. Они записаны в EPROM по определенным адресам. Когда надо "произнести" какое нибудь слово, то проц просто считывает данные из EPROM начиная с нужного адреса и преобразует в аналог ЦАП-ом.
algidim
Цитата(=L.A.= @ Sep 4 2006, 23:02) *
в АОН голос оцифрован 4-мя битами ( в новых версиях больше чем 4-мя ) Причем оцифрованы отдельные слова или фразы. Они записаны в EPROM по определенным адресам. Когда надо "произнести" какое нибудь слово, то проц просто считывает данные из EPROM начиная с нужного адреса и преобразует в аналог ЦАП-ом.

Да это я знаю, по схемам видно, да и процессорору - он сложное преобразование просто непотянет он еще и секунды считает и индекатор сканирует. Вот только как оцифровать свои отдельные слова или фразы допустим 4 битами да с небольшой частотой дискретизации, как сделано там ?
muravei
Цитата(algidim @ Sep 5 2006, 21:37) *
Вот только как оцифровать свои отдельные слова или фразы допустим 4 битами да с небольшой частотой дискретизации, как сделано там ?

В Виндах есть такая программа Пуск-Стандартные-Развлечения -Звукозапись
В ней можно выбрать моно 8бит 8кГц, а потом младшие 4 бита отбросить.
александр_в
Использавал программу cooledit2000 для конвертирования в нужный вид. Частота дискретизации выставляется любая. Тип файла - PCM Raw Data. Оptions - 8bit Unsigned.
muravei
А вообще есть мс , запоминающие выборки аналогового сигнала, например: http://www.winbond-usa.com/mambo/content/view/36/140/
tvell
зта микросхема достаточно дорогая и мало встречающаяся, лучше памят AT45 или AT26 + PWM, можно и ЦАП поставить но это уже тоже дороговато будет
tvell
ещё как вариант блок синтеза речи сделать на отдельном восьмивыводном AVR'е по схеме с PWM, это если главный слишком занят
Harbinger
Цитата(tvell @ Sep 7 2006, 12:02) *
зта микросхема достаточно дорогая и мало встречающаяся, лучше памят AT45 или AT26 + PWM, можно и ЦАП поставить но это уже тоже дороговато будет

ISD5116 - $11, ISD4004 - $21, AT45DB081 - $3,5 (цены, правда, киевские) - резерв есть smile.gif
По производительности старшие AVR и MSP430 вроде сопоставимы... а последний с AT45DB081 подобную задачу выполняет успешно на 8 МГц. Параллельно с обслуживанием клавиатуры, графического LCD, UART и еще каких-то датчиков... В AT даже некое подобие файловой системы сидит.
muravei
Зато ISD4004 вмещает 16 мин, а сколько памяти надо, для того же и с тем же качеством?
algidim
Попробовал записывать, но даже при частоте 8 KHz, объемы файлов ну очень большие, а если частота меньше там уже всякие шумы и тд.
А интересно как записать голос типо машинного, как в АОНе, там ведь достаточно много фраз и записано всё это с программой в 27с512. И голос четкий.

Цитата(muravei @ Sep 5 2006, 22:03) *
В Виндах есть такая программа Пуск-Стандартные-Развлечения -Звукозапись
В ней можно выбрать моно 8бит 8кГц, а потом младшие 4 бита отбросить.

А если младшие 4 бита отбросить, то с голосом что примерно получится ?
Harbinger
Хрипловато чуть-чуть звучит.

Цитата(muravei @ Sep 7 2006, 19:48) *
Зато ISD4004 вмещает 16 мин, а сколько памяти надо, для того же и с тем же качеством?

Да тут, надо полагать, вопрос качества и длительности не на первом месте smile.gif В соседней ветке ("все остальные") даже MP3-плейер для речевого информатора собираются использовать smile.gif
muravei
Цитата(algidim @ Sep 8 2006, 01:20) *
А если младшие 4 бита отбросить, то с голосом что примерно получится ?

Тоже что и в АОНе.
Полезно включить фильтр , режущий выше 4 кГц

Цитата(Harbinger @ Sep 8 2006, 09:54) *
Да тут, надо полагать, вопрос качества и длительности не на первом месте smile.gif

Тогда тем более, есть младшие микросхемы. И никаких заморочек со "звукозаписью"- микрофон подключается прямо к микросхеме.
IgorKossak
Автор темы, попробуйте AVR335: Digital Sound Recorder with AVR and DataFlash отсюда.
Может натолкнёт на нужные мысли?
INT1
то-же на русском
в АВР335 атмелевцы почемуто Си_шный исходник убрали
RuSTer
Я тут вот поднял на днях ISD 5116.(512kbyte памяти).Не знаю откуда они там взяли 8мин 44сек звука
на 8кГ*8бит=8кбайт/с.Как по мне,то там максимум 1минута влазит.(512/8=64с).А заливать через микрофон на производстве глупость.У кого какое мнение на этот счет? sad.gif
Stanislav
Цитата(RuSTer @ Feb 7 2008, 17:23) *
Я тут вот поднял на днях ISD 5116.(512kbyte памяти).Не знаю откуда они там взяли 8мин 44сек звука
на 8кГ*8бит=8кбайт/с.Как по мне,то там максимум 1минута влазит.(512/8=64с).А заливать через микрофон на производстве глупость.У кого какое мнение на этот счет? sad.gif
А компрессии тама нет случайно? smile.gif
Harbinger
Up to 4 MB - то есть до 4 мегабайт, а не мегабит. А для хранения аналогового сигнала там используется многоуровневая технология, несколько бит на затвор - и из этого следует, что иными средствами, кроме как с аналогового входа, в нее звук и не зальёшь sad.gif
zltigo
Цитата(RuSTer @ Feb 7 2008, 17:23) *
А заливать через микрофон на производстве глупость.У кого какое мнение на этот счет? sad.gif

Неудачная мысль, скажем так. Действительно хорошо звучащую фразу, как и хорошо выглядющую фотомодель на обложке журнала smile.gif, прихотится предварительно редактировать.
RuSTer
Цитата(zltigo @ Feb 7 2008, 20:16) *
Неудачная мысль, скажем так. Действительно хорошо звучащую фразу, как и хорошо выглядющую фотомодель на обложке журнала smile.gif, прихотится предварительно редактировать.

Звуковой файл действительно можно отредактировать как угодно в CoоllEdit, но в Isd5116 аналоговая
запись стартует по комманде на I2C шине RECORD ANALOG @ ADDR.Каким образом одной кнопкой запустить произведение wav-файла в CoolEdit, и этим же нажатием сказать микроконтроллеру, что нужно отправлять комманду RECORD ANALOG @ ADDR.В ином случае запись в каждом новом устройстве будет сдвинута в памяти мк на неопределенное количество байт.Или я что-то не понимаю?
digital
Цитата
Я тут вот поднял на днях ISD 5116.(512kbyte памяти).Не знаю откуда они там взяли 8мин 44сек звука
на 8кГ*8бит=8кбайт/с.Как по мне,то там максимум 1минута влазит.(512/8=64с).А заливать через микрофон на производстве глупость.У кого какое мнение на этот счет?


может ADPCM?
RuSTer
Вобщем написал письмо на Winbond. А пока склоняюсь к тому что "А для хранения аналогового сигнала там используется многоуровневая технология, несколько бит на затвор - и из этого следует, что иными средствами, кроме как с аналогового входа, в нее звук и не зальёшь ".

Цитата(Harbinger @ Feb 7 2008, 20:08) *
Up to 4 MB - то есть до 4 мегабайт, а не мегабит. А для хранения аналогового сигнала там используется многоуровневая технология, несколько бит на затвор - и из этого следует, что иными средствами, кроме как с аналогового входа, в нее звук и не зальёшь sad.gif

The ISD5116 memory array is arranged as 2048 pages (or rows) of 2048 bits for a total memory of
4,194,304 bits.
RuSTer
Через I2C записать невозможно.Накатали программатор для записи с звуковой карты a14.gif
muravei
Цитата(RuSTer @ Feb 21 2008, 16:18) *
программатор для записи с звуковой карты

А микросхеме чем объясняете. что пора запоминать?
Harbinger
У нас идет PCM-поток по COM-порту, а в устройстве стоит кодек (он там нужен в основном не для этого wink.gif ). Сначала МК получает команду, что нужно записывать, дает команду ISD5116, после получения последнего байта из потока запись останавливает. Писали и со звуковой карты - в этом случае по COM-порту только команда на запись.
Впрочем, существуют еще материнские платы с I2C на борту...
VAHOO
Очень хорошо работает с AVR-ом ISD2560 или ISD2590

http://www.gaw.ru/html.cgi/txt/ic/Winbond/...der/isd2500.htm
klotos
Решил использовать ISD5216 и столкнулся с проблемой передачи команд. На борту имеются также RTC и датчик температуры. Они-то работают нормально, а при общении с чипкордером постоянно возникают ошибки связи. Алгоритм реализован через автомат состояний. Частота 100кГц.
При конфигурировании звукового тракта получается, что правильные команды доходят не всегда, с малой вероятностью успешности, а запись сообщений вообще никакого результата не дает.
Господа RuSTer и Harbinger, я не знаю насколько схожи 5216 и 5116, но может быть подскажите в чем может быть дело?
Ubas
Цитата(VAHOO @ Feb 23 2008, 00:01) *
Очень хорошо работает с AVR-ом ISD2560 или ISD2590

http://www.gaw.ru/html.cgi/txt/ic/Winbond/...der/isd2500.htm


Неплохо работают и недороги дли длительности 20 сек. примерно 1.5$
http://www.semisvit.com.ua/ukr/manufacturer/abc/aplus.htm
INT1
Некоторые аспекты вопроса освещены в ж-ле "Радио" 4,5, 2001 "Как записать аудиоданные в ПЗУ из *.wav -файла и "проиграть" их"., А.Долгий.
nick-l
там рядышком есть второй вариант http://pol-sem.narod.ru/polymuson/polymuson.htm если бюджет устройства позволяет то можно на SD карточке сделать, тем более что 1ГБ сейчас 35 грн (около 7$), а устаревшие по 64 МБ ( у нас в магазинах компьютерной техники уже по 15 грн., около 3$)
МП41
На схеме по ссылке такое включение транзистора сведёт на нет точность резистивного ЦАПа. Транзистор надо включать по схеме с ОЭ. Кстати, вывод сброса висит в воздухе. SD-карту довольно трудно гонять на больших скоростях, ведь такие схемы используют SPI-режим карты.

Подумал про эмиттерный повторитель и написал "ОЭ" - надо по схеме с ОК включать транзистор smile.gif.
jekler
Подниму старую темку. У меня вопрос по Цифровое устройство записи речи, использующее технологию AVR и последовательную память DataFlash. Кто реально данную схему опробывал. Проблема в свисте, который имеется как в режиме отключенного таймера1, так и при воспроизведении речи(таймер1 = 31кгц ШИМ,только свист еще громче). Изначально частота дисретизации была 20кгц для 8 бит = свист есть. Уменьшил частоту дискретизации до 8 кгц(для отправки по юарт без сжатия) = речь разборчива, свист есть, т.е от увеличения частоты дискретизации свист не убрался, только качество голоса чуть лучше, и шипения в голосе меньше. Где-то мелькало, что обвязка lm324 в данном примере неправильная, но какая должна быть не нашел. Как можно от свиста избавиться? Или дело в кривых руках и у всех все тип-топ smile.gif
EugeNNe
Цитата(RuSTer @ Feb 7 2008, 17:23) *
Я тут вот поднял на днях ISD 5116.(512kbyte памяти).Не знаю откуда они там взяли 8мин 44сек звука
на 8кГ*8бит=8кбайт/с.Как по мне,то там максимум 1минута влазит.(512/8=64с).А заливать через микрофон на производстве глупость.У кого какое мнение на этот счет? sad.gif


Задача похожая с Вашей. Пользую ISD17xxx от того же Winbond. Требуют заливать фонограмму не только с компа, но и через микрофон, по мере надобности. Микруха надо сказать глюковата оказалость. Режим стирания работает малость не так как в даташите прописано. Для заливки данных через комп использую режим записи сигнала через аналоговый вход. Для заливки фонограм через комп написали прогу для ПК. Если надо через микрофон то соответсвующий режим. Управляется эта ерунда у меня мегой162 через SPI.
VAHOO
Цитата(BigBolt @ Mar 24 2010, 22:06) *
Задача похожая с Вашей. Пользую ISD17xxx от того же Winbond. Требуют заливать фонограмму не только с компа, но и через микрофон, по мере надобности. Микруха надо сказать глюковата оказалость. Режим стирания работает малость не так как в даташите прописано. Для заливки данных через комп использую режим записи сигнала через аналоговый вход. Для заливки фонограм через комп написали прогу для ПК. Если надо через микрофон то соответсвующий режим. Управляется эта ерунда у меня мегой162 через SPI.


Привет BigBolt! если у тебя есть программа для заливки фонограм, пожалуйста отправ.
EugeNNe
Цитата(VAHOO @ Apr 8 2010, 14:15) *
Привет BigBolt! если у тебя есть программа для заливки фонограм, пожалуйста отправ.


Вообще говоря прога ничем не отличается от обычного проигрывателя типа Winamp или AIMP. Требовалось просто что то своё в комплекте приложить. Девайс с ISD на борту поключается к аналоговому выходу компа, активируется режим записи с аналогового входа ISD, запускаем нужный файл и пишем в ISD.
Как таковой заливки в ISD похожей на то как мп3 файл загружается в память мэпэтри-плеера не происходит...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.