Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 20.03.2014, 12:02  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 116
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Эмуляция звука барабана на STM8S003

Пытаюсь сделать эмуляцию звука барабана. Почитал, что в простейшем случае используют короткие куски белого шума. ЦАП эмулирую при помощи ШИМа на TIM1, TIM2 устанавливает нужный уровень громкости (изменяя скважность TIM1). Проверил — получается как-то совершенно непохоже.
Как я понял, более качественный звук дает воспроизведение сэмплов. Но самый короткий сэмпл, что я нашел, весит почти 60кБ! А надо — от силы килобайта на 3-4.

Вопрос: возможно ли более-менее нормальный звук барабанов на этом МК сделать?
Ну и еще вопрос: как бы так попроще эмулировать звучание музыки? Гольная синусоида звучит ужасно; пила звучит получше, но все равно не хватает тембровой окраски. Может, сделать на трех таймерах (ШИМом) генерацию основного тона и пары гармоник, а на операционнике их смикшировать?
Реклама:
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 20.03.2014, 12:26  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Вариант 1. Использовать RLE компрессию. Данные хранить во флеши.
Вариант 2. Данные хранить во внешней SPI флеши. Их можно читать на частоте до 80МГц и выше. Для барабанов достаточно и 8кГц на 8 бит. Т.е. 64кГц SPI даже будет достаточно. Задача элементарная.
Easyrider83 вне форума  
Непрочитано 20.03.2014, 12:42  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 116
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от Easyrider83 Посмотреть сообщение
Вариант 1
Так сэмплы-то особо не сжимаются. Что, программным синтезом - никак?

Сообщение от Easyrider83 Посмотреть сообщение
Вариант 2
Ну, подключать внешнюю флешку в детской игрушке - это уже чересчур. Хочется как можно проще сделать.

Сообщение от Easyrider83 Посмотреть сообщение
Для барабанов достаточно и 8кГц на 8 бит
Частота тактирования флешки - 16МГц, так что, 8бит сделать будет проблематично (МК же из обработчика прерываний выходить не будет). Сейчас у меня TIM1 работает на 4МГц, и то это многовато для используемого мосфета (усилители я только позавчера заказал, придут через месяц-два).
Чтобы частота была более-менее, пришлось ограничиться четырьмя битами (4/16МГц — частота ШИМ, скважность меняется от 0/16 до 16/16).

Для реализации восьмибитного псевдо-ЦАП нужно на каждый импульс ШИМ выдавать 256 импульсов таймера. Т.о., даже в случае частоты TIM1, равной 16МГц, частота ШИМ получится равной 62.5кГц. Т.о., чтобы генерировать звук с частотой, скажем, 10кГц, на один период выйдет всего-то 6 периодов ШИМ. Маловато.

Буду что-нибудь придумывать, если других вариантов не найдется.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 20.03.2014, 13:56  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от eddy Посмотреть сообщение
Пытаюсь сделать эмуляцию звука барабана. Почитал, что в простейшем случае используют короткие куски белого шума. ЦАП эмулирую при помощи ШИМа на TIM1, TIM2 устанавливает нужный уровень громкости (изменяя скважность TIM1). Проверил — получается как-то совершенно непохоже.
Синтез звучания любых муз. инструментов (в том числе и ударных) - штука сложная. "Простейший" случай не катит. любой инструмент, кроме частотных составляющих имеет еще и амлитудные. [в простейшем случае] одну составляющую - огибающую. А она, быть может, больше определяет характер звучания, чем ее частотные наполнители в спектре. Attack, dessay, sustaine, release. Изменяя времена длительностей этих фаз, их максимальные амплитуды, получаем широчайшее мноогобразие имитируемых инструментов. Следующим этапом должно быть динамическое во времени изменение спектрального состава синтезируемого звука. И примешивание (по необходимости) белого/розового шумов для отдельных видов имитации. Ну и надо учитывать, что генератор шумов должен иметь свои огибающие...
Монотонное звучание пилы, треугольника, меандра, пульса лишь изменяют тембр звучания (спектр), но без динамического изменения этого спектра-тембра невозможно получить ничего путного.
Барабаны в этом плане довольно сложный для синтезирования инструмент, отсюда и рекомендации по использованию семплов.
На МК пусть даже среднего класса добиться "похожести" скорее всего будет невозможно. Наверное, лучше порыться в инете по ключам: drum machine, analog, digital. Пусть Гугл для начала потрудится..
В области синтезирования звуков за последнее десятилетие сделан мощный прорыв. Откройте современные Korg, Yamaha или иные - там почти все реализовано на моночипе. Наверное, велосипед надо повесить на стенку и пользоваться продуктами умов инженеров, которые съели известное животное в этом деле...
Try this way
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 20.03.2014 в 14:01.
ut1wpr вне форума  
Непрочитано 20.03.2014, 14:01  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 116
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

ut1wpr, мне не нужен совсем уж идентичный звук - это же детская игрушка!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 20.03.2014, 14:10  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от eddy Посмотреть сообщение
ut1wpr, мне не нужен совсем уж идентичный звук - это же детская игрушка!
Нельзя портить детям психику.
Gnider вне форума  
Непрочитано 20.03.2014, 14:16  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от eddy Посмотреть сообщение
ut1wpr, мне не нужен совсем уж идентичный звук - это же детская игрушка!
А где об этом было сказано?
И почему в игрушке должен быть кошмар? Простейшая драм-мэшин реализуется на парочке 555 таймеров. Секвенция и прочее управление - копеечный 8S003. Но понимание того, что ты делаешь, чего хочешь добиться, на мой взгляд должно лежать в основе всех действий. Или получишь ХЗЧ.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 20.03.2014, 14:42  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 116
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от ut1wpr Посмотреть сообщение
Простейшая драм-мэшин реализуется на парочке 555 таймеров.
У меня совершенное рукожопие в электронике. И если с цифровой хоть как-то что-то получается, то в аналоговой - полный швах.
Поэтому и хочется обойтись как можно более простой схемой.
Я уже понял, что на транзисторах усилитель я не сделаю (для усиления звука с 200-рублевого китайского плеера на 4-омный динамик), поэтому заказал копеечных ОУ.

Вкратце, суть такова: у ребенка поломался "волшебный барабан" (стихи рассказывал и тарахтел). Я решил туда воткнуть копеечный mp3-плеер (чтобы коротенькие мелодии играть), светодиодный индикатор заряда батареи (на двоичном декодере), светодиодную мигалку (использую те светодиоды, которые в барабане уже были). Управление - при помощи макетки на stm8s003 (купил по-дурости, теперь мне она не нужна — для более серьезных дел я уже 8 макеток на s105 купил, по 60 рубликов за макетку). Вот я и подумал, что неплохо бы еще туда добавить эмуляцию звука удара, когда ребенок долбанет по барабану (у "барабана" два пластмассовых кругляша, под которыми находятся пьезоэлементы вроде пищалок с часов "монтана").
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 20.03.2014, 15:18  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Проще ребенку настоящий барабан купить.
Easyrider83 вне форума  
Непрочитано 20.03.2014, 15:28  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 116
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Эмуляция звука барабана на STM8S003

Сообщение от Easyrider83 Посмотреть сообщение
Проще ребенку настоящий барабан купить.
Она ж маленькая (чуть больше года). Раздолбает настоящий моментально. Да и просто долбить в барабан ей еще не интересно: нужно и чтобы он песенки пел, да светодиодами мыргал.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звука с видеокарты ATI Radeon нет kongo020762 Отвлекитесь, эмбеддеры! 34 10.08.2012 19:35
H-cdm 8037 нет звука yurets20 Аудиотехника 6 01.12.2011 12:15
Отсутствует вывод звука (samsung Max-k35) Krafter Аудиотехника 10 16.08.2011 02:45
Как организовать регулировку звука в нескольких помещениях, shurshic Аудиотехника 2 26.01.2008 19:29


Часовой пояс GMT +4, время: 00:43.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot