Мелодии хочу из atmega8 вытащить

Обсуждаем цифровые устройства...
Ответить
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Сообщение asidalv »

Просто пищать разными частотами научил мегу, но хочется сделать чтоб было хотя-бы как в до-полифонических телефонах чтобы звуки были приятные - "калинка-малинка" , "вальс" и т.д.

Вопрос, где взять такие ринг-тоны в виде частота-длительность-частота-длительность и тд. Кто как вообще решает данный вопрос в своих конструкциях?

Я сделал недавно часы там тактовая частота у меня 32 кгц, на динамическую индикацию хватает, цифры не мерцают. Звук будильника - простейший писк. В момент выдачи звука индикатор отключается (цифры) тк явно не хватает производительность воспроизводить звук и обновлять данные. Как от этого можно уйти, слышал как то можно что то с тактовым генератором делать но чтоб время было по кварцу.

Учился авр сам с нуля не пинайте))
Вложения
инд1.JPG
(113.97 КБ) 661 скачивание
clc.jpg
мои часы
(144.88 КБ) 447 скачиваний
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

1. Потрошить midi файлы в музыкальных редакторах. Таблица соответствия нота-частота есть в интернетах.
2. Приспособить для генерации звука таймер с аппаратным выходом.
3. Изучить в даташите варианты тактирования процессора и таймеров.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2209
Зарегистрирован: Вт июл 27, 2010 11:31:59
Откуда: Кххх

Сообщение minakan »

На 8 не очень удобно, лучше на 48 и более, это семейство более новое, там частота ШИМ выше, вот: MIDI плейер для AVR, там http://radiokot.ru/forum/viewtopic.php?f=25&t=95076 есть исходники и прочее, можно встраивать в свой проект.
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Сообщение asidalv »

Миди файл не подходит там полифонические звуки а проц может только дергать порт 0|1 и все, соответственно, про всякую полифонию можно забыть, равно как и воспроизведение wav. Точнее (теоретически) можно но это явно сложно, мне нужно просто чтоб будильник проигрывал простейшую мелодию .

Там проц у меня тактируется от часового кварца, а внутри прерывания от таймера 1 - счетчики секунд-минут-часов. Остальная программа в беск цикле занимается обновлением индикатора, кнопками управления, таймером будильником секундомером, программной коррекцией хода часов. Есть еще таймер 0 (однобайтовый) но как его пристроить для звука - вопрос открыт он не используется.

Программа сама небольшая на ассемблере, удобно сделал навигацию и установку времени. Осталось звук довести до нужного уровня и чтобы индикатор при звуке не отключался.
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Миди файл в атмегу вам и не предлагают. Даже при желании она его врядли переварит.
На 32КГц тактовой у вас нормально выйдет только малая октава(130.82-246.96Гц), более высокие звуки будут сильно фальшивить из-за ошибки деления.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2209
Зарегистрирован: Вт июл 27, 2010 11:31:59
Откуда: Кххх

Сообщение minakan »

Вообще то предлагают http://radiokot.ru/circuit/digital/game/51/. :) :tea:
Реклама
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Сообщение asidalv »

В статье идет речь о попытки (весьма корявой, судя по звуку) воспроизведения синусоиды. Для выдачи сигнала похожего на мелодию совершенно не нужно подавать синус на пищалку достаточно прямоугольных импульсов нужной частоты и длительности. При правильном выборе мелодии (она должна быть простой) получается (на слух) очень не плохо, не чувствуется "цифрового" звучания. Все это, во времена до саунд-бластеров программисты умели делать, пример - телефоны с АОНами очень неплохо проигрывали калинку-малинку) ZX спектрум тоже неплохо звуки воспроизводил))

А сейчас - исходники все похерили придется самому велосипед изобретать как всегда. Пока задача стоит как преобразовать полифонические мелодии из миди в такой набор нот как я писал выше, в ручную - нереально надо прогу искать/писать
Вымогатель припоя
Сообщения: 599
Зарегистрирован: Ср янв 06, 2010 10:01:46

Сообщение metan »

asidalv писал(а):Миди файл не подходит там полифонические звуки
Откою вам секрет, в миди файлах вообще нет звуков, там грубо говоря списки нот.
asidalv писал(а):про всякую полифонию можно забыть, равно как и воспроизведение wav.
это вы скажите ChaN-у :) http://radiokot.ru/circuit/digital/game/32/
asidalv писал(а):В статье идет речь о попытки (весьма корявой, судя по звуку) воспроизведения синусоиды
а на мой взгляд это попытка, достойная восхищения, и ЕМНИП число голосов, которое эта статья набрала на конкурсе, об этом красноречиво говорит
asidalv писал(а):Пока задача стоит как преобразовать полифонические мелодии из миди в такой набор нот
Статья, которую вам порекомендовали, исчерпывающе отвечает на этот вопрос
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

У меня на срисовку мелодии вручную часа 2 уходило притом что в музыке я ни бум-бум и до от до-диез отличаю только по названию.
Основная проблема была в том что инструмент продолжает звучать и после отпускания клавиши. Помню в спорных местах записывал мелодию и разбирал длительности в звуковом редакторе.
Вложения
lmms.PNG
(46.21 КБ) 580 скачиваний
Поставщик валерьянки для Кота
Сообщения: 2204
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков

Сообщение watchmaker »

Если кто-то не знает, как рассчитывать частоты. Нота "ля" первой октавы - это 440 Гц ровно. Повышение (понижение) звука на полтона (соседняя клавиша на пианино) соответствует умножению (делению) частоты на 2^(1/12). Считаем так все частоты для одной октавы, потом для повышения/понижения на октаву умножаем/делим частоту на два.
На всякий случай приведу набор частот от "до" первой октавы до "до" четвертой.
262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494, 523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988, 1047, 1109, 1175, 1245, 1319, 1397, 1480, 1568, 1661, 1760, 1865, 1976, 2093.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2365
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

asidalv писал(а):придется самому велосипед изобретать
А почитать, что люди пишут?
А вот прямо часы с будильником и кукушкой.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Ответить

Вернуться в «Цифровая техника»