Доброго времени суток.! Передо мной встала задача - спроектировать устройство, которое будет хранить в своей памяти короткий аудиофрагмент (сэмпл). При замыкании ключа устройство должно воспроизвести этот фрагмент (т.е. подать сигнал на аудио-выход).
- Время задержки между замыкание ключа и воспроизведением должно быть как можно короче. Это очень важный критерий. - Требования по качеству звука сэмпла - 16 битный с частотой дискретизации 44кГц (по сути формат PCM). - Занимаемый объем памяти сэмплом - не более 100 килобайт. - Частотный допустимый диапазон - (желательно) не уже полосы 50 - 16 000 Гц. - Длительность сэмпла - не более 2 с. - Устройство будет содержать в памяти только один короткий звуковой сэмпл, который не будет перезаписываться.
В свое время ставил эксперименты с микросхемами серий ISDXXXX (микросхемы записи-воспроизведения). Но качество звука на выходе этих микросхем меня не удовлетворило.
Изучил несколько схем, пришел к выводу, что можно пойти двумя путями. 1 - использовать цепь: АЦП - ПЗУ - ЦАП на выбранном алгоритме оцифровки. Размер сэмпла достаточно мал и он будет записан в ПЗУ единожды. 2 - использовать wav-файл, записанный на карту-памяти или flash-память. В этом случае потребуется микроконтроллер, с которыми я, увы, знаком плохо.
По поводу идеи 1-го варианта нашел схему, которая представляет собой генератор синусоиды, собранный на счетчике, микросхеме ПЗУ и ЦАП. Счетчик последовательно подает на адресные входы 8-битные слова. На выходе ПЗУ формируются 8-битные слова, соответствующие определенному адресу на входе. ЦАП преобразовывает эти слова в аналоговое напряжение, представляющее собой синусоиду. Частота синусоиды регулируется частотой двоичного счетчика.
Есть ли у вас идеи по поводу того, как это можно реализовать? Возможно кто-то из вас делал что-то подобное.
16 битный с частотой дискретизации 44кГц (по сути формат PCM)
Это как бы два разных понятия. Допустим, речь о PCM 44000/16. Зачем Вам такое? Кроме того, 44 000 x 2байта x 2секунды = 176 000 байт, что несколько больше 100 килобайт. Однако микросхемы параллельной памяти имеют объём и поболее. Из моих экспериментов, вполне качественно звучит 22 000/8. Если же нужен речевой информатор, так вполне можно снизиться до 8 000/8. Видимо, для Вашего требования будет оптимальным построение: два 8-битных параллельных ПЗУ - ЦАП. Простейший ЦАП можно организовать из матрицы R-2R, но учитывая её нелинейности все Ваши 44000/16 будут сведены на нет. Необходимо искать более качественный 16-разрядный ЦАП. Сэмпл оптимальнее подготовить на компьютере. Всё тоже самое можно сделать и на МК, но опять же, 16-разрядный ЦАП, мало в каком МК присутствует. А вообще, тут, на форуме, да и в Инете вообще, полно тем по данной тематике.
_________________ ICQ нет, и, в ближайшее время, не будет.
Многое упирается в качество сигнала. Оно должно быть (желательно) не ниже 44 000/16. Видимо, придется пояснить почему Моим второстепенным занятием является музыка, а именно - играю на ударных. Наверняка кто-то из посетителей форума слышал о таком девайсе как триггер для ударных ?! Иначе говоря триггер для барабанов - это устройство, которое состоит из датчика удара, и звукового модуля. Датчик удара реагирует на удар по барабан и синтезирует управляющий импульс. Этот импульс активирует команду чтения сэмпла из памяти звукового модуля. В итоге на выходе получаем звук. Для чего это нужно? Дело в том что при быстрой игре на ударных (в частности ногами, а-ля technical death metal) сила удара теряется, звук становится смазанным. А вот как звучит бас-барабан с триггером. http://www.youtube.com/watch?v=HASOboRzbY4. Звук становится монотонным, четким (щелкающим). И нужно это еще и потому, что готовые устройства стоят неоправданно дорого и имеют кучу настроек и библиотеку звуков. Мне это ни к чему. Нужен относительно простой и быстродействующий проигрыватель)
Поэтому исходя из специфики устройства должна обеспечиваться минимальная задержка между срабатыванием ключа и воспроизведением + приемлемое качество звукового сигнала.
Теперь о реализации. Нашел в журнале РАДИО N4,5 за 2001 год интересную статью о том, как зашить wav файл в ПЗУ. Но опять же, получается "телефонное" качество, используется адаптер (схема адаптера в РАДИО N2,3 за 2001 год) для связи LPT с интерфейсом I2C. Там используется микроконтроллер. Думаю эту схему можно переделать, но придется менять программу "зашивки" файла в ПЗУ. Но как - не знаю.
А вот тут и загвоздка небольшая) Предлагаемое устройство на сайте, на который вы дали ссылку - это миди контроллер. К нему должен присоединяться какой-то сэмплер, или драм-машина. Вот и беда в том, что хороший сэмплер и даже самая (скажем дешевая) драм машина с midi-входом вовсе не дешевые. (небольшой оффтоп. я из Беларуси, а у нас эквивалентный доход всетки ниже чем у вас, браться россияне) Не важно почему, но позволить себе драм-машину или тем более сэмплер я не могу. Потому и появилась идея спроектировать (собрать) как можно более простое устройство с приемлемым качеством звучания.
Имею древний девайс под названием "Alesis HR-16". Вроде, сейчас не так дорого стОит. Допустим, для Вас это всё-равно неприемлемо. Но ведь компьютер-то у Вас имеется, судя по всему. Для покупки комплектующих под реализацию того, что Вы забубенили, придётся выложить гораздо больше. Из моих экспериментов, вполне хорошо звучат ударные сэмплы 22000/8. Есть задумка аппарата на 8 инструментов, действительно дешёвого. Необходимы: МК (скорее всего PIC16F876a), несколько чипов памяти (от БИОСов на мамках уровня Pentium I-II), несколько регистров. Но это пока "в планах".
_________________ ICQ нет, и, в ближайшее время, не будет.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения