"Музыкальная шкатулка" на ATmega8

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Можно ли проиграть коротинькую мелодия на МК: ну там *.midi например или это невозможно? Делаются же китайские шкатулки, игрушки, зажигалки с музыкой, там явно меньше памяти, чем в МК...
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 586
Зарегистрирован: Ср мар 07, 2007 22:58:02
Откуда: Черкассы, Украина

Сообщение Negor »

Китайцы пользуются готовыми мкрухами. У меня одна такая была - играла ХэпиБёздэй. Там всего три вывода - + питания, общий и выход на динамик. Так что на китайцев тут равнятся безполезно. Кста советские шкатулки тоже содержали в себе спец микрухи УМС в которых зашиты одна или несколько мелодий. На Меге можно пойти четырьмя путями.
1. - Таймером генерить ноты. Потом заливаем ноты и МК последовательно их проигрывает. Дёшево быстро и памяти мало жрёт. Переферии и процесорного времени хватит на светомузыку.
2. - Проиграть WAV. Опять нагружаем таймер и заливаем вав файл. Памяти жрёт много но если подобрать хороший файлик да пожать его аккуратно - получится ничего.
3. - Разработать самому или поискать проигрыватель MIDI или подобног под AVR. Сам не встречал.
4. - Воспользоватся диктофоном ISD. Если найдёте - сообщите мне где.
There is only 10 kind of people: those who understands binary code and those who dont!!!
Контактная информация:
Реклама
Мучитель микросхем
Сообщения: 465
Зарегистрирован: Ср июн 21, 2006 08:24:32
Откуда: Лисичанск

Сообщение Radan »

Посмотри здесь - и теория, и практика.
http://bascom.at.ua/load/1-1-0-1
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

Radan писал(а):Посмотри здесь - и теория, и практика.
http://bascom.at.ua/load/1-1-0-1
Спасибо, полезный ресурс. Буду модифицировать под Си
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Synergetik писал(а):
Radan писал(а):Посмотри здесь - и теория, и практика.
http://bascom.at.ua/load/1-1-0-1
Спасибо, полезный ресурс. Буду модифицировать под Си
выложите потом пожалуйста, я сейчас Bascom-AVR докачаю и на протеусе просимулирую :)
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

Hudgun писал(а):выложите потом пожалуйста, я сейчас Bascom-AVR докачаю и на протеусе просимулирую :)
Знаете ли, это может занять от нескольких дней до нескольких месяцев в зависимости от моей загруженности и понимания принципа кодирования нот. Для меня это не необходимость, а любопытство и желание проявить себя для себя, а не кого-то там, да и не факт, что у меня получится и не могу предоставлять себя в качестве последней инстанции. Так что...
Контактная информация:
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Synergetik писал(а):
Hudgun писал(а):выложите потом пожалуйста, я сейчас Bascom-AVR докачаю и на протеусе просимулирую :)
Знаете ли, это может занять от нескольких дней до нескольких месяцев в зависимости от моей загруженности и понимания принципа кодирования нот. Для меня это не необходимость, а любопытство и желание проявить себя для себя, а не кого-то там, да и не факт, что у меня получится и не могу предоставлять себя в качестве последней инстанции. Так что...
ну большой срочности нету, для меня это тоже любопытство. если получится не поленитесь выложить :)
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Вот посмотрите это: http://avrprog.pbworks.com/AvrSound Все просто вроде.
Даташит - библия моя...
Изображение
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

VenomXP писал(а):Вот посмотрите это: http://avrprog.pbworks.com/AvrSound Все просто вроде.
чет не особо понятно (пероводил гуглом) :))
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Вот проект протеуса вместе с прошивкой если кому интересно
Вложения
sound.rar
(27.52 КБ) 958 скачиваний
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

Заинтересованным - проект на Си в CodeVisionAVR и Proteus'е.

Особенности следующие:

1. Мелодию можно задавать в виде константной строки: "char mel[]= {H(1/16) Cis3(1/2) P(1/4) G2(1/1) ..."};", как и в проекте на http://bascom.at.ua/load/1-1-0-1. То есть сначала нота (P - тишина), потом возможно диез (бемоль не поддерживается, так что нужно преобразовывать именно в диезы), номер октавы, далее длительность - доля от 2 секунд.

2. Пока не разобрался в причине зависания при воспроизведении некоторых мелодий на Протеусе. Это может быть глюк Протеуса, хотя я склонен думать, что это баг в программе. Так что буду искать.

3. Мелодии в вышеописанном проекте на Bascom не самого лучшего качества (хотя в большом количестве), но для начала пойдёт. Так что буду как-нибудь декомпилировать midiшки, писать свои мелодии или редактировать Bascom'овские. Буду благодарен любой помощи по написанию мелодий в указанной выше кодировке.

Удачи!
Вложения
03.rar
(95.04 КБ) 600 скачиваний
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

MIDI File Conversion



In order to get access to a large list of music and audio, I made a little program to convert arbitrary MIDI files into the byte stream required for the AVR sound.c file.



invent8.mid is the original MIDI file, available from many sites...
По той ссылке что я давал выше, человек написал прогу для декомпила мидишек. Все отлично робит.
Даташит - библия моя...
Изображение
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

VenomXP писал(а):По той ссылке что я давал выше, человек написал прогу для декомпила мидишек. Все отлично робит.
Спасибо, но чувствую, что с этим придётся долго разбираться. Короче, кто хочет мелодию на МК, вот сайт с кучей всякого: http://www.siemens-club.org/music/. Естественно, о полифонии речи не идёт.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

На AVR полифонии я не видел .
А на пиках пожалуйста : http://www.pic24.ru/doku.php/osa/ref/appendix/quartet .

http://www.microchip.su/showthread.php? ... hlight=osa
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Synergetik писал(а):Естественно, о полифонии речи не идёт.
Ресурсов у AVR не хватает или почему?
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

Hudgun писал(а):
Synergetik писал(а):Естественно, о полифонии речи не идёт.
Ресурсов у AVR не хватает или почему?
Не знаю хватает, или нет, но я себе вообще не представляю, как можно на одну ножку подавать одновременно два сигнала с разными частотами вообще, с электрической точки зрения, а не с той - AVR это или PIC. Мне на данном этапе монофонии пока хватает.
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1071
Зарегистрирован: Пн май 04, 2009 16:43:07
Откуда: Набережные Челны

Сообщение Hudgun »

Synergetik писал(а):
Hudgun писал(а):Ресурсов у AVR не хватает или почему?
Не знаю хватает, или нет, но я себе вообще не представляю, как можно на одну ножку подавать одновременно два сигнала с разными частотами вообще, с электрической точки зрения, а не с той - AVR это или PIC. Мне на данном этапе монофонии пока хватает.
а если использовать не одну ножку, а 2 например?
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

Hudgun писал(а):а если использовать не одну ножку, а 2 например?
В принципе можно попытаться:
1. Для каждой ноги свой диод, чтобы не было влияния
2. Всё равно не уверен, можно ли подавать в один провод сразу два сигнала - если только сделать что-то наподобие стереозвука - два, три или больше динамиков
3. Именно Мега8 имеет один 16-битный и два 8-битных независимых таймера, по которым и работает воспроизведение частоты. Для 8-битных придётся выставлять дополнительно PreScaler'ы, если частота ниже 8000 Гц (то есть для всех основных частот). Так что потенциально три канала.
4. Нужно научиться сочинять многоканальную музыку. И хотя уважаемый VenomXP предлагал вариант, пока я не могу в этом разобраться и не уверен, что это то самое

3-й пункт не проблема, а вот остальные под вопросом.
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 316
Зарегистрирован: Пт апр 17, 2009 22:45:42
Откуда: Minsk

Сообщение maglev »

да ладно, соединить ножки через резисторы (у atmega48/88/168 таких лапок 6) и всё зазвучит. Либо внешний ЦАП.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Вам же дали ссылку , где многоканальный звук реализован на одной лапе слабого пика.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»