|
Проигрывание звука, Кто-нибудь пробовал проигрывать звуковые файлы? |
|
|
|
Mar 13 2006, 13:52
|
Группа: Новичок
Сообщений: 3
Регистрация: 30-08-05
Пользователь №: 8 085

|
Есть ли у кого-нибудь идеи, как можно с помощью подсоединённого к какому-нибудь порту платы на Atmega128 динамика проиграть wav или midi файл?
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 38)
|
Mar 13 2006, 20:01
|
Участник

Группа: Свой
Сообщений: 41
Регистрация: 12-01-05
Из: St. Petersburg
Пользователь №: 1 917

|
Цитата(romanvas @ Mar 13 2006, 16:52)  Есть ли у кого-нибудь идеи, как можно с помощью подсоединённого к какому-нибудь порту платы на Atmega128 динамика проиграть wav или midi файл? А что там пробовать ? Wav проигрывается элементарно. http://pol-sem.narod.ru/polymuson/polymuson.htm
|
|
|
|
|
Mar 14 2006, 16:23
|
Участник

Группа: Свой
Сообщений: 41
Регистрация: 12-01-05
Из: St. Petersburg
Пользователь №: 1 917

|
Цитата(ivstech @ Mar 14 2006, 14:06)  Только такой ЦАП на резисторах хуже, чем ШИМ (он будет не линейным, а как попало). Качество ШИМа получается отличное, только нужно нормальный фильтр собрать. И что ? Изначально вопрос был "КАК можно проиграть файл ?" Я привел пример. Вы считаете я неправильно ответил ? :-)) Если бы вопрос стоял "Как С ХОРОШИМ КАЧЕСТВОМ проиграть файл ?" - ответ был бы другим.
|
|
|
|
|
Mar 15 2006, 07:35
|
Местный
  
Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860

|
Цитата(vet @ Mar 14 2006, 17:24)  ivstech На tiny26, пожалуй, получится; на обычном avr-овском шиме - откровенно плохое качество, частота низковата. Хороший же фильтр будет подороже ЦАП-а. 16КГц 8бит ATMEGA, фильтр: 1xLM324, резисторы, конденсаторы. А на Tiny26 чем отличается ШИМ? To Lyubitel: прошу прощения. Просто я прежде чем использовать ШИМ тоже сначала собрал на резисторах, качество не устроило совершенно.
|
|
|
|
|
Mar 15 2006, 09:05
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата А на Tiny26 чем отличается ШИМ? На некоторых Tiny стоит умножитель тактовой и на вход ШИМАа подается мегагерц 25, а не тактовая, что значительно улучшает разрешение по частоте.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Mar 15 2006, 11:17
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
Цитата(ivstech @ Mar 15 2006, 10:35)  16КГц 8бит ATMEGA, фильтр: 1xLM324, резисторы, конденсаторы. А на Tiny26 чем отличается ШИМ? В tiny26 таймер1 может тактироваться от встроенного PLL 64 МГц, что даёт частоту 8-битного ШИМ до 250 кГц.
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
Mar 15 2006, 11:20
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(beer_warrior @ Mar 15 2006, 13:05)  На некоторых Tiny стоит умножитель тактовой и на вход ШИМАа подается мегагерц 25, а не тактовая, что значительно улучшает разрешение по частоте. Увеличение частоты тактовой на шиме позволит увеличить частоту дискретизации и даст возможность более эффективно подавить фильтром частоту шима,но динамический диапазон останеться тем же 8-10 бит.Может быть имеет смысл решить эту проблему установкой цапа (14-16 бит) с spi интерфейсом и тогда и частоту дискретизации можно задрать повыше и динамический диапазон будет достаточный
|
|
|
|
|
Mar 16 2006, 16:28
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Kovrov @ Mar 16 2006, 11:58)  Я так понял реализация PWM1, PWM2 - под Т0 - это один канал аппаратный под ОС0, другой канал программный? ну и каковы результаты? в смысле качества-разборчивости? Нет, оба канала аппаратные: один формируется с помощью регистра OCRxA, другой - OCRxB (выводы OCxA и OCxB соответственно). Режим - Fast PWM. На каждом выходе получается независимая ШИМ (16-битное число должно быть беззнаковым, ессно). Далее напряжения ШИМ складываются с коэффициентами 255/256 и 1/256 соответственно, формируя 16-битную выходную величину. Всё это использовалось для вывода 8 кГц речи, с простой интерполяцией до 32-х кГц, субьективно качество практически не отличимо от "телефонных" 16-бит сигма-дельта ЦАП. Подняв частоту ШИМ, можно ожидать не очень плохих результатов и при воспроизведении аудио (искажения, однако, такому способу вывода звука присущи принципиально). Необходимо только оценить выч. затраты на интерполяцию. Существенного уменьшения искажений можно попытаться добиться применением Phase-Correct PWM. Однако, это снизит частоту и увеличит вычислительную нагрузку на процессор.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Mar 16 2006, 17:27
|

Мастер-фломастер
   
Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700

|
Цитата(Stanislav @ Mar 16 2006, 19:28)  ]Нет, оба канала аппаратные: один формируется с помощью регистра OCRxA, другой - OCRxB (выводы OCxA и OCxB соответственно). че то я в не понятках.... Разве у мег 8 битные таймера T0, T2 не один выход модулятора (oc0, oc2)? или я ошибаюсь (просто сам не помню)... или здесь задействаван Т1 с ocr1a,b а резолюция урезана до 8 бит?
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Mar 16 2006, 17:44
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Kovrov @ Mar 16 2006, 20:27)  Цитата(Stanislav @ Mar 16 2006, 19:28)  ]Нет, оба канала аппаратные: один формируется с помощью регистра OCRxA, другой - OCRxB (выводы OCxA и OCxB соответственно).
че то я в не понятках.... Разве у мег 8 битные таймера T0, T2 не один выход модулятора (oc0, oc2)? или я ошибаюсь (просто сам не помню)... или здесь задействаван Т1 с ocr1a,b а резолюция урезана до 8 бит? Ну да, конечно. Напр. ATmega48/88/168. В общем, даташиты почитайте. Честно говоря, я и не помню точно, какой именно таймер использовал - дело давно уже было. Но с T/C 0 должно всё работать...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Mar 17 2006, 07:17
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(Kovrov @ Mar 17 2006, 10:47)  Наверное все помнят, раньше были синклеровские звук синтезаторы типа AY8910 с которыми давали неплохие результаты... и объем мелодий был более чем приемлимый... Насколько я помню в AY8910 было 3 выходных 4-битных цапа через которые собственно и выходил аудио поток.А сама мелодия синтезировалась с помошью чм модуляции.Так что качества звука там не было.Моё мнение(возможно ошибочное  ):поставить внешний цап ,например по spi и в придачу какой нибуть атмелевский датафлеш для хранения аудио и всё будет ок.
|
|
|
|
|
Mar 17 2006, 07:51
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
нет, звук был качественный. Что до 4-битных цапов, то они задавали амплитуду генераторов синусоид на всех 3 каналах. Использовать AY, как три 4-битных цапа - это было из разряда программистских ухищрений, применявшихся для проигрывания сэмплированного звукового потока - это звучало действительно плохо, но это нештатное использование AY. PS: возможно, заинтересует - тут недавно пробегало сообщение про отечественный м/к с архитектурой 8051 и встроенным аналогом AY.
Сообщение отредактировал vet - Mar 17 2006, 07:59
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
Mar 17 2006, 09:52
|

Мастер-фломастер
   
Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700

|
Цитата(plan @ Mar 17 2006, 10:17)  Насколько я помню в AY8910 было 3 выходных 4-битных цапа через которые собственно и выходил аудио поток.А сама мелодия синтезировалась с помошью чм модуляции.Так что качества звука там не было. я так понимаю вы просто не слушали ;-) булькание AY - было шедевром в те времена да и соотношение объем мелодии/качество было окейным насчет 8 бит цапа и SPI - я думаю мертвому припарка 8 бит оно и в африке 8 бит -помоему самое экономичное что предложил Stanislav для голоса конечно подойдет..
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Mar 17 2006, 10:10
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(Kovrov @ Mar 17 2006, 13:52)  Цитата(plan @ Mar 17 2006, 10:17)  Насколько я помню в AY8910 было 3 выходных 4-битных цапа через которые собственно и выходил аудио поток.А сама мелодия синтезировалась с помошью чм модуляции.Так что качества звука там не было.
я так понимаю вы просто не слушали ;-) булькание AY - было шедевром в те времена да и соотношение объем мелодии/качество было окейным Прошу прощения,но наверно Вы не слушали. Во первых AY я не предлагал использовать для вывода голоса. Во вторых - здесь насколько я понимаю идет обсуждение воспроизведения именно звуковых семплов. Цитата(Kovrov @ Mar 17 2006, 13:52)  насчет 8 бит цапа и SPI - я думаю мертвому припарка 8 бит оно и в африке 8 бит . А что в африке нет 14-16 битных цапов
|
|
|
|
|
Mar 17 2006, 10:49
|

Мастер-фломастер
   
Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700

|
Цитата(plan @ Mar 17 2006, 13:10)  Прошу прощения,но наверно Вы не слушали. Во первых AY я не предлагал использовать для вывода голоса. Я предлагал использовать AY для голоса??? вот новость - по крайне мере для меня!!! насчет разрядности и дискретности тут тоже все просто.. берем wav 48000 и 32 бита - и суем в звуковой редактор и потом делаем все возможные даунсемплинги, понижение разрядности и слухаем... устравивает - все ок не устраивает - не все ок!!! ну и скидку на то что в результате будет ещё хуже...
Сообщение отредактировал Kovrov - Mar 17 2006, 10:50
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Mar 17 2006, 11:13
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(Kovrov @ Mar 17 2006, 14:49)  Я предлагал использовать AY для голоса??? вот новость - по крайне мере для меня!!! Я не заявлял что предложили именно Вы. Читайте сообщения плиз повнимательнее.
|
|
|
|
|
Mar 17 2006, 11:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата Кстати о птицах, кто знает какая вычислительная сложность у MP3 декодера на 1 kbps? Может быть что-то в районе 2-4kbps (а это уже неплохо для воспроизведения речи) на меге реально сделать? Я думаю со скоростью проблем не будет на 16-20МГц. А вот низкая разрядность, и маленькие объемы памяти это действительно проблема. ИМХО есть два приемлемых пути SPI ЦАП и ADPCM. Кстати, есть еще прекрасные микросхемы АС97 кодеков - там и скорость и разрядность и микрофонные входы и переключение каналов и приличные ЦАП/АЦП
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Mar 17 2006, 12:41
|

Мастер-фломастер
   
Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700

|
да что вы все голос - голос! ADPCM в апноте есть давайте подумаем что можно придумать для музычки? Цитата(vet @ Mar 17 2006, 10:51)  тут недавно пробегало сообщение про отечественный м/к с архитектурой 8051 и встроенным аналогом AY. да, жалко что AY уже не найти... а что можно предложить в вопросе о воспроизведения MIDI файлов? благо то же объем у них не большой? есть дешевые решения в сторону аппаратных миди синтезаторов?
Сообщение отредактировал Kovrov - Mar 17 2006, 12:45
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Mar 17 2006, 12:49
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата днако для воспроизведения требуется только декомпрессия, у которой вычислительная сложность поидее на порядок если не на несколько порядков меньше чем у компрессии (насколько я слышал). Дело в том что там сплошная матричная математика, постоянное сложение перемножение массивов. У DSP большая память с быстрым доступом, распараллеливание и все эти операции с накоплением. В меге где это все держать? Во внешнем ОЗУ? перемножать 16-24 разрядные матрицы как? Все операции придеться эмулировать.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Mar 17 2006, 20:03
|
Участник

Группа: Свой
Сообщений: 41
Регистрация: 12-01-05
Из: St. Petersburg
Пользователь №: 1 917

|
Если уж речь зашла о качестве, может тогда поставить VLSI и не мучаться ? Там и MP3 и Midi и Wav и WMA и ADPCM... "Что еще нужно чтоб встретить старость ?" (с) ;-) http://www.vlsi.fi/vs1003/vs1003.shtml
|
|
|
|
|
Mar 18 2006, 00:32
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата Если уж речь зашла о качестве, может тогда поставить VLSI и не мучаться ? Жирновато будет, для тривиальных задач. ADPCM и без всякой заказухи можно прекрасно отыграть.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Mar 18 2006, 19:19
|
Участник

Группа: Свой
Сообщений: 41
Регистрация: 12-01-05
Из: St. Petersburg
Пользователь №: 1 917

|
Цитата(beer_warrior @ Mar 18 2006, 03:32)  Цитата Если уж речь зашла о качестве, может тогда поставить VLSI и не мучаться ? Жирновато будет, для тривиальных задач. ADPCM и без всякой заказухи можно прекрасно отыграть. Опять двадцать пять... "Вам шашечки или ехать ?" (с) То качество подавай, то задачи "тривиальные". Давайте тогда уж определите критерий "тривиальности" задачи. А то меня вот и ЦАП на резисторах устраивает. Пробовал ШИМ... резисторы лучше ;-) Чисто IMHO.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|