Просмотр полной версии : Новый плеер трекерной музыки для ZX-Spectrum 128 + B-Disk
Плеер трекерной музыки Shuffle_player. Код проигрывателей, кроме собственного формата, взят из ayfly-0.0.25.
Особенности плеера :
- Принцип функционирования а-ля андроид : плеер считывает в плей лист всё, что найдет на диске, и играет плей-лист.
- Клавиатурно-ориентированный интерфейс
- Человеческий формат времени воспроизведения (минуты:секунды)
- Перемешивание мелодий
- Сортировка плей листа
- Поддержка дисков TR-DOS, MS-DOS, IS-DOS (DS/DD, 720k)
- Поддержка форматов PT1 PT2 PT3 PSC STC STP ASC AS0 SQT и собственного
Скачать плеер (http://www.sanarin.ru/Shuffle_player/1.55/shuffle_player-1.55.zip)
Утилита для конвертирования в формат XPSG из PSG и AY (Sinclair) (http://www.sanarin.ru/Shuffle_player/1.5/all2xpsg.zip)
Сборники музыки (http://www.sanarin.ru/Shuffle_player/music)
Скриншот (http://www.sanarin.ru/Shuffle_player/1.5/ss.png)
Системные программы возвращаются!!! :))
Максагор
17.10.2013, 17:54
Системные программы возвращаются!!! :))
Точно, сейчас сюда набегут "геймеры" и начнут что-то типа того: зачем писать системку и слушать AY на спектруме, когда есть на ПиСи и эмулятор Бульбы с индикацией времени, плейлистом и перемешиванием! :v2_dizzy_army:
Alex Rider
17.10.2013, 18:13
зачем писать системку и слушать AY на спектруме,
Плеер, это ж не для работы, это ж как демо, тока без видео :) Оно для теплого лампового ностальгического отдыха.
Crash Nicker
17.10.2013, 19:56
Точно, сейчас сюда набегут "геймеры" и начнут что-то типа того: зачем писать системку и слушать AY на спектруме, когда есть на ПиСи и эмулятор Бульбы с индикацией времени, плейлистом и перемешиванием! :v2_dizzy_army:
Да нормульно на самом деле. Разве что для совсем уж нищебродов не хватает компилятора для кассетной версии. :)
organism
17.10.2013, 20:02
ууу, интерфейс ковалевский-стайл!
Системные программы возвращаются!!! )
Не "системные", а прикладные, Алоний, не ужели ты не знаешь разницы?
---------- Post added at 22:41 ---------- Previous post was at 22:41 ----------
даешь атм-режим!
Нет, профи режим!))
Все плееры, которые есть для реала, меня не устраивают совсем.
всё терзает вопрос... можно пару-тройку причин - почему?
---------- Post added at 22:43 ---------- Previous post was at 22:43 ----------
Нет, профи режим!))
профи - это нестандарт, а атм - стандарт. у алонекодера спроси.
профи - это нестандарт, а атм - стандарт. у алонекодера спроси.
Понял, так и спрошу)
- Загрузка плеера только с диска A
это минус очень сильный.
кстати, в ближайшем обозримом будущем планируется поддержка турботреков?
всё терзает вопрос... можно пару-тройку причин - почему?
Да у всех свои недостатки, плеера для себя не нашёл. Очень нужно перемешивание треков, этого вроде вообще нигде нет. Интерфейсы по большей части мышевозные, слишком много действий надо сделать, чтобы загрузить всё файло с дискеты, нет быстрых способов найти нужный файл - нет сортировки и шрифты мелкие; либо вообще по одному файлу играют, бегать менять музыку - вообще не вариант. Дают снег на моём +2 сером. Некоторые просто виснут на файлах, которые не могут играть. Человеческое представление времени опять же очень хочется, а не полоска или количество прерываний. MS-DOS диски - киллер фича, ИМХО. Сейчас компьютера с дискетницами всё меньше, а MS-DOS диски можно писать через USB адаптер. Ещё была идея сам плеер грузить с MS-DOS диска, но пока что не осилил загрузчик. Как-то так.
---------- Post added at 13:58 ---------- Previous post was at 13:57 ----------
это минус очень сильный.
кстати, в ближайшем обозримом будущем планируется поддержка турботреков?
Загрузку только с диска А я в следующей версии исправлю, если она будет, хех. Турбосаунд - врядли, там уже оперативка кончилась практически.
---------- Post added at 14:01 ---------- Previous post was at 13:58 ----------
Разве что для совсем уж нищебродов не хватает компилятора для кассетной версии. :)
Оперативки свободной на 5-7 треков, больше нет, да и грузиться оно с ленты будет минут 10-12. Вообще, идея мне нравится, ленту уважаю. Надо собраться с силами и сделать, самому интересно будет.
да и грузиться оно с ленты будет минут 10-12.
нереальное время.
null_device
18.10.2013, 14:49
- Поддержка перемешивания мелодий
Не совсем понял, что это за штука и в чем она заключается? :v2_conf2:
В меню есть два пункта Shuffle и Auto - при активации одного, деактивируется другой (ибо, "висят" на одной кнопке). На что они влияют? На авто происходит переход на след. трек. Во втором случае мелодия выбирается как-то рандомно.
В меню есть два пункта Shuffle и Auto - при активации одного, деактивируется другой (ибо, "висят" на одной кнопке). На что они влияют? На авто происходит переход на след. трек. Во втором случае мелодия выбирается как-то рандомно.
Чудеса! И почему же это при включенном режиме перемешивания мелодия выбирается рандомно?!
null_device
18.10.2013, 15:05
И почему же это при включенном режиме перемешивания мелодия выбирается рандомно?!
Дошло... :D
Более "логичным" тогда было бы перемешивание самого плейлиста (наряду с функцией Sort и восстановлением нормального вида каталога).
Дошло... :D
Более "логичным" тогда было бы перемешивание самого плейлиста (наряду с функцией Sort и восстановлением нормального вида каталога).
Перемешивание самого плейлиста приводит к тому, что в нём становится невозможно ничего найти. А так, если нет сортировки, музыка идёт в том порядке, как записана на диске. Если есть - то по алфавиту. По-моему, логично. Про крайней мере, андроидный плеер работает примерно также - поведение дралось с него, насколько это возможно.
Auto и Shuffle на одной клавише - косяк, ЛОЛ :smile: Сейчас переделаю.
- Не все файлы работают (~95% работает)
95% из скольких треков, из 100 из 1000 из 10000?
95% из скольких треков, из 100 из 1000 из 10000?
Я бы снизил планку примерно до 50%, ибо разве что PT2/PT3 треки часто распространяются без плеера.
Можно прогнать Pusher test (https://code.google.com/p/zxtune/wiki/Comparison), ayfly набил только 10% как раз из-за неподдерживания плееров (хотя бы их пропуска).
Положил исправленную версию, "Auto" забиндена на "t", грузится теперь с любого диска.
95% из скольких треков, из 100 из 1000 из 10000?
Ну это же примерно. Из сборников по 60-100 треков, обычно не играется 1-2..
Я бы снизил планку примерно до 50%, ибо разве что PT2/PT3 треки часто распространяются без плеера.
В принципе, начальная работа по поддержке модулей с плеером есть - поддерживается ASM 1.03, но только он, и больше ничего. Музыку от плееров можно отделить с помощью zx-tunes, освободится куча места на дискете. Месту в оперативке, который занимает код, детектящий плеер и отделяющий плеер от музыки, можно найти гораздо лучшее применение : например, мне кажется гораздо более интересной поддержка "не трекерной" музыки из игр. В этом направлении начальная работа тоже есть : играется трек из Saboter 2 128k, но только он.
В этом направлении начальная работа тоже есть : играется трек из Saboter 2 128k, но только он.
Кончится всё изобретением колеса. Т.е. перенесением кода плеера в экран.
Погонял на реале, понравилось. Но в режиме перемешивания, по клавише Next проигрываются не все треки, получается псевдослучайная последовательность треков которая повторяется, но в этой последовательности не все файлы. Словил пару зависаний. Продолжайте работу, начало уже есть, такой плеер действительно нужен.
я так понял ,что играет только с дискет?
Кончится всё изобретением колеса. Т.е. перенесением кода плеера в экран.
или перегоном в универсальный формат.
или перегоном в универсальный формат.
Тогда и плеер как таковой не нужен. Если всё перегнать то.
Тогда и плеер как таковой не нужен. Если всё перегнать то.
ну это больше касается "поддержки "не трекерной" музыки из игр". все, что не стандартное/редкое (или не декомпилящееся), все можно перегнать.
или перегоном в универсальный формат.
Проблема "универсальных" форматов в том, что ресурсов у реала играть их нет.
---------- Post added at 13:24 ---------- Previous post was at 13:22 ----------
Погонял на реале, понравилось. Но в режиме перемешивания, по клавише Next проигрываются не все треки, получается псевдослучайная последовательность треков которая повторяется, но в этой последовательности не все файлы. Словил пару зависаний. Продолжайте работу, начало уже есть, такой плеер действительно нужен.
Да, алгоритм перемешивания не идеален, буду думать над другим. А вот насчёт зависаний - повторить не удалось. Если не сложно, укажите треки, на которых вис.
---------- Post added at 13:25 ---------- Previous post was at 13:24 ----------
я так понял ,что играет только с дискет?
Пока что только с дискет, буду думать над поддержкой ленты.
Проблема "универсальных" форматов в том, что ресурсов у реала играть их нет.
так было до недавнего времени;) работа все еще ведется, в открытый доступ пока что не выложено... но вот то, что универсальный сжатый формат реал может играть довольно быстро - это факт.
Формат tfc абсолютно универсальный, а сжимать может не хуже VTX. В теории. Ибо упаковщика нет, только плеер.
Формат tfc абсолютно универсальный, а сжимать может не хуже VTX. В теории. Ибо упаковщика нет, только плеер.
1) что будут делать команды KeyOn/KeyOff для AYM треков?
2) как сжатие с окном размером в один фрейм может быть лучше сжатия с окном на всю длину транспонированных данных модуля?
что будут делать команды KeyOn/KeyOff для AYM треков?
Эти команды только в FM каналах.
---------- Post added at 15:58 ---------- Previous post was at 15:57 ----------
как сжатие с окном размером в один фрейм может быть лучше сжатия с окном на всю длину транспонированных данных модуля?
Окно там далеко не один фрейм, причём парные регистры группируются, в отличие от VTX.
Формат tfc абсолютно универсальный
сколько и каких чипов поддерживает формат? сколько тактов отжирает плеер в худшем случае, сколько требуется памяти и почему до сих пор в демах оно не используется?
Эти команды только в FM каналах.
Равно как и SetFreq/Slide? Что тогда остается, кроме прямой записи в регистры и LZ-подобных управляющих кодов?
парные регистры группируются, в отличие от VTX
Это про SetFreq?
Имхо, все же стоит написать пакер этого формата для теста. С помощью zxtune123 можно превратить любой AY-based трек в дамп регистров (frames элементов по 14 байт) и использовать его как входные данные.
вопрос по памяти для tfc снимается: вся мелодия должна быть загружена сразу, ибо пакованные каналы лежат друг за другом. т.о, ничем этот формат не лучше vtx/fym и прочих подобных.
Равно как и SetFreq/Slide? Что тогда остается, кроме прямой записи в регистры и LZ-подобных управляющих кодов?
Там в SSG свои коды, ничего общего с FM-частью не имеющие. См. плеер. К сожалению, я уже не поддерживаю этот проект.
null_device
21.10.2013, 19:18
когда есть на ПиСи и эмулятор Бульбы
Возможно "открываю америку": заметил такую особенность - некоторые мелодии в нем играют не совсем так, как в эмуляторе и на реале. В некоторых случаях явно с лишними "призвуками".
Там в SSG свои коды, ничего общего с FM-частью не имеющие. См. плеер. К сожалению, я уже не поддерживаю этот проект.
Не встречал сорцов композитного плеера. Равно как и модулей для него.
Возможно "открываю америку": заметил такую особенность - некоторые мелодии в нем играют не совсем так, как в эмуляторе и на реале. В некоторых случаях явно с лишними "призвуками".
А конкретнее?
Не встречал сорцов композитного плеера. Равно как и модулей для него.
Сорцы лежат там же, где и всё остальное: http://alonecoder.nedopc.com/zx/books/TFM.rar
А модулей нет, потому что нет компилятора.
null_device
21.10.2013, 20:31
А конкретнее?
К примеру song for boot by KSA software!, с 26 секунды первый раз звучит серия вч "пиликаний" не слышных в эмуляторе (и на реале).
Сорцы лежат там же, где и всё остальное: http://alonecoder.nedopc.com/zx/books/TFM.rar
В этом архиве нет плеера tfc, только tfd- устаревшая версия, я встречал более полную. Но и там не было PSG плеера. Более того, во всех имеющихся реализациях YM2203 от Shiru была вырезана эта самая PSG часть.
В этом архиве нет плеера tfc
Есть.
Есть.
Это который в аласме? А в человеческом виде есть?
Плагин Vitamin'а для Total Commander спасёт отца русского осестроения!
Плагин Vitamin'а для Total Commander спасёт отца русского осестроения!
Плагин Vitamin'a для Total Commander не умеет конвертировать аласмовские тексты в документацию или, на худой конец, в C/C++ сорцы.
Barmaley_m
23.10.2013, 03:11
Что-то у меня не запустился плеер под Unreal 3.73. Пробовал ограничить память 128К, запускать в режиме usr0 - не пошло все равно.
За кредитс на дисковый драйвер - спасибо! Рад, что драйверу нашлось хорошее применение. Кстати, оттуда можно выкинуть функцию форматирования. И место сэкономится, и диск не отформатируется в случае сбоя :)
Время идёт, работа на проигрывателем потихоньку движется. Решил выложить новую версию. Ключевые изменения :
- Вычистил все (?) баги. Не виснет, не сбрасывается. Играет много часов подряд, срывов не замечал.
- Алгоритм перемешивания 100% рабочий. Больше нет зацикливаний, играет 100% весь плей лист.
- Сортировка регистро-независимая, не скидывается при большом количестве файлов.
- Слегка переработан интерфейс.
- Много мелких фиксов и доработок.
Плеер вряд ли когда либо будет играть всё многообразие форматов, но с помощью функции "эспорт" программы zxtunes можно отделять музыку от всего лишнего. Получившиеся файлы записываются на диски TR-DOS или MS_DOS. Это есть сборники, которые данный плеер может играть. Я так и делаю, примеры сборников выложил в первом посте. Лучше, конечно, писать на MS-DOS диски, в них влезает в 2 раза больше музыки.
http://www.sanarin.ru/Shuffle_player/1.0/a1.png
Ссылки и скриншот в первом посте обновлены.
программы zxtunes
Проект называется ZXTune. А zxtunes - это сайт:)
ЗЫ. А чего такую старую версию пользуешь?
Лучше, конечно, писать на MS-DOS диски, в них влезает в 2 раза больше музыки.
А еще лучше писать в формате hrust. Влезет еще больше.
Запилил ещё одну версию. В общем, была у меня старая мечта слушать CDE Music Bank, но не тем плеером, который там присутствует. Рипнул музыку, закатал на дискеты, слушаю. Правда, дискет получилось две, но иначе пока никак не получается.
Скачать вместе с музыкой из CDE (http://www.sanarin.ru/Shuffle_player/1.1B/Shuffle_Player1.1B.zip)
дискет получилось две, но иначе пока никак не получается.
поэтому Сендецкий и написал свою файловую систему где файлов на дискете >128
..............
а не думал про анализатор ?
(допустим даже аттрибутный, на фоне имён файлов)
shurik-ua
01.10.2015, 20:57
свою файловую систему где файлов на дискете >128
лучше всёж фат32 - а то носитесь с этим тырдосом - щас сд карта с каждого утюга торчит )
На TR-DOS версии 5.04T плеер не запускается, надо править бейсик загрузчик...
На TR-DOS версии 5.04T плеер не запускается, надо править бейсик загрузчик...
Там бейсик загрузчик тривиальный через 15619. Не знаю, что там вообще можно исправлять. Мож, в железе дело?
---------- Post added at 10:41 ---------- Previous post was at 09:44 ----------
поэтому Сендецкий и написал свою файловую систему где файлов на дискете >128
..............
а не думал про анализатор ?
(допустим даже аттрибутный, на фоне имён файлов)
Да в этом конкретном случае, дело не количестве файлов. Музычку я просто рипнул, и запаковал. Можно было, конечно, запаковать и получше, но Z80 не успевает распаковывать в рилтайме. Похоже, правда, он и этот формат не всегда успевает распаковывать :-( В большинстве случаев, нормально играет, но бывает, тормозит. Жалко :-(
А что за анализатор, я не понял, если честно. Если типа того, что шерстит файлы, и выковыривает оттуда музыку, то это будет медленно и не для того делалось. Эта штука просто чтобы зарядить в неё сборник, и она его играла. Не хочешь слушать - давишь самую большую коавишу, она следующую играет. Вот и всё.
А что за анализатор, я не понял, если честно.
http://savepic.ru/7872350.png
показ значений в регистрах AY (допустим в-виде гистограммы)
https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Histogram_example.svg/220px-Histogram_example.svg.png
даже аттрибутный столбик громкости каналов оживит статичную картинку
ZX_NOVOSIB
02.10.2015, 12:06
Там бейсик загрузчик тривиальный через 15619. Не знаю, что там вообще можно исправлять.
Там можно исправлять следущее: берешь загрузчик, грузишь его командой merge в 48 режиме, потом вызываешь на редактору строки с randomize usr 15619 и пишешь их заново, потом из под 48 режима опять сохраняешь загрузчик на диск. 5.04Т будет доволен.
128ой бейсик + 5.04Т = какая то путаница с токенами. Что-то там не так токенизируется.
по-мне лучше править/дорабатывать этот новый trdos, чем подстраиваться под него.
точно помню были проблемы допустим с таким именем файла "name"+str$var
ZX_NOVOSIB
02.10.2015, 13:36
по-мне лучше править/дорабатывать этот новый trdos, чем подстраиваться под него.
точно помню были проблемы допустим с таким именем файла "name"+str$var
ты прав, но 5.04Т давно стал стандартом, куча игр и софта заточены под него и под его глюки, и если его изменить, то не пострадает ли совместимость с тоннами софта?
Господа, а где можно скачать данную TR-DOS 5.04T ?
Господа, а где можно скачать данную TR-DOS 5.04T ?
Здесь - https://yadi.sk/d/F4jJDrCRjUjTS
Сделал (http://www.sanarin.ru/Shuffle_player/1.1B/Shuffle_Player1.1B.zip) ещё одну версию. Упаковал получше музыку, на один диск влез почти весь CDE Music Bank. Оптимизировал код, больше не тормозит нигде 100%. Ошибку с TR-DOS версии 1.04T я воспроизвести не могу. У меня всё работает на этой версии. Предыдущую версию плеера удалил, она не годна.
Новая версия (http://www.sanarin.ru/Shuffle_player/1.1/Player.zip)
* SQ tracker работает.
Ещё одна версия. (http://www.sanarin.ru/Shuffle_player/1.2b/Player.zip) Запилилил поддержку дисков IS-DOS. Ещё немного переработал свой формат, теперь полный рип CDE Music Bank-а влезает на один диск целиком 100%, и ещё даже остаётся место + подлечил некоторые недостатки формата (были замечены искажения).
Версия плеера с доработанным бейсик загрузчиком, теперь работает на TR-DOS 5.04T - http://vtrdos.ru/system/SHUFP1_2.zip
Ещё одна версия. (http://www.sanarin.ru/Shuffle_player/1.2B/Player.zip )
- Немного изменён интерфейс
- Исправил несколько ошибок
- Немного ускорил вывод списка файлов
- Увеличил максимальное количество файлов в плей листе
- Добавил клавиш управления
- Загрузчик взят доработанный под TR-DOS 5.04T.
Знаю, что фодбека много не бывает! Активно пользуюсь, да и сейчас колонки разрывает. С праздником!
scooby-do
27.03.2021, 11:54
Все ссылки протухли(
https://vtrd.in/system/SHUFP12B.zip
Решил выложить текущее состояние плеера. Плеер немного дописывается, но медленно, конечно.
* Немного изменил цвета, так лучше читается при некачественном видеосигнале.
* Небольшие исправления PT2.
* Небольшие изменения в управлнии
Также, решил выложить утилиту для конвертации музыки в собственный формат плеера - all2xspg. Быдлокод, конечно, но что есть, то есть.
all - это, конечно, громко сказано. Утилита понимает только .ay (sinclair only) и PSG. Однако, это не мало.
Плеер в текущей концепции никогда не сможет играть играть больше форматов, чем есть сейчас (оператива израсходована вся, практически).
Однако, есть много форматов, которые плеер не играет. Что делать ? Сначала, сконвертировать в PSG с помощью утилиты zxtune123, например. Я использую такой скрипт :
zxtune123.exe --convert mode=psg,filename=OUT/[Subpath].psg %1
Потом, с помощью утилиты all2xspg, в XPSG. Утилита конвертит в XPSG всё, что найдёт в текущем каталоге (.ay и .psg).
Таким образом, удалось даже более-менее удачно сконвертить атариевскую музыку - http://www.sanarin.ru/Shuffle_player/music/new/atari_cnv.zip
Не вся атариевская музыка, конечно, конвертится успешно. "Цифровые" инструменты работать не будут.
XPSG надо записать на диск и кормить плееру.
Работает под Windows и Linux.
Все URL - в первом сообщении темы.
В ходе упражнений по портированию музыки с Atari ST, расширил возможности плеера до проигрывания музыки с частотой прерывания 200Hz. Сделано хреново, быдлокод, это не настоящие 200Hz, но звучит ничего, КМК. Мне результат нравится. Сравнение с 50Hz показывает заметную разницу.
200Hz
http://www.sanarin.ru/files/C/Channel%201%20(211104-210502).wav
Тоже 50Hz
http://www.sanarin.ru/files/C/Channel%201%20(211104-210647).wav
200Hz
http://www.sanarin.ru/files/C/Channel%201%20(211104-210811).wav
Тоже 50Hz
http://www.sanarin.ru/files/C/Channel%201%20(211104-210857).wav
Лучше вряд-ли выйдет, у меня, по крайней мере. Утилита конвертер из формата SNDH (Atari) в мой формат есть, пока не выкладываю. Все обновлённые файлы - в шапке.
Наконвертировал дискету музыки
http://www.sanarin.ru/Shuffle_player/music/new/atari.zip
Выложил ещё одну версию. В ходе не очень впечатляющих упражнений по конверсии музыки с Atari, плеер был немного оптимизирован. Попрофилировал, выявил несколько мест, где требовалось убрать часть фич для ускорения. В общем, рекомендуется эта версия. УРЛ в шапке.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot