Альбом биперной музыки Ear Shaver и история его создания

На днях выпустил свой новый альбом биперной музыки для ZX Spectrum 48K — Ear Shaver. По сути не только новый, но первый, так как мои предыдущие около-биперные релизы были или компиляциями разрозненных треков, или были альбомами, но для других платформ. На этот же раз я целенаправленно делал именно альбом, сразу много треков в более-менее общем звуке и концепции, и именно для ZX Spectrum.

Послушать без дополнительных прелюдий можно в прикреплённом видео (которое здесь почему-то не видно) или на разнообразных музыкальных площадках.


Не планировал писать очередной making of, но начал делать некоторые заметки для релизных текстов, лично для себя, и как-то само написалось – привычка страшная сила.

Истоки

Сначала были Спектрум, Денди, первые игры, музыка в них, оператор BEEP, мелодия в Ping Pong, редактор Wham, и многие другие детали, которые я опущу для краткости.

Более предметно история создания альбома начинается с игры Earth Shaker, которую я впервые увидел в 1996 году. Помимо того, что это сама по себе замечательная игра, ставшая для меня эталоном Boulder Dash подобных игр, она обладала немалым по меркам платформы количеством музыкальных вставок, по одной на каждый новый уровень, с интересными мелодиями и совершенно уникальным звучанием, а также большим количеством разнообразных крутых звуковых эффектов, чем обратила на себя внимание и запомнилась на многие годы.

Далее были Сега с её синтезаторным роком в Battletoads, Comix Zone, Fire Shark, M.U.S.H.A и других играх, хэви метал, PS1 с живыми гитарами, эйсид хаус и транс, MTV, уход от Спектрума и возвращение к нему, много панк-рока, ренессанс биперной музыки начала 2010-х.

Ear Shaver

В 2012 году я начал проект 1tracker — это универсальный музыкальный редактор, главным образом задуманный, чтобы подхватить знамя заброшенной её автором Beepola, охватить и сделать доступными для более-менее комфортного использования современными музыкантами звуковые движки для ZX Spectrum 48K, как из игр прошлого, так и вновь создаваемые. В том же году небезызвестный Oleg Origin дизассемблировал код звукового движка из Earth Shaker, а в 2013 я добавил его поддержку в 1tracker.

Уникальной особенностью движка является алгоритм смешивания двух тональных каналов, которые взаимно модулируют друг друга, добавляя множество обертонов. Чистые одиночные ноты можно получать только игрой двух каналов в унисон или через октаву. Это вынуждает писать музыку особым образом, подбирая наиболее благозвучные модуляции. В чём-то это сродни игре на перегруженной гитаре: хотя физика процесса отличается, но одновременное взятие двух чистых нот также порождает зависящие от их частот гармоники. Я давно являюсь энтузиастом синт-рока — музыки, использующей эстетику и жанровые элементы различных видов рока и метала, но исполняемой не на гитарах, а на различных синтезаторах, и синтез звука в Earth Shaker отлично отвечает на запрос моих творческих исканий в области подходящего для этого стиля звучания. В 2015 году я даже сделал VSTi, воспроизводящий этот алгоритм, чтобы сделать этот звук доступным для использования в современных цифровых студиях.

В 2017 году у меня дошли руки до написания первого оригинального трека на движке Earth Shaker — Headbanger. Работа с оригинальным движком очень понравилась, но его возможностей показалось маловато. Главным образом мне не хватало более интересных ударных, ведь в оригинальном движке они реализованы через вызов подпрограммы BEEP с двумя разными высотами тона. Так в планах на будущее появилось создание альтернативной версии движка с более продвинутыми ударными, вероятно сэмплированными.

Этот план был реализован в 2018 году в виде движка Ear Shaver. Название было выбрано по созвучности с названием игры, как шутка по поводу характерного резкого звучания с множеством интермодуляционных гармоник. Он повторял звучание Earth Shaker, но имел полностью оригинальный код, главным отличием которого было использование 16-битных счётчиков вместо 8-битных из оригинала, что дало более точный контроль над высотой нот. Были реализованы и простые сэмплированные ударные, а так как основной цикл получился похожим на мой оригинальный движок Tritone образца 2011 года, я до кучи добавил и такой режим звучания, причём он бесшовно переключался каждую строку — использовались те же самые счётчики.

После этого свершения движок лёг на полку, дожидаться момента, когда у меня дойдут руки сочинить что-нибудь с его использованием. На тот момент я не осознал свершившийся идеологический прорыв. До этого utz, главный мегамозг в мире современной биперной музыки, уже экспериментировал с многорежимными движками, позволявшими переключаться между различными алгоритмами синтеза на лету, но это не было реализовано настолько прозрачно и удобно для музыканта, как по наитию вышло в Ear Shaver, где всегда есть два одинаковых тональных канала с одинаковым простым набором параметров, и достаточно только указать желаемый тип звучания для выбранной строки.

Ear Shaver EX

В начале 2022 года я начал подумывать, что пора бы уже сделать хоть какой-нибудь трек на новом движке четырёхлетней давности. Я начал пробовать делать различные музыкальные наброски, число которых за месяц дошло до двух десятков, в качестве материала для одного или нескольких будущих треков. Это были очень короткие отрывки, в которых я пробовал разные музыкальные идеи и разное звучание. Однако, это ещё не было работой над альбомом — на тот момент я занимался другим музыкальным проектом, не для Спектрума, который впоследствии встал на паузу.

В процессе экспериментов я занялся и усовершенствованием движка. Сначала был найден простой способ добавить ещё немного гибкости в уже сложившуюся концепцию через управление начальной фазой нот (важно для разделения нот одной высоты без пауз между ними), а потом ко мне наконец-то пришло понимание концептуальной ценности движка — не как одного метода синтеза, а как метода совмещения нескольких различных методов синтеза в одном треке.

Тут же был задуман целый ворох улучшений, и в конце марта 2022 года все они вылились в новый движок — Ear Shaver EX. В нём было добавлено несколько новых алгоритмов синтеза звука, общее число которых достигло семи, а также был реализован полностью новый код для проигрывания сэмплированных ударных, позволяющий ограниченно управлять их громкостью, глухостью (нечто вроде примитивного фильтра) и смещением начала сэмпла, что дало возможность создавать очень динамичные ударные партии из малого количества исходных сэмплов. Нужно заметить, что в отличие от utz, постоянно реализующего невиданные, сложнейшие вещи для бипера, конкурировать с которыми давно уже решительно невозможно, я пошёл иным путём, и просто собрал лучшее из уже зарекомендовавших себя простых классических решений. То есть это не технологический прорыв, а удачный сплав лучших достижений прошлого, а значит, всё ещё не максимум того, что можно выжать из бипера.

Работа над альбомом

Постепенно развивая начальные наброски из одного-двух паттернов в более длинные фрагменты, с риффами и первыми мелодиями, в какой-то момент я понял, что материала накопилось достаточно, и возникла идея делать из него альбом, сразу много треков исключительно на этом движке. Так как вышеупомянутый другой музыкальный проект шёл туго, я решил, что уж с биперным альбомом смогу закончить быстрее — делов-то, по паре дней на трек! — и решил отдать приоритет ему.

Изначально было решено, что альбом будет называться так же, как и движок, а его концепцией было исследование и демонстрация потенциала движка. Художественной подоплеки не предполагалось, кроме общего звучания, в основном максимально громкого и резкого, имитирующего тяжёлую гитарную музыку. Дело начало двигаться, и у меня были оптимистичные планы закончить осенью 2022 года. Но случился Back To The PET и другие проекты, и новой датой стало начало нового 2023 года.

План-минимум для альбома включал 8 треков по паре минут, а по возможности — столько, сколько влезет в 48K память, если, конечно, наберётся столько годных идей. К декабрю у меня было готово всего три трека (Alphabeard, Perfect Shitstorm, Noise In My Head), звучание которых виделось мне весьма впечатляющим и где-то даже прорывным, и я решил не тянуть с их показом общественности. В срочном порядке дописал до кучи Traffic Lights, выбрал и выставил два трека на январский Di Halt Lite 2023, где они не заняли призовых мест, уступив более впечатляющим и прорывно звучащим трекам от utz, Tufty и AER.

На этот момент я подумал, что оставшийся заготовленный материал несколько однообразен — так как я делал наброски более-менее одних и тех же задумок, и приходил к более-менее похожему звучанию. После того, как я реализовал часть этих набросков, оставшиеся имели шанс получиться слишком похожими на завершённые ранее треки, и я решил добавить в движок ещё какие-нибудь новые возможности, чтобы найти новые идеи и разнообразить звучание.

Новые возможности, однако, ещё не были придуманы, но когда я сел за код с мыслью, что нужно бы что-нибудь сделать, они возникли совершенно спонтанно. Во-первых, был найден не найденный за предыдущие десять лет ещё один простой и очевидный способ смешивания каналов для Phaser-подобного движка, дающий иную гармоническую окраску как по сравнению с Earth Shaker, так и с Phaser — этот метод был назван CrossPhase (позже я также сделал на основе этой идеи движок Phaser4), и придуман простой способ фазовой модуляции двух каналов с 16-битными счётчиками — метод ModPhase. Таким образом движок Ear Shaver EX обрёл свою окончательную форму.

Было набросано ещё около пяти набросков, а новое звучание повсеместно проникло и в старые заготовки, и в новые треки. Далее работа шла туго, почти каждый следующий трек давался всё тяжелее и делался всё дольше — я хотел держать планку и по возможности не повторяться в идеях. Мало-помалу были дописаны Facemelter (конец января), Kinda Loud (начало февраля), Burning Bright (март), и Spinning Bits (начало апреля).

Минимум из восьми треков был готов, но я всё же решил следовать плану-максимуму — вместить как можно больше треков в одну загрузку для 48K. Для этого пришлось ещё немного доработать движок, чтобы музыкальные данные хранились более компактно (для уменьшения размера буфера распаковки) и лучше сжимались. На протяжении апреля были дописаны Adventure Time, Balls Of Steel и Ear Shaver.

По трекам

Небольшая тривия по некоторым трекам:

Adventure Time — название изначально подразумевало выражение ‘искать приключений на задницу’, но было упрощено за отсутствием возможности перевода на английский язык, который мог бы максимально точно передать все оттенки этой идиомы. Не имеет отношения к популярному мультику, но я его знаю и смотрел несколько серий.

Alphabeard — моя типичная псевдо-арабская мелодика, к которой я обращаюсь наверное на каждом крупном релизе, потому что мне нравится эта краска, но много треков в ней не сделаешь. Думаю, изначально этот интерес навеян Принцом Персии. Название подразумевает некоего вымышленного персонажа, похожего на Гигачада.

Ear Shaver — изначально я не планировал включать в альбом одноимённый трек, чтобы его отсутствие было фишкой, поэтому набросок до самого конца именовался Hard Labour, но в последний момент я решил, что его звучание и мелодические фразы подсказывают именно название альбома.

Spinning Bits — самый странный трек. Старался сделать мелодию максимально непредсказуемой и отступающей от традиционных гамм, поэтому трек почти хроматический, в нём нет всего одной ноты из всей хроматической гаммы. Многие уже называют его среди любимых треков на альбоме.

Facemelter — название отсылает к знаменитой сцене из первого Индианы Джонса. На этапе набросков имел самое интересное звучание (эта часть стала интро), но долго не мог придумать продолжение, пока не придумал продолжение. По жанру получился какой-то стоунер рок, чем я доволен.

Balls Of Steel — очевидная для всех любителей бипера отсылка к титульному треку из игры Ping Pong, который летом 1994 года стал причиной моего интереса к биперной музыке — хотя до этого я уже был знаком со многими лучшими мелодиями на Денди. Я долго думал, хочу ли я делать близкий к оригиналу кавер, или свою собственную мелодию с похожими элементами, в результате в моём треке только узнаваемый начальный рифф и ритмический рисунок.

Kinda Loud — я делал многие наброски на седьмом под-движке (вариант Squeeker), обладающем очень громким и гнусавым тембром, и набросок мелодии вроде бы звучал хорошо, но очень громко, а в любом другом звуке становился невзрачным. Я решил сделать это фишкой. Название отсылает к строке из песни Тараканов — ‘если это слишком тихо для тебя, значит ты ещё не очень старый’.

Noise In My Head — я уже несколько лет являюсь счастливым обладателем постоянного звона в ушах, и частота этого звона очень близка к частоте артефактов, слышимых в эмуляторах в биперных движках с чередованием каналов. Из-за этого мне иногда бывает трудно понять, то ли это свистит в треке (в данном треке много таких мест при воспроизведении в Unreal Speccy), то ли в ушах.

Подготовка к релизу

Итого получилось 83 килобайта несжатых данных, упакованных с помощью apultra (оказался наиболее выгодным в данном случае) в 28 килобайт, и ещё 10.5 килобайт под буфер для распаковки самого большого трека. Свободной памяти осталось около пары килобайт в разных местах памяти, тогда как средний трек в сжатом виде занимает 2.5-3 килобайта. Возможно с ещё одной небольшой переделкой формата потенциальный 12-ый трек и влез бы, но у меня уже не осталось явно пригодных к работе заготовок, а имеющиеся треки при прослушивании не вызвали ощущения, что чего-то не хватает, да и просто хотелось поскорее закончить затянувшийся проект.

Написание оболочки альбома было начато сильно заранее, ещё когда было готово несколько первых треков, чтобы можно было заранее оценить объём памяти для треков. Поэтому с завершением финального трека оставалось только определить порядок треков, что было сделано очень быстро по заранее задуманной схеме ‘мощный хит — средние треки по нарастанию бодрости — странное отступление в середине — мощные боевики — лиричные треки как в концовке какой-нибудь игры’, и записать звук и видео. Казалось бы, что может быть проще, но.

Железные Спектрумы

Ещё в январе 2023 я также решил реализовать задумку с записью аудио и видео версий для релиза с реального Спектрума. У меня такового не было с начала 2000-х — свой Квант-БК я когда-то отдал Wlodek’у, посчитав, что с современными мощными PC и эмуляторами он мне уже не нужен. Под рукой были Sprinter и Evo, но такой вариант я посчитал недостаточно интересным для показа на видео. Разумеется, самый надёжный и аутентичный вариант — взять оригинальную модель, но их почти нет в продаже, а цены весьма кусаются, поэтому я решил купить советский клон попроще и подешевле. Так началась трёхмесячная эпопея, полная боли и страданий, закончившаяся в итоге полным фиаско.

Первый Спектрум был куплен на Авито с доставкой из другого города за 3100. Это был Ленинград 48К то ли кооперативной, то ли любительской сборки, в типичном для них гранёном корпусе с 40-кнопочной клавиатурой из калькуляторных кнопок, однако, внезапно радикально сине-голубого цвета, и совершенно без каких-либо проводов для подключения. Последнее я не посчитал большой проблемой — уж что-что, а паять провода к своим спектрумам каждый спектрумист умеет с младенчества. Владелец заявил, что это его личный компьютер, и хотя он его давно не включал, он точно рабочий. Как оказалось позже, формально это так и было, но по факту он оказался не реагирующим на внешние раздражители кирпичом.

Во-первых, у него был реализован совершенно нестандартный видеовыход — половина деталей аналоговой части отсутствовала, включая транзисторную микросборку, оставшиеся детали все до единой имели не те номиналы и даже не тот тип (диод вместо резистора и.т.п.), а плата была основательно изрезана и переделана. Это касалось не только видеовыхода, на плате есть огромное количество доработок, в назначении большей части которых я до сих пор не разобрался. Пришлось искать детали и переделывать в сток, что не без труда, но заработало.

Тут же выяснилось наличие ‘во-вторых’: хотя компьютер включался и показывал заветную заставку, он никак не реагировал на клавиши. Поиск причины и безуспешная замена некоторых микросхем вывели на чудесную неисправность: кнопки клавиатуры каким-то образом приобрели ненулевое сопротивление в разомкнутом состоянии (от килоом до сотен килоом), что не проявлялось при прозвонке в собранном состоянии. Пришлось сколхозить ужасную клавиатуру из тактовых кнопок. На этом я решил, что проблемы решены, но, забегая вперёд, когда дело дошло до загрузки программы и записи, оказалось, что и это ещё не всё.

В процессе борьбы с синим Ленинградом, которая заняла два месяца и содержала несколько периодов полного опускания рук, на том же Авито был также приобретён ещё один Ленинград, точно такой же по конструкции и виду, но в более классическом чёрном пластиковом корпусе, за 3200. Совершенно точно гарантированно рабочий, со всеми проводами — продавец прислал видео с демонстрацией прекрасной работы.

Совершенно точно гарантированно рабочий чёрный Ленинград не заработал. Я полез внутрь, попутно обнаружив, что провода разъёмов держатся на последней жилке каждый — это было быстро исправлено. Выяснилось, что на плате отсутствуют какие-либо доработки, и мой ЭЛТ телевизор из начала 2000-х не хочет дружить с печально известным нестандартным видеосигналом. Возникшую идею попытаться доработать видеовыход, однако, почти сразу пришлось отбросить — плата оказалась откровенно гнилая, вероятно балконного хранения, дорожки зеленились и весело отлетали. Ковырять это дело далее это я не решился.

Вскоре от Шурана был получен ещё один, третий Спектрум, его личный Contact 64, радикально доработанный до 128K+Beta+AY, однако, в несколько несобранном состоянии. Думаю, это лучший вариант, и он бы заработал, но до приведения его в порядок на момент записи у меня банально не дошли руки, так как всё время ушло на Ленинграды.

Также стоял вопрос загрузки программы в Спектрум через аудиовход. Для этих целей могло подойти много что, но так как я планировал съёмку видео, был выбран необычный и визуально интересный вариант: я приспособил для этого дела портативный DIY-девайс ESPboy авторства Романа Соколова (который задонатил мне несколько штук разных версий), портировав туда TZXduino. Это вообще-то само по себе уже проект, но он был сделан мимоходом за пару дней в рамках общей работы над альбомом.

Запись

Первая попытка записи была предпринята с синим Ленинградом. Новое ‘во-первых’ свело на нет идею записи альбома на видео. Во время изменений цвета бордюра, например, на загрузочных полосках, растр на этих строках съезжал на несколько пикселей, что давало дичайшие искажения картинки, и это выглядело совершенно непрезентабельно. Новое ‘во-вторых’ отмело и идею записи звука: альбом звучал совершенно неправильно, а через некоторое время и вовсе зависал и сбрасывался. Была не та скорость и высота звука, я так полагаю, из-за какого-то нестандартного торможения процессора сигналом WAIT, скорее всего связанного с портом #FE — при этом игра Jet Pac, например, работала корректно. Копать схему для устранения этих проблем я не захотел, так как это могло занять неопределённое время, недели и месяцы.

Была сделана и вторая попытка. Я решил пожертвовать аутентичностью, и попробовать записать видеоролик с помощью ZX Evolution. Увы, годом ранее я заменил свой старый SVGA монитор, который поддерживал нестандартную развёртку Evo, и сейчас выяснилось, что взятый ему на замену мультимедийный Sony тех же годов выпуска такой сигнал принять уже не может. Искать ещё один монитор или придумывать очередные провода к телевизору желания не возникло, в конце концов, визуально с точно таким же успехом можно было снять любой PC с эмулятором.

Поняв, что решить проблему записи с реального железа я быстро не смогу, а релиз и так отставал от первоначальных планов на четыре месяца, я сдался, и снова записал звук и видео с эмулятора. Может быть со временем доведу до ума один из Спектрумов (лучший претендент — Contact), и сделаю альтернативную запись.

Релиз

Далее была обычная рутина с рендерами, конверсиями и релизом на обычных и прочих площадках: Bandcamp, Soundcloud, Youtube, VK. Опытный товарищ посоветовал зайти на стриминговые площадки через агрегатора, и хотя я думаю, что это движение максимально бестолковое для такого нишевого релиза без какого-либо продвижения, сделать это было достаточно просто, поэтому я таки опубликовал альбом и там — предположительно его уже можно найти на всяких iTunes и Яндекс Музыках. Также есть не очень уверенный план подготовить небольшой тираж физической CD-версии, в случае его реализации есть вероятность заполучить экземпляр по сходной нескромной цене на различных около-Московских демосценовых и ретроигровых мероприятиях этого года, начиная с ярмарки No Pain No Game в конце мая. Следите за новостями.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.