плейер похож на тот, что во втором видео об AVR Batterfly.
о да......! именно такую "музыку" я хочу воспроизводить
hax писал(а):
Преимущество моего плейера в том, что с нотами не нужно разбираться, почему вы не возьмёте его?
простите за невежество, но я обеими руками за, только вот я не совсем понимаю как с помощью вашего плейера сформировать массив снотами который в последствии я бы мог вставить в свой проэкт, приведенный выше, растолкуйте пожалуйста
Моё ПО для PC формирует массив нот для моего плейера на AVR, реализация которого находится в файле Common\hxMidiPlayer.c.
Плейер, который вы показали, этот массив не поймёт. То есть прямой ответ на вопрос: "как с помощью вашего плейера сформировать массив с нотами который в последствии я бы мог вставить в свой проэкт, приведенный выше" - никак, это невозможно. Если вы хотите использовать моё ПО для PC, то нужно использовать мой плейер на AVR.
В начале статьи в разделе "Что позволяет ПО" описано, как подключить мои исходники к имеющемуся проекту, а в каталоге ATMega8Example есть пример уже настроенного проекта.
Потому что WAV файл содержит звук, грубо говоря - звук, записанный на диктофон. Для хранения требуется много памяти, например - 8КБ/сек.
Midi файл содержит ноты мелодии. Одна нота занимает, скажем, 3 байта. Мелодия типа Кузнечик из 50 нот займет 150 байт. Задача плейера - сыграть мелодию по нотам.
Забыл упомянуть, что вручную я ноты списывал не с МИДИ-файла (этого и врагу не пожелаешь), а открывал его (файл) в специализированной программе (Кейкволк-Сонар), и уже оттуда переписывал ноты.
FreshMan писал(а):
как с помощью вашего плейера сформировать массив снотами который в последствии я бы мог вставить в свой проэкт
Можете попробовать с помощью моей программы. Выберите выходным форматом *.asm, и он Вам выдаст текстовой файл в чановском формате. Это уже будет практически то, что вам надо (про формат - в Хелпе программы).
_________________ ICQ нет, и, в ближайшее время, не будет.
наверное миссия невыполнима спрошу лишь одно: в вашем массиве присутствует такая закономерность как нота-пауза-нота-пауза-..... ? если да ......, тогда я щастлив hax, мне вот непонятен такой момент: в вашем проэкте воспроизводятся MIDI мелодии, в моем тоже так почему же с помощью вашего ПО я не могу создать массив который будет играть в моем проэкте ? извиняюсь за настырность
hax, мне вот непонятен такой момент: в вашем проэкте воспроизводятся MIDI мелодии, в моем тоже так почему же с помощью вашего ПО я не могу создать массив который будет играть в моем проэкте ?
Потому что и мой плейер, и плейер в вашем проекте по сути играют не midi файл, а "свой" формат. У меня этот формат один, в вашем проекте он другой.
А если внимательней посмотреть? Не ужель не видно, что идёт двухбайтный (младший байт впереди) отсчёт таймера, затем ноты, затем знак окончания отсчёта, и всё по-новой. P.S.: И не мой это формат, а чановский.
_________________ ICQ нет, и, в ближайшее время, не будет.
Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Пт сен 07, 2012 19:38:09 Сообщений: 116 Откуда: Белая Церковь, Украина
Рейтинг сообщения:0
Мне очень понравилась статья о MIDI плеере (http://radiokot.ru/konkurs/77/) и хочу попробовать повторить поделку. Открывал проекты автора - hex файл просто постоянно выдает шум через шим(прям в рифму ); CodeVisionAvr при попытке Build All (после открытия проекта-примера на attiny2313) выдает ошибки и предупреждения, как ни крути...было даже такое, что кодвижин выдавал ошибку, мол исходный код слишком велик и нужно купить полную версию (даже если мелодия длиться несколько миллисекунд (но при этом предупреждения все равно выскакивали))...Автор, помоги, пожалуйста, написать исходник на си, в который уже все подключено все файлы, выбран способ вывода звука через ШИМ и прочее...чтобы осталось скопировать те melody.c и hxMidiPlayer_config.h, нажать на BUILD ALL и получить hex файл, загрузив который в attiny2313 с кварцом 20мГц, мк начнет воспроизводить мелодию через ШИМ (PORTB.3).
_________________ Все получится!! Главное не сдаваться, ведь не ошибается тот, кто не ничего не делает!!!
Все проекты в статье - для CodeVision AVR 2.05.0 Professional (поищите в Google). Я только сейчас заметил, что вышла версия 3.
AtTiny2313Example - настроенный проект для ATTiny2313. Вывод на PORTB.3. В 2.05.0 компилируется без ошибок - проверено. Предупреждения игнорируйте. Фьюзы нужно выставить на внешний кварц 20 МГц. AtTiny2313Example\Exe\attiny2313example.hex из архива должен работать - проверьте фьюзы.
Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Пт сен 07, 2012 19:38:09 Сообщений: 116 Откуда: Белая Церковь, Украина
Рейтинг сообщения:0
Насчет фьюзов даже не знаю...у меня ничего не запрограммировано кроме некоторых CSKEL, согласно которым, мк работает от внешнего кварца. И о программе..я б наверное не писал бы вам, если б сам не перепробовал много вариантов: я устанавливал, наверное, штук 6-7. Даже находил одну из самых-самых давних версий, но все равно, и там есть ограничения по исходному коду.. Буду о-о-очень благодарен, если под кинете ссылку на програмку, и укажите, какие именно фьюзы нужно установить в тиньке. Заранее спасибо!!
_________________ Все получится!! Главное не сдаваться, ведь не ошибается тот, кто не ничего не делает!!!
Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Пт сен 07, 2012 19:38:09 Сообщений: 116 Откуда: Белая Церковь, Украина
Рейтинг сообщения:0
Программу уже нашёл, установил, пример компилируется (занимает 96 процентов памяти), несколько секунд другой песни, и с низким качеством тоже уже получилось воспроизвести ,..жаль, флеш памяти маловато..появился новый вопрос: как увеличить темп мелодии, не меняя кварц? На компе, в программе все быстро, динамично, записываю в мк, соотношения между паузами и тонами норм, но вот весь темп музыки медленный + тона чуть искажаются
_________________ Все получится!! Главное не сдаваться, ведь не ошибается тот, кто не ничего не делает!!!
Если тона искажаются, значит контроллер не успевает обрабатывать каналы. Нужно снизить частоту синтеза/уменьшить количество каналов/увеличить частоту кварца. BTW Tiny легко заработает на 24-27MHz.
Зарегистрирован: Ср сен 19, 2012 21:12:31 Сообщений: 10 Откуда: Россия
Рейтинг сообщения:0
замечательная статья, я вероятно повторю, и попробую сделать "пианино",.... но, ещё эта статья окончательно убедила меня переходить на STM32, этот проект на STM32 будет с более качественным звуком и.т.д. и Разгонять (как автору) чип не надо. да и цена 32 разрядного процессора равна 8 разрядному, сейчас в магазине 75р. (STM32F103R) Вообщем, спасибо автору за сорцы, буду переделывать под STM. И ещё, пожелание, Коментарии в программе желательно бы на русском, не у всех английский родной язык.
Еще проблема. Громкость очень маленькая. Собрал на двух транзисторах. Более менее нормально слышно только когда мелодию делаю в Square wave, но в этом режиме она не красиво звучит. питание 5 вольт
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения