1tracker v0.25
1tracker, экспериментальный кроссплатформенный мультитрекер, уже несколько лет играющий роль подпольного конкурента давно не обновляющейся Beepola, докатился до версии 0.25.
Редактор понемногу разворачивается к пользователю лицом. Произведён переход на SDL2, что улучшает пользовательские характеристики и снимает некоторые проблемы совместимости. Спорная концепция одного большого паттерна без ордер-листа, разработка которой является одним из краеугольных камней проекта, дополнилась рядом возможностей, приближающих интерфейс к классическому с ордер-листом, но только без ордер-листа, но почти как с ним. Добавлено множество шрифтов и цветовых тем в стиле классических домашних компьютеров, чтобы покрыть разнообразие разрешений экрана и хоть немного скрасить примитивность интерфейса.
Постепенно расширяется поддержка старых и новых движков, не охваченных другими редакторами. Так, в новой версии добавлено высшее на текущий момент достижение однобитной мысли — движок Pytha, умудряющийся выжать из бипера два равноценных канала с треугольной, пилообразной или прямоугольной, с переменной скважностью и модуляцией, формой сигнала, а также белый шум и ударные (услышать тут).
Помимо этого, доступны такие обделённые вниманием музыкантов движки, как:
— BuzzKick, аналог SpecialFX с сэмплами на ударных
— из игры Earth Shaker
— трёхканальный Тима Фоллина из игры Vectron
— движок Lyndon Sharp из Mig-29 и других игр
— ntropic
— Octode XL
— Phaser 2 и 3
— POWW
— prdr
— Stocker
— tBeepr
— ZX-10
Это прекрасный шанс проявить себя в музыкальном компо на грядущем DiHalt 2017, сразив публику наповал новым экзотическим звучанием старого бипера!
Скачать и начать.
Краткое руководство по выживанию в условиях отсутствия ордер-листа. На замену ему предлагается концепция блоков. Можно отмечать границы блоков произвольной длины, нажимая Space на любой строке. Удобно использовать классические 16, 32 или 64 строк. Список блоков виден в правой части экрана, также можно присвоить текущему блоку имя по Ctrl+F. Операции выделения, такие как Ctrl+A и Ctrl+L, сначала применяются к текущему блоку, потом к треку целиком. Между блоками доступен быстрый переход по Ctrl+PageUp/Down. Чтобы скроллинг и соседние блоки не мешали сосредоточиться, доступен режим ограниченной видимости, включаемый и выключаемый по Ctrl+F1.
Редактор понемногу разворачивается к пользователю лицом. Произведён переход на SDL2, что улучшает пользовательские характеристики и снимает некоторые проблемы совместимости. Спорная концепция одного большого паттерна без ордер-листа, разработка которой является одним из краеугольных камней проекта, дополнилась рядом возможностей, приближающих интерфейс к классическому с ордер-листом, но только без ордер-листа, но почти как с ним. Добавлено множество шрифтов и цветовых тем в стиле классических домашних компьютеров, чтобы покрыть разнообразие разрешений экрана и хоть немного скрасить примитивность интерфейса.
Постепенно расширяется поддержка старых и новых движков, не охваченных другими редакторами. Так, в новой версии добавлено высшее на текущий момент достижение однобитной мысли — движок Pytha, умудряющийся выжать из бипера два равноценных канала с треугольной, пилообразной или прямоугольной, с переменной скважностью и модуляцией, формой сигнала, а также белый шум и ударные (услышать тут).
Помимо этого, доступны такие обделённые вниманием музыкантов движки, как:
— BuzzKick, аналог SpecialFX с сэмплами на ударных
— из игры Earth Shaker
— трёхканальный Тима Фоллина из игры Vectron
— движок Lyndon Sharp из Mig-29 и других игр
— ntropic
— Octode XL
— Phaser 2 и 3
— POWW
— prdr
— Stocker
— tBeepr
— ZX-10
Это прекрасный шанс проявить себя в музыкальном компо на грядущем DiHalt 2017, сразив публику наповал новым экзотическим звучанием старого бипера!
Скачать и начать.
Краткое руководство по выживанию в условиях отсутствия ордер-листа. На замену ему предлагается концепция блоков. Можно отмечать границы блоков произвольной длины, нажимая Space на любой строке. Удобно использовать классические 16, 32 или 64 строк. Список блоков виден в правой части экрана, также можно присвоить текущему блоку имя по Ctrl+F. Операции выделения, такие как Ctrl+A и Ctrl+L, сначала применяются к текущему блоку, потом к треку целиком. Между блоками доступен быстрый переход по Ctrl+PageUp/Down. Чтобы скроллинг и соседние блоки не мешали сосредоточиться, доступен режим ограниченной видимости, включаемый и выключаемый по Ctrl+F1.
31 комментарий
Минимизируя возможные косяки, которые непременно возникают когда треки экспортят орги.
Формат мультитрекера позволяет писать разные фронтенды с любыми наворотами. Мой предельно минималистичен, в нём нет даже поддержки мыши, не говоря о второстепенных фичах. Экспорт в WAV возможно будет, пока в далёких планах. Одна из причин в том, что в редакторе вообще нет кода экспорта, он делается чисто скриптами движков, форматы экспорта каждого движка могут быть произвольными. А экспорт в WAV надо уже делать на стороне фронтенда.
А чья двухголосая процедура в Dizzy1, Trantor, Hyper Active, Batman, и многих других игрухах? Где/как отыскать следы ее авторства и историю?
В свое время, году в 91-92м я ее изучал, она очень часто встречается.
Одна скорее всего впервые появилась в первом Dizzy, 1987 год. Кто её написал — непонятно. Среди авторов, помимо братьев Оливеров, фигурирует Jon Paul Eldridge — может быть он. Далее она регулярно встречается в играх Code Masters, и автор музыки там практически всегда David Whittaker. Возможно, процедура всё же его (и музыка в первом Dizzy), так как известно, что он писал свои плееры. Он на контакт не идёт. Может быть, можно узнать что-то у братьев Оливеров, но они тоже не очень открыты для общения.
Вторую написал Jonathan 'Joffa' Smith. Впервые замечена в 1988 году. Она называется Fuzz Click, но в биперных кругах её часто называют Special FX Engine, так как оригинальное имя долгое время было неизвестно, и она регулярно применялась в играх Special FX, с музыкой Keith Tinman'а (известно, что он писал её вручную в виде текста, но сам программировать не умел). В 1990 её выдернули чехи и сделали редактор Orfeus Music Assembler, там минимальные отличия в наборе ударных. В 2010 версия процедуры из Fire Fly стала первым движком в Beepola. К сожалению, Jonathan умер тогда же, в 2010, и мы не узнали у него, почему такое сходство. Но он говорил на форуме WoS (сообщения утеряны при обновлении форума), что написал движок сам, и не возражал против его использования.
Обе процедуры довольно похожи по устройству на движки Tim Follin'а. Возможно, уши растут оттуда. А может, Jonathan подсмотрел код в Dizzy и сделал аналог по мотивам. А может, в порядке безумной теории, был какой-нибудь древний компьютерный журнал, где рассматривался подобный способ генерации звука, например для Apple II — ведь там тоже был только бипер, и были многоканальные движки, а платформа заметно более старая.
Ещё надо добавить, что у Jonathan'а до Fuzz Click был одноканальный движок Plip Plop, похожий на одноканальный движок Follin'а. Его использовали в куче игр Ocean, а потом, судя по всему, взяли и доработали испанцы из Topo Soft. Испанцы же часто использовали доработанный движок Wham The Music Box. Так что версия с подглядыванием-заимствованием наиболее вероятна, это было в порядке вещей.
Движки Follin'а мне, кстати, похожими не кажутся, т.к. Фоллин контролирует ширину иголок, а движки Смита/Уиттекера — честно меняют скважность. Если бы я должен был провести линии заимствования, я бы предположил что-то типа:
Plip Plop -> Dizzy / Special FX / Dark Fusion -> 4chan etc
Wham -> Savage -> Tritone
Follin -> ZX7 -> Octode
Когда я писал свой первый движок, я в основном опирался на движок из Wham, и внедрил в него нечто похожее на движок из Dizzy (движок Смита мне всегда казался переусложнённым, я не люблю его код и по сей день). Т.е. ветки, конечно, могут и пересекаться.
Про линии заимствования касательно моих движков — а вот мимо. Я всегда очень не любил ковырять чужой код, не из принципа, а просто не хватало ума. Только в последнее время осилил до конца разбирать небольшие чужие процедуры типа движков Lyndon Sharp'а. Когда писал свои, вообще не подсматривал в код, но иногда смотрел на форму сигналов в аудиоредакторе и думал, как можно было бы получить что-то похожее. QChan был оригинальной идеей (изначально она в Stocker), т.к. я на тот момент в упор не понимал объяснений AlCo про движок Фоллина и Beep Tracker, но понимал идею ШИМ, до которой додумался сам в конце 90-х (в поделках тех лет у меня была 'громкость' в биперных эффектах). В Tritone чередование из Phaser, а в Phaser, пожалуй да, из Wham, но контроль скважности пришёл в голову самостоятельно, уже не помню, как. В Octode идея тоже возникла спонтанно, в процессе экспериментов, так как я тогда не понимал идею с буфером в ZX-7 и попробовал сделать более тупо. Ну и до биперных движков я написал несколько эмуляторов разных звуковых чипов, пару MOD-плееров, софтовый MIDI-синт с сэмплами и всякое подобное. То есть подходил к теме с несколько другой стороны.
Скважность у тебя в Tritone я и так знал что оригинальная (хотя Savage содержит очень похожие идеи) — слишком ни на что не похож движок. Про ZX7 я наврал; я имел в виду конечно ZX10, просто нумерация у Дика безумная. Когда я выравнивал Octode, мне очень нужно было ускорить обработку каналов и я написал с десяток вариантов обновления 8-битных счётчиков. Представь себе моё удивление, когда я уже потом прочёл код ZX10 и понял, что он делает там совершенно то же самое, что оказалось в итоге сделано в Octode XL.
Если ты помнишь код этой процедуры, там есть «командочки» и лист составлен из «паттернов».
И вообще, код процедуры очень линейно простой, в нем нельзя не разобраться.
Тогда я не видел еще ни одного трекера, и думал что это просто такая система сжатия.
Вопросом я этим задаюсь потому что постоянно обдумываю, как оно всё было, не хватает информации по типу книги о R-Type. Меня интересуют, в основном, два вопроса. Во-первых, откуда тогда добывали информацию по программированию графики, хотя бы тех же спрайтов, а во-вторых, меня не покидает ощущение, что для упомянутой мной музыки был (хотя бы внутристудийный) какой-то редактор… Ну и конечно же, в историческом разрезе интересует на чем все тогда рисовали графику, писали код и чем отлаживались.
Откуда даВинчи добывал инфу о строительстве мостов, и какой был редактор у Баха?
Bach Sound Master 2.1 by Golden Scroll
Касательно редактора. Я не знаю насчёт этого движка в варианте 'от Code Masters' (про Special FX явно говорилось, что редактора не было). Whittaker пришёл с C64, и рано сел на Amiga, а трекеры первым делом появились там, так что в принципе мог сделать свой редактор. С другой стороны, пишут, что он любил копипастить свою музыку, и причина — что писал вручную в коде. Возможно, его подход менялся со временем.
Но вообще, по разным платформам, большинство игровых музыкантов до расцвета трекеров, да и после него, писали вручную. Ближе к началу 90-х некоторые конвертили MIDI или трекерную музыку с Amiga, и очень немногие делали свои редакторы. Навскидку помню только один пример — Alberto Gonzalez сделал себе личный трекер на ZX, и писал на нём под разные платформы, в том числе NES и GB/GBA, но с ручной доработкой. Вообще, сама концепция музыкального редактора, где что-то можно набирать-рисовать визуально, а не записывать живую игру, в 80-е была нетривиальна, люди просто не думали, что это нужно. Большинство MIDI-секвенсоров того времени только записывали ноты, не показывая ничего на экране. А японцы, похоже, не осиливали концепцию редакторов до середины 90-х, писали всё на MML или в коде, и только на PS1 начали использовать MIDI. Трекеры же у них почти не взлетели, до сих пор не в ходу. Но у них было разделение труда, музыку часто сочиняли люди с музыкальным образованием, но не программисты, а писали плееры и набирали код программисты, но не музыканты. В Европе же типично были универсалы 'программист-музыкант'.
Информация о том, кто как чего делал, есть в старых журналах, новых интервью и мемуарах. Например, если не для ZX — www.nesworld.com/content.php?data=interviews, dutycyclegenerator.com/. В целом, до середины 80-х типичной была разработка на бумаге, в том числе рисование спрайтов и экранов на листах в клеточку. Так делались даже Super Mario Bros и Legend of Zelda. А уже в середине 80-х общим трендом среди профи, в том числе на ZX, стало использование для разработки других, более удобных и мощных компьютеров. Хотя бы даже Amstrad CPC, или часто упоминаемый Tatung Einstein (хорошая клавиатура, CP/M-совместимая система и дисководы). Для графики часто использовали Atari ST и Amiga, с местными редакторами. И как только PC поднялся с 8086-ых колен, основной платформой для разработки стал он.
Anyway, thanx.
Я думаю, в журналах типа archive.org/details/micromagazine было что-то такое. Сам его ещё не копал.
Шаговые секвенсоры на ZX были в довольно большом количестве в 1985-86 годах, но никакой информации о применении их для игр нет, а сами они MIA. Музыканты тех лет обычно говорят — наигрывал на дешёвом синте, потом набирал в коде.