Спасибо за статью! Для меня были очень полезными разборы теоретических основ и примеров кода. Теперь руки чешутся забацать такую же шкатулку. Жаль, что многие недооценили Вашу статью...
Вы так зря шутите, начинающий народ сейчас SPIEN отключит и много доброго вам скажет
По даташиту "This fuse is not accessible in SPI programming mode." CVAvr его не показывает. Специально расчехлил x86 десктоп, потому что PonyProg на x64 не устанавливается - там этот бит загреен.
Прежде всего, присоединяюсь к благодарностям !Если бы в номинации был радел "измерительные приборы" , то данная статья заняла бы совсем другое место , но это мое личное мнение , да и затрагивать это здесь наверное не к чему , ведь в этой теме надо обсуждать статью Midi player для AVR , а мнения пускай останутся у каждого свое , свое я уже сказал Есть огромное желание сделать маленький подарок , и повод как раз есть , праздники не за горами И конечно же есть пару вопросов , ATTiny85 нашел , только они есть в smd , а хотелось бы в dip.Хочу спросить , для шкатулки и воспроизведении одной мелодии (Yiruma - River Flows in You) однозначно нужна ATTiny85 , или можно что нибудь еще , например ATTiny15 , просто они у меня еть
ATTiny15 - 1Кб flash - слишком мало. При выборе микроконтроллера играет роль только размер flash. Плейер 4 канала, sine+envelope, компрессия - ~1.7Кб, RiverFlows in you - ~1.5Кб, итого минимум 4Кб. Например, можно ATMega48, ATTiny44.
Тогда конечно на ATTiny85 , я наверное как- то не так вбивал в поиск ATTiny85 ,т.к. был ответ " К сожалению, ничего не найдено" .Ну теперь вроде все понятно ,будем собирать
Спаял платку для шкатулки на tiny85. Сразу не завелось, при прошивке пищит, а звука нет. Оказалось что выполнил дословно инструкцию автора "Фъюзы выставляем для работы от внешнего кварцевого резонатора, остальное не важно." Важно - у камня по умолчанию включен делитель на 8! Итого: AVREAL32.EXE -as -p1 +TINY85 -fcksel=E,fckdiv=1 -e -w -v MusicBox.hex Статья очень даже очень. Благодарность автору. он научил котов мило мурлыкать. Моя платка, кварц - трухольный. И еще - у меня лекарство не подействовало, пришлось перерисовать печатку.
Вложения:
Комментарий к файлу: печатки под утюг, может кому надо midi-all.pdf [59.33 KiB]
Скачиваний: 653
Комментарий к файлу: как танк после боя, платка вся в копоти. midi.jpg [87.62 KiB]
Скачиваний: 1137
вопрос к автору, я вот пытаюсь собрать простой проигрыватель 8 битных мелодия для часиков как переводить ноты определонной мелодии в массив чисел которые потом будут подставляться в регистр сравнения Т1 ?
получили: delta - сколько подождать 1/255 сек перед тем, как обрабатывать это событие channelIndex - номер канала noteIndex - номер ноты (или ноль - выключить ).
hax, у меня имеется рабочий проэкт (прилагаю) воспроизведения элементарных мелодий, проблемма состоит в том что я не могу осмыслить как переводить ноты мелодии в массив цифр помогите пожалуйста
Откройте midi файл в каком-нибудь редакторе и перепишите ноты в массив вручную.
Ничего себе задачка, для людей с очень устойчивой психикой. Но о всём по порядку. Автор, безусловно, проделал большую и кропотливую работу, за что ему респект и уважуха. Однако, как мне кажется, больно уж огромный диапазон материала, для такой маленькой статьи. То, что не упоминается про другие строи, кроме равномерно темперированного, это - мелочи, но вот про основные разновидности синтеза, и фазы сэмпла, всё-таки, сказать следовало. И честно говоря, я бы не стал относить тон-генераторы меандра к синтезаторам. В 8-битном сэмпле, без знака, нет значения 00h (иначе сэмпл будет несимметричным). Собственно, в представленной таблице его и нет. И вообще, странноватая какая-то таблица. Если там и синус, то очень "хилый". Или это специально? При разговоре о МИДИ, я бы всё-таки употреблял терминологию, согласно протокола МИДИ. Касаемо самих МИДИ-файлов, там такая жуть, что выудить оттуда что-нибудь вручную, по-моему просто нереально. Кстати, там вроде, до четырёх байт на дельту, а у Вас, три (могу ошибаться, давно дело было). Я когда усовершенствовал синтезатор Чана, тоже помаялся с ручным написанием в родном формате, а потом плюнул, и тоже программку-конвертер написАл. Кстати, у Чана как-раз хорошо расписанно, что звук у него разбит на атаку и сустейн, с наложением огибающей. В общем, после экспериментов с меандрами, мне звук очень понравился, и я его, доработав, использовал в музыкальной шкатулке. Деталей минимум. Я даже включение сделал размыканием, что позволило отказаться от специализированных микровыключателей, и использовать простые токопроводящие контактные площадки. Так что габариты определяются аккумулятором и динамической головкой. Это я плавно перешёл к практическому использованию. В статье правильно сказано, что полноценного синтезатора из неё не получить, поэтому лично я тоже, в дальнейшем ушёл от этих попыток. Но можно развивать тему, например, речевого информатора. Однако, это уже для другой статьи.
Теперь вопросы. В одной своей разработке я тоже использовал повторное воспроизведение одинаковых фрагментов, а вот насколько эффективно работает описанное в статье сжатие, и не накладывает ли оно ограничения на используемые мелодии?
_________________ ICQ нет, и, в ближайшее время, не будет.
Ну да... Там одноголосые мелодии по 20-30 нот, плейер похож на тот, что во втором видео об AVR Batterfly. По сути вам нужны ноты мелодии, вот такие: http://blflute.com/wp-content/uploads/2013/05/03.jpg Просто переписываете ноты одну за одной в массив. Преимущество моего плейера в том, что с нотами не нужно разбираться, почему вы не возьмёте его?
Dmitry Dubrovenko писал(а):
В 8-битном сэмпле, без знака, нет значения 00h (иначе сэмпл будет несимметричным). Собственно, в представленной таблице его и нет. И вообще, странноватая какая-то таблица. Если там и синус, то очень "хилый". Или это специально?
По ошибке вставил в статью синус с амплитудой 0x16 ( отскейлен для 6 каналов ). Исправлю.
Dmitry Dubrovenko писал(а):
Касаемо самих МИДИ-файлов... Кстати, там вроде, до четырёх байт на дельту, а у Вас, три (могу ошибаться, давно дело было).
У меня - 13 бит. Время считается в 1/255 сек. Это позволяет делать дельты до 32 сек. Этого достаточно в любом случае. По сути, получаемый исходник для AVR не является Midi плейером - он играет "свой" формат, оптимизированный под минимальный размер данных и кода.
Dmitry Dubrovenko писал(а):
Кстати, у Чана как-раз хорошо расписанно, что звук у него разбит на атаку и сустейн, с наложением огибающей.
а вот насколько эффективно работает описанное в статье сжатие, и не накладывает ли оно ограничения на используемые мелодии?
Использование "своего" формата с меньшим количеством бит на переменные вместо MIDI даёт уменьшение данных мелодии раз в 10. Накладывает ограничение на длину дельты ( до 32 сек ) и точность ( 1/255 сек). Сжатие c частотным анализом дает дополнительное уменьшение раза в 2, никаких ограничений не накладывает т.к. алгоритм сжимает байтовый поток и о природе данных не знает. Грубо говоря, это сильно упрощённый zip.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения