AVR-AY Player — специализированный проигрыватель для эмулятора, представленного на этом сайте.
Проигрыватель написан на C# (.Net Framework 3.5+)
Для проигрывания просто подключите TX пин USB to serial ttl конвертера к RX пину Atmega8
Проигрыватель позволяет проигрывать следующие форматы файлов:
YM (3,4,5,6 packed/unpacked), PSG, EPSG, VTX, AY, PT1, PT2, PT3, STC, ZXS, STP, ASC, PSC, SQT, GTR, PSM, FTC, FLS, FXM (RSF,YRG:Custom formats)
Проигрыватель позволяет конвертировать загруженные файлы в форматы:
PSG, RSF, YRG, WAV
Текущая версия 13.7 (10.11.2021)
ЗАГРУЗИТЬ ТЕКУЩУЮ ВЕРСИЮ >> AYPlayer version 13.7
Изменения: улучшен код эмуляции Z80 для проигрывания AY файлов, улучшен эквалайзер, некоторая оптимизация и улучшение воспроизведения в режиме эмуляции.
Моя самая любимая композиция для AY spec17_09.stc
>> Дополнительные музыкальные коллекции <<
Предыдущие версии
Версии поддерживающие эмулятор начиная с версии 14.0
AYPlayer version 13.6 (08.09.2019)
Изменения: исправлен микшер и генератор шума в режиме эмуляции.
AYPlayer version 13.4 (30.01.2019)
Изменения: некоторые исправления в интерфейсе, добавлена возможность выбора эмулируемого чипа, добавлено сохранение настроек при выходе из программы.
AYPlayer version 13.3 (08.06.2018)
Изменения: исправлено воспроизведение AY файлов в Windows XP и более новых версиях Windows.
AYPlayer version 13.1 (22.07.2017)
Изменения: улучшен генератор шума в режиме звуковой карты, исправлено воспроизведение AY файлов.
AYPlayer version 13.0 (07.07.2017)
Изменения: улучшен генератор шума в режиме звуковой карты, немного изменен интерфейс, поправлены вылеты на кривых PT2/PT3 файлах. В вин XP звучание хуже, т.к. дискретизация звука в 2 раза ниже, не тянет оно 220КГц 🙂 Виста и выше звучание как у оригинального чипа с дискретизацией около 221КГц.
AYPlayer version 12.0 (29.08.2016)
Изменения: исправлен генератор шума в режиме звуковой карты, исправлена проблема c некорректным шумом в ASC файлах
AYPlayer version 11.9 (24.06.2016)
Изменения: исправлен генератор шума в режиме звуковой карты
AYPlayer version 11.8 (25.04.2016)
Изменения: исправлены ошибки в эмуляции бипера
AYPlayer version 11.7 (19.03.2016)
Изменения: исправлена ошибка возникающая при отсутствии звуковой карты, улучшена эмуляция бипера, улучшены индикаторы частоты тона.
AYPlayer version 11.6 (19.02.2016)
Изменения: исправлен генератор шума в режиме звуковой карты.
AYPlayer version 11.5 (19.01.2016)
Изменения: некоторые PT2/PT3 файлы определялись как некорректные, исправлена проблема нулевой громкости при выходе из программы при проигрывании через звуковую карту в WinXP. Улучшена эмуляция в режиме звуковой карты. Улучшено воспроизведение .AY файлов. Более не требуется устанавливать FrameWork 3.5 если у вас есть более поздняя версия.
AYPlayer version 11.3 (12.12.2015)
Изменения: поддержка формата RSF версии 3, более качественное сохранение в RSF, добавлена возможность сохранения всех файлов из списка в RSF, улучшена эмуляция в режиме звуковой карты, исправлены небольшие баги выдающие ошибки на кривых файлах.
AYPlayer version 11.2 27.07.2015
Изменения: добавлен выбор аудиоустройства в режиме звуковой карты.
AYPlayer version 11.1 07.05.2015
Изменения: эмуляция при проигрывании через звуковую карту исправлена с учетом версии 18.4 эмулятора.
AYPlayer version 11.0 27.04.2015
Изменения: Продолжение версий 10.X, версия 11.А пока что отложена до лучших времен. Исправлены некоторые ошибки в форматах ASC и PSC, эмуляция при проигрывании через звуковую карту исправлена с учетом версии 18.3 эмулятора.
AYPlayer version 11.A 05.02.2015
Изменения: Предварительная версия для проверки работоспособности. Добавлена возможность выбора устройства воспроизведения. Отписывайте, если обнаружите какие-то проблемы.
AYPlayer version 10.9 25.01.2015
Изменения: Исправлены ошибки при проигрывании PSC и FXM, добавлена поддержка BEEPER’a при проигрывании AY файлов в режиме звуковой карты. Улучшено воспроизведение PT3 и STC. Улучшен индикатор громкости каналов. Исправлено воспроизведение AY файлов.
AYPlayer version 10.3 14.01.2015
Изменения: Поддерживается формат PSM, FTC и FLS. Устранены некоторые недочеты в ранее добавленных форматах. В эмуляцию AY внесены все изменения из версии 18.0 эмулятора. Теперь отображается информация о паттернах при проигрывании трэкерной музыки. Улучшено качество воспроизведения и работа эквалайзера в режиме звуковой карты. Добавлены индикаторы частоты каналов. Небольшой фикс GTR. Добавлен формат FXM.
AYPlayer version 9.92 28.12.2014
Изменения: Поддерживаются файлы SQT, GTR. Устранены некоторые недочеты в ранее добавленных форматах. Улучшена генерация шума, в соответствии с версией 17.9 эмулятора. Файлы GTR играют как в оригинальном трекере! Лучше чем в AY-Emul.
AYPlayer version 9.8 24.12.2014
Изменения: Поддерживаются файлы STC, ZXS, STP, ASC, PSC, PT1 добавлена поддержка зацикливания у PT2, PT3. Поддержка цифровых AY файлов в режиме воспроизведения звуковой картой (кроме файлов с бипером). Уменьшено количество используемой памяти (на порядок!) при проигрывании цифровых AY. Устранены щелчки при переключении мелодий.
AYPlayer version 9.4
Изменения: Исправлена проблема при сохранении WAV и одновременном проигрывании через звуковую карту, улучшена эмуляция Z80 при проигрывании AY файлов, исправлены некоторые проблемы при проигрывании AY файлов от CPC, эмуляция AY сделана в соответствии с версией 17.5 эмулятора. Добавлена возможность проигрывания PT2, PT3 файлов. Новая версия формата RSF (версия 2) для сохранения цифровых композиций. (в проигрывателе только воспроизводится, есть примеры в архиве). Более 12000 PT2/3 файлов включено в архив.
AYPlayer version 9.0
Изменения: Теперь поддерживаются файлы с расширением .AY (производится эмуляция процессора Z80). Исправлено положение каналов. Исправлено то что попалось под руку в процессе 🙂
AYPlayer version 8.3 22.11.2014
Изменения: Теперь может проигрывать файлы на PC через звуковую карту без эмулятора! Конвертирует в WAV. Исправлено положение каналов и более точно рассчитывается частота при проигрывании через звуковую карту, так же исправлены разные баги 🙂
AYPlayer version 7.1 19.11.2014
Изменения: Улучшен интерфейс, улучшена работа индикаторов.
AYPlayer version 7.0 13.11.2014
Изменения: Теперь используется Multimedia Timer вместо дополнительного потока и StopWatch, во-общем теперь звук генерируется очень точно и не расходуются ресурсы компьютера.
AYPlayer version 6.1 10.11.2014
Изменения: исправлена проблема пропадания выбранного индекса при удалении элемента из списка кнопкой Del, уменьшено количество передаваемых данных по последовательному протоколу.
AYPlayer version 6.0 01.11.2014
Изменения: в связи с изменением протокола последовательной загрузки в версиях эмулятора, начиная с 14.0 была выпущена данная версия. Подробности нового протокола в архиве с проигрывателем.
Версии поддерживающие эмулятор до версии 13.2 включительно
AYPlayer version 5.2 26.08.2014
Изменения: добавлен чекбокс для выбора качества работы таймера, если выбран, то таймер очень точный, но используется много системных ресурсов, данная опция может помочь на системах, где таймер притормаживает
AYPlayer version 5.1 21.08.2014
Изменения: исправлена проблема медленного таймера, если в системе не загружен браузер 🙂 в цикле ожидания используется Thread.Join вместо Thread.Sleep, исправлена проблема, когда при добавлении файла в плейлист происходила отмена, то добавлялся пустой элемент
AYPlayer version 5.0 18.08.2014
Изменения: полностью убран код основного таймера, заменен на дополнительный поток с классом Stopwatch, теперь проигрыватель почти не расходует системных ресурсов, в отличие от предыдущих версий
AYPlayer version 4.4 17.08.2014
Изменения: небольшие исправления
AYPlayer version 4.3 24.06.2014
[ad name=»HTML»]
Старая история изменения версий
Версия 4.3
— добавлены кнопки отключения каналов
Версия 4.2
— удален путь при конвертировании файлов (исправлена проблема при сохранении в другую папку)
Версия 4.1
— убрана кнопка DUMP, конвертирование добавлено в контекстное меню списка файлов
— улучшено добавление элементов в список (ускорение)
— добавлен обработчик обновления списка COM портов при подключении USB устройств
— исправлено открытие файлов, теперь в режиме «только чтение»
— добавлены кнопки для проигрывания предыдущей/следующей мелодии
— добавлена возможность загрузки/выгрузки плейлиста
— автоматическое сохранение текущего плейлиста между загрузками проигрывателя
— улучшен интерфейс
Версия 4.0
— поддержка плейлистов (без сохранения)
— улучшен интерфейс
Версия 3.1
— добавлена поддержка YM файлов версий 3 и 4
— добавлено больше обработчиков ошибок ввода/вывода
Версия 3.0
— добавлена поддержка файлов YM версии 5
— добавлена поддержка сжатых YM файлов
— добавлена поддержка VTX файлов
— улучшен интерфейс и добавлена обработка некоторых ошибок
Версия 2.3
— исправлена скорость таймера для 100Гц файлов
Версия 2.2
— улучшен интерфейс
Версия 2.1
— улучшен алгоритм отправки данных в AVR
— добавлен новый формат файла RSF (разработанный для эмулятора)
— исправлена скорость таймера
Версия 2.0
— поддержка сохранения в PSG и EPSG файлы
— использует в 5-10 раз меньше ресурсов компьютера
Версия 1.0
— начальная версия
[ad name=»HTML»]
Версия 5.1 от 21.08.2014 — проблема со скоростью воспроизведения при незагруженном браузере воспроизводится (воспроизводится на всех версиях 5.х), на 4.4 — нет.
Я проверял на Windows Server 2003, до 5.1 там скорость была в 2 раза ниже, видимо .Net не приспособлен для маленьких периодов в таймере. Сейчас вроде всё должно быть в порядке. Если 5.1 тормозит — сообщите, а то не совсем понятно из вашего комментария.
Да, на 5.1 тоже тормозит. Проверял на w2k3 и w2k3 x64. Если входить и выходить из браузера — скорость меняется прям на ходу.
Ок, в следующей версии уберу вообще задержку, будет цикл, правда будет жрать ресурсы…
Лучше выбор того или иного таймера в настройки вынести, наверняка не у всех эта проблема возникает.
А оцифрованную музыку можно как-нибудь воспроизвести? Заодно и точность эмуляции можно будет проверить.
Например, Lyra II part 7
http://zxtunes.com/downloads.php?id=2084
Больше ссылок на оцифровки здесь
http://zx-pk.ru/showthread.php?t=1754
Ну, тут сначала надо разобраться как это играть проигрывателем 🙂 Если будет время — поковыряюсь
Попробовал написать программу для проигрывания RAW файла 8 бит 8кГц через COM порт, но увы, т.к. регистры шлются порциями по 16 байт, на скорости 19200… этого явно недостаточно… слышно только шипение и передача идет очень медленно. Тут либо играть в параллельном режиме, либо переписывать часть работы с COM портом под большую скорость и оптимизировать передачу регистров под 2 байта (номер, значение + стоповые значения)
Для режима Play using sound card не хватает регулятора громкости.
Ага, уже сделал 🙂
Дорогие друзья, оставляйте комментарии, каждый Ваш комментарий — это двигатель прогресса в развитии проигрывателя, если вас что-то не устраивает или хочется большей функциональности — пишите, не стесняйтесь!!!!!!!!! ваще не стесняйтесь!!!! 🙂
Проверено, на скорости COM порта 57600 максимальная частота передачи кадров, 1000 кадров в секунду, т.е. цифровой звук можно передавать с частотой не более 1КГц (в идеале), а так 800Гц без торможения. Так что 8КГц по последовательному интерфейсу не передать, я пробовал разгонять ком порт до 800000 бит/с, но увы, начинает тупить эмулятор, из-за частых прерываний по USART. Вывод: слушаем цифровой звук через звуковую карту 🙂
Хотелка: убрать чекбокс «Play using soundcard», список доступных аудиоустройств (не только основное аудиоустройство) добавить в комбобокс COMPort. Комбобокс соответственно переименовать.
Хотелка: «Аналоговый» индикатор что-то вроде http://img-fotki.yandex.ru/get/6443/52650084.3e/0_a0065_c57a83cb_orig
К сожалению так достаточно трудно реализовать, т.к. к ком порту еще нужно подключаться, могу сделать звуковую карту по умолчанию (сейчас она выбирается первой, если в системе нет ком портов) и выбор аудио устройств, а галочку поменять на «Play through COM port» 🙂 Насчет индикатора, посмотрю куда бы его можно было впихнуть )
[quote]К сожалению так достаточно трудно реализовать, т.к. к ком порту еще нужно подключаться[/quote]
Запихнуть в комбобокс объекты, а не просто строковые представления.
Еще в качестве задумки (это же c# который из ООП состоит чуть менее чем полностью) — базовый класс «УстройствоВоспроизведения» и два (пока потомка) «УстройствоВоспроизведенияCOMПорт» и «УстройствоВоспроизведенияЗвуковаяКарта».
Доброго. А нельзя ли добавить выбор частоты Эйвая? То бишь 1750000, 3500000 и 1774400. Аргументы в пользу этого дела здесь: https://bitbucket.org/djdron/unrealspeccyp/issue/2/ay-ym
Интересует, если честно, именно три с половиной мегагерца. Можно ли добавить в плеер И эмулятор? Или хотя бы только в плеер уж. Сейчас плеер показывает частоту 1773450 для всех музонов и это вызывает нервный зуд у многих жителей Ростовской области, у которых в большинстве было три с половиной заведено на Эйвай 🙂
Да, конечно можно, я как раз планирую добавить такую возможность, так же выбор частоты прерываний и смещение тона (насчет этого еще думаю). Насчет эмулятора… есть же исходники, там можно самостоятельно подправить под нужную частоту значение регистра ICR.
На всякий случай сообщаю что сейчас дорабатывается — возможность выбора устройства проигрывания из выпадающего списка, для этого разрабатывается класс «Устройство воспроизведения». Приходится переделывать половину кода, т. к. изначально не рассчитывал, что это приложение дорастет до такого масштаба 🙂 Далее будет сделана возможность настройки приложения с автоматическим сохранением конфигурации. Если будет время, то еще и с плейлистами поколдую, чтобы можно было настраивать элементы списка, конвертировать весь плейлист за один проход без запросов подтверждений.
Неплохо бы было поддержать(только на чтение) плейлисты в формате .ayl, которые в знаменитой коллекции AY-музыки Сергея Бульбы.
Ну и вопрос почти по теме:) Вот эта китайская хреновина сойдёт для эмуляции с прошивкой на 8 МГц видимо? http://www.dx.com/p/atmega8-m8-avr-minimum-system-development-board-blue-157391#.VMplnCViLbc
Суть-то в чём. Имеется четыре жлоба, а у них ещё знакомые куча жлобов, которые паять ничё не хотят, но приобщиться к данному проекту желают:) Так вот могу я им посоветовать купить вышеозначенную штуковину или подобную ей специально под AVR-AY?
Такая штука в чистом виде не пойдет, т.к. в ней нет эмулятора COM порта, да и RC фильтры всё-равно паять нужно. Там и пайки то не много, проще купить breadboard с дырками и на ней собрать схему, если паять не охота 🙂 ну, и, конечно же, нужен переходник USB->TTL для передачи по ком порту, у китайцев они стоят от 1$, но с дешевыми придется немного повозиться на Windows начиная в Vista драйверы не поддерживают китайские чипы, если что, последний драйвер от висты подходит, если нужен будет, кину ссылку или сам драйвер.
PS: Кстати, как вариант, купить дешевую ардуину и туда вставить Atmega8, потом прошить программатором.
Да какие там Висты:) XP же поголовно есть на всякий случай хотя бы на одном из компов в комнате:) Ну, для сельской-то местности:)
А USB на TTL давно у всех такие, на CP2102: http://www.dx.com/p/cp2102-usb-to-ttl-stc-promini-download-module-for-arduino-265730#.VMqihSViLbc
Раньше шили телефоны, так у всех были на PL2303. А теперь у кого не спросил у всех на CP2102.
Фильтр паять согласны вроде все, только плата уж там больно… Ну красивая, что ли:) Синенькая, штырёчки обозначены уже:)
Тогда можно брать, раз такое дело, но кварц лучше конечно перепаять будет, всё же 8МГц версия хоть и получилась с достаточно качественным звуком, но всё же она работает в 2 раза медленнее чем другие. Вообще, смысл 8МГц версии состоит в том, чтобы не ставить внешний кварц и получить при этом более-менее качественный звук. Т.е. чтобы устройство получилось максимально простым.
Ну вот пускай делают простым, раз хотят в таком корпусе микросхему потом перепаивать как сгорит. А я решил сложным:) Корпус прозрачный из коробки от торта и в нём пять плат. Вот такая плата для эйтимеги в dip-28: http://www.dx.com/p/diy-m48-ex-standard-development-board-blue-169248#.VM6DASViLbd
Там главное можно разные кварцы на лету менять втыканием и перемычками.
Вторая плата это usb на ttl. Третья это фильтр отдельно. Четвёртая усилитель. И пятая для моргания светодиодами под музыку. Больше ничего не придумывается. А:) Ну и на корпус всей конструкции наклейку, типа, AVR-AY:) И полоски цветные как в менюшке Спектрума:)
Я вот думаю в ближайшее время еще написать для ардуины скетч для проигрывания, PT3 вряд ли осилю, но STC думаю получится. Будет это всё играть с SD карты. Осталось только найти на это время 🙂
На версии 11.2 (12.05.2015)
Сразу после запуска вместо списка COM-портов список звуковых карт, при этом чекбокс play using soundcard не установлен
http://radikall.com/images/2015/05/13/tQHEb.png
Спасибо! Забыл проверить при подключенном COM порте, вечером залью исправленную версию.
В версии 11.2 (14.05.2015) не работает переключение каналов ABC в режиме звуковой карты, при переключении каналов звук в динамиках не меняется.
Спасибо! При переносе кнопок сбросились обработчики событий. Перезалил.
Если конечно возможно в плеере сделать, чтобы во весь экран мог расширятся. 😉
Это очень проблематично, но попробую, как будет время 🙂
В терминале w2k3 x64 при запуске появляется сообщение об ошибке
http://hostingkartinok.com/show-image.php?id=778f6fdcd3e910efa39b3d9cacb59f1f
Оно же наблюдается при вставке флешки в сервер терминалов.
Спасибо, ругается, если нет звукового устройства, постараюсь исправить в следующей версии.
Прошу добавить функцию случайной сортировки плейлиста, её очень не хватает. И поддержку плейлистов формата .ayl
Первое попробую сделать, второе не могу обещать на 100% но постараюсь к следующей версии
Is it possible to play on Pro Micro (16 Mhz atmega32u4)? Just a little piece of PSG data from internal memory (a few seconds). Can you make an example sketch? 328p examples won’t compile because timers don’t match. Also there are no examples of playing from program (FLASH) data.
Do you want to use 32u4 as PSG or just to controll a PSG?
Не качается, точнее списывается torrent файл нулевого размера.
Исправил
Я сейчас работаю над созданием устройства, воспроизводящего музыку через USB -> COM порт, работающее совместно с этим плеером. Поэтому приходится интенсивно пользоваться разными функциями приложения. В версии 13.7 было найдено три крайне неприятных бага (по мере критичности):
1. Очень часто проигрыватель перепрыгивает через следующую мелодию в плейлисте. Открываешь список файлов в папке, запускаешь вопроизведение на какой-то мелодии, он ее проигрывает полностю, следующую мелодию пропускает и начинает играть через одну. Потом может нормально играть, потом опять может пропустить. Очень мешает слушать библитеку музыки.
2. Неправильно конвертирует в PSG формат. В целом полученый файл совпадает с таковым из другого плеера, за исключением того, что постоянно в регист формы огибающей (R13) пишется байт 0xFF. Из-за этого огибающая тут же глохнет, в мелодии полностю пропадает бас и другие эффекты на огибающей.
3. Иногда, спустя 10-30 минут проигрывания приложение просто крешится, происходит какой-то эксепшин и плеер закрывается.
Если автору интересно, могу ответить на какие-нибудь дополнительные вопросы. Так же очень хочется поучаствовать в развитии проекта, возможно ли получить доступ к исходному коду?