惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Check Point Blog
GbyAI
GbyAI
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
T
Troy Hunt's Blog
博客园 - Franky
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Security Blog
Microsoft Security Blog
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学
The Cloudflare Blog
S
SegmentFault 最新的问题
Latest news
Latest news
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
I
InfoQ
博客园 - 【当耐特】
NISL@THU
NISL@THU
A
About on SuperTechFans
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Scott Helme
Scott Helme
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
Security Latest
Security Latest
V
Vulnerabilities – Threatpost
Security Archives - TechRepublic
Security Archives - TechRepublic
A
Arctic Wolf
Hacker News: Ask HN
Hacker News: Ask HN
N
News and Events Feed by Topic
IT之家
IT之家
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
SecWiki News
SecWiki News
大猫的无限游戏
大猫的无限游戏
S
Security Affairs
The Register - Security
The Register - Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 热门话题
T
Tor Project blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
В топку ваши чипы: мультитрекеры и Furnace
shiru8bit (R · 2026-05-20 · via Все публикации подряд на Хабре

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

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

Звуковое изобилие

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

Самый главный звуковой чип, MOS 6581, более известный как SID

Самый главный звуковой чип, MOS 6581, более известный как SID

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

Поначалу возможности этих синтезаторов были крайне скромными: 2–4 очень простых синтетических звука самого простого тембра (квадратная волна или белый шум) одновременно. Постепенно технологии развивались, увеличивая разнообразие и качество звучания, наращивая полифонию. Но ограничения существовали ещё очень долго, и потребовались десятилетия — от конца 1970-х до начала 2000-х годов — чтобы постепенно пройти от единиц до десятков и сотен каналов и от простого синтеза к воспроизведению полноценных реалистичных звуковых фрагментов.

И пока технологии постепенно развивались, композиторам постоянно приходилось работать в рамках суровых ограничений. Но не зря говорят, что ограничения служат мощнейшим катализатором для творчества. Скромные возможности аппаратуры лишь стимулировали рост мастерства и изобретательности, вынуждали композиторов искать самые эффективные подходы, интересные технические и музыкальные трюки, постепенно формируя особую звуковую эстетику и широкую палитру возможного звучания «компьютерной» музыки, ныне называемой различными терминами: чиптюн, VGM, MIDI (применительно к играм) и многими другими.

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

Современный VST-плагин для создания чиптюноподобной музыки, Chipsounds

Современный VST-плагин для создания чиптюноподобной музыки, Chipsounds

Появились новые композиторы, желающие воспроизвести это звучание прошлого в своих новых творениях. Возникли и разные подходы. Кому-то было достаточно условно-похожего звучания, и сродни тому, как «синтвейв» переосмыслил синтезаторную музыку 1980-х, появился «фейкбит», эксплуатирующий элементы ретро-игрового звучания, но не фактические ограничения. Иным же композиторам была важна максимальная аутентичность, вплоть до возможности поместить свои композиции на реальную дискету или картридж и прослушать их на реальном компьютере или игровой приставке.

Далеко не каждый музыкант был готов ради решения творческой задачи пытаться освоить реальную полуживую технику и враждебные пользователю интерфейсы программ прошлых лет. Новые времена потребовали создания современных технических решений. Так в новом тысячелетии появились созданные энтузиастами самые разнообразные программные средства для воспроизведения специфического звучания: эмуляторы, VST-синтезаторы, и, конечно же, трекеры.

Рождение мультитрекеров

В западном мире популярным инструментом для создания музыки в условиях ограниченных возможностей стал «трекер». По уровню приближения к звуковому железу он сродни ассемблеру для кода: чуть-чуть повыше прямой работы с регистрами. Собственно, прото-трекер, созданный в 1986 году Крисом Хюльсбеком для компьютера Commodore 64, носил название Soundmonitor — указывая на родство с мониторами-отладчиками прошлых лет. Выглядел он соответствующе: множество столбиков hex-цифр.

Предтеча всех трекеров, Soundmonitor для Commodore 64

Предтеча всех трекеров, Soundmonitor для Commodore 64

Однако, первым полноценным трекером считается The Ultimate Soundtracker Карстена Обарски, созданный им в 1987 году для компьютера Commodore Amiga. Вдохновившись Soundmonitor’ом, Карстен определил главные черты трекерного интерфейса: ноты, записанные в буквенной нотации, плюс hex-цифры для дополнительных параметров; композиция, состоящая из фрагментов нотного текста и список следования таковых фрагментов друг за другом.

Первый трекер, Soundtracker для Commodore Amiga

Первый трекер, Soundtracker для Commodore Amiga

Идея пришлась пользователям по душе и получила огромную популярность. Были созданы десятки трекеров для Амиги, а затем и практически для всех домашних и персональных компьютеров тех лет, от мейнстрима в лице IBM PC, Commodore 64, Atari 8-bit и ST, ZX Spectrum до редкоземельных BBC Micro или Вектор 06ц. В конце 90-х появились даже трекеры для портативных игровых консолей.

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

Подобный вектор развития сохранился и в 2000-х годах. За первое десятилетие было создано множество «кросс-трекеров», работающих на обычном ПК с применением эмуляции и позволяющих создавать музыку для той или иной ретро-платформы и звукового чипа. И все они так или иначе отличались, вынуждая пользователей раз за разом переучиваться, при том, что концептуально трекеры всегда сохраняли общие родственные черты.

FL Studio и Sora Boy, плагин-эмулятор звучания Game Boy

FL Studio и Sora Boy, плагин-эмулятор звучания Game Boy

К началу 2010-х многие трекерные энтузиасты начали задумываться, что в этой системе что-то не так, и надо бы исправлять положение. Зародилась концепция мультитрекера: один общий интерфейс и разные модули для различных целевых платформ. То есть, говоря современным языком, возникла идея применить деление на фронт-енд и бэк-енд. Десятилетием ранее похожим образом была реализована концепция VST-плагинов в профессиональных музыкальных редакторах-студях типа Cubase, FL Studio, Reaper и им подобных.

Идея проста. Все трекеры имеют общие черты, совпадающие между собой. В основном это пользовательский интерфейс: редактор нотного текста, редактор списка позиций, настройки звукового оборудования, и так далее. Это значительная часть программы, которую вовсе не обязательно разрабатывать каждый раз заново. Гораздо меньший объём имеет часть, завязанная на конкретный целевой звуковой чип: его эмулятор и редактор инструментов. Её можно выделить в отдельный подключаемый модуль, а часть с интерфейсом оставлять прежней и использовать заново.

Выбор дополнительных звуковых чипов в FamiTracker

Выбор дополнительных звуковых чипов в FamiTracker

Я не могу говорить объективно, но для меня, как участника тех событий, процесс рождения мультитрекеров выглядел как набор разрозненных дискуссий на различных форумах, в основном на всё ещё существующем, но уже окончательно неактивном chipmusic.org, а также на некоторых других, ныне не существующих. Сначала это были просто вялые разговоры, и никто не начинал ничего делать, ещё не понимая новую концепцию до конца. Сложность не была технической, требовался слом устоявшейся за десятилетия парадигмы. Но со временем обсуждения всё же вылились в несколько независимых проектов, экспериментирующих с разными подходами.

Первыми ласточками можно назвать трекеры FamiTracker (2005) для NES/Famicom и Beepola (2010), ориентированный на биперную музыку для ZX Spectrum. В этих редакторах было поддержано сразу несколько разных звуковых устройств, обладающих разными возможностями: дополнительных звуковых чипов Famicom и различных биперных «движков» для ZX Spectrum. Весьма удачный интерфейс FamiTracker сам по себе впоследствии послужил основой для десятка различных трекеров.

Выбор движков в Beepola

Выбор движков в Beepola

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

Иной подход был опробован в двух других, максимально экспериментальных проектах: моём собственном 1tracker (2012), о котором я однажды подробно писал на Хабре, и в проекте моего зарубежного коллеги — binracker (2017). Помимо концепции единого интерфейса для заменяемых синтезаторов, в этих программах реализована возможность очень гибкой переконфигурации и добавления платформ посредством пользовательских скриптов. Но сделано это по-разному.

Интерфейс редактора 1tracker меняется в зависимости от выбранного плагина

Интерфейс редактора 1tracker меняется в зависимости от выбранного плагина

В 1tracker используются скрипты, написанные на AngelScript. Они конфигурируют элементы управления интерфейса, формируя необходимые поля настроек, забирают из интерфейса все данные, включая нотный текст и настройки инструментов, формируют проигрываемый файл, и отправляют обратно фронт-енду, который воспроизводит этот файл с помощью библиотеки Game_Music_Emu. По сути трекером является загруженный скрипт, который имеет доступ к внешнему стандартному интерфейсу. Как следствие, для написания такого скрипта требуются некоторые познания в разработке трекеров и местного API.

Интерфейс редактора bintracker

Интерфейс редактора bintracker

В bintracker используется свой собственный описательный язык MDAL, следующий традициям диалекта Scheme. Он состоит из двух частей: описание структуры музыкальной композиции MMOD, а также описание процесса компиляции MDEF, которое указывает компилятору, что делать с музыкальными данными, как их преобразовать и по каким адресам памяти разместить. Проигрываются треки внешним эмулятором, обычным MAME, запускающим собранные снапшоты. Для расширения возможностей этой системы не требуется знание внутренней кухни самого трекера, но необходимо хорошее понимание описательного языка.

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

DefleMask

Нет, речь идёт пока ещё не про Furnace, а про его прямого концептуального предшественника: мульти-трекер DefleMask, сыгравший заметную роль в области создания чиптюн-музыки в 2010-х годах.

Логотип проекта DefleMask

Логотип проекта DefleMask

Начался проект в 2011 году. Его автор, аргентинец Леонардо «Delek» Демартино, однажды обратил внимание, что его старый мобильный телефон издаёт звуки, очень напоминающие звучание музыки из старых игр, и захотел разобраться в причинах этого сходства. Внутри телефона использовался звуковой чип серии Yamaha Mobile Audio (MA-2), действительно использующий классическую технологию FM-синтеза — я упоминал об этом наследии OPL-синтезаторов в статье про трекеры для звуковой карты AdLib.

DefleMask родился именно как трекер для этого мобильного звукового чипа, YMU759, и в первых нескольких версиях программы поддерживался только он. Однако, уже через три месяца автор добавил поддержку ещё пары чипов: SN76489 и YM2612, составляющих звуковой синтезатор игровой консоли Sega Genesis. Таким образом проект начал своё превращение в мультитрекер. В последующие годы были добавлены платформы NES, Commodore 64, Game Boy, PC Engine, Neo-Geo, MSX2 и соответствующие им звуковые чипы.

Как и упомянутые выше параллельно развивающиеся проекты других мультитрекеров, DefleMask обладал нестандартным пользовательским графическим интерфейсом, со своими собственными кнопочками-стрелочками, что с одной стороны несколько усложнило освоение и ограничило удобство работы, но с другой — обеспечило ему портабельность: он доступен для Windows, Linux, MacOS и даже Android.

Интерфейс DefleMask

Интерфейс DefleMask

Важнейшим качеством DefleMask стала поддержка экспорта данных и кода для последующего использования на реальных старых компьютерах и консолях, в особенности Sega Genesis и Neo-Geo, что сделало его ценным инструментом для ретро-разработчиков, а не только свободно плавающих музыкантов. Однако, следствием этой ориентации на реальные системы стала невозможность произвольного смешивания разных чипов: нельзя, например, создать композицию, в которой одновременно звучали бы YM2612 и 2A03.

К сожалению, во всей этой замечательной бочке мёда изначально присутствовала небольшая ложка дёгтя. Это был редкий пример коммерческого трекера, доступного только за деньги ($15), тогда как подавляющее большинство программ этого типа бесплатное, в силу крайней нишевости и ориентированности на хардкорных энтузиастов. И если вопрос с доступностью проекта решился с его выходом на площадку Steam, коммерческая составляющая сделала его исходный код закрытым и недоступным для развития силами комьюнити.

DefleMask всё ещё нескромно позиционируется автором как «the best chiptune tracker», и возможно, был период, когда он им действительно являлся. Но как всегда и бывает, пришли новые времена и новые решения.

Furnace

Одним из следствий закрытости и коммерческой ориентированности DefleMask стало значительное расхождение авторского видения дальнейшего развития проекта с запросами комьюнити. DefleMask ориентировался на ограниченное число популярных реальных платформ, тогда как немалая часть пользователей хотела больше чипов, в том числе самых редких, и возможность смешивать их — что бесполезно для реального железа, но ценно для самостоятельного музыкального творчества.

Логотип проекта Furnace

Логотип проекта Furnace

В 2021 году стартовал проект, призванный решительно закрыть этот запрос: E-FamiTracker (E от «Extended»). Он был основан на коде интерфейса FamITracker. Планировалось поддержать великое множество звуковых чипов и разрешить одновременное их использование. Однако, по каким-то причинам этот проект не взлетел и вскоре был заброшен автором, едва начавшим реализацию своих наполеоновских планов.

Но свято место пусто не бывает, и в том же 2021 году стартовал проект Furnace. У него тоже есть главный разработчик, известный как tildearrow. Целью проекта стало буквально «свержение с трона DefleMask»: создание альтернативного инструмента, очень похожего и совместимого, способного загружать и сохранять файлы в том же формате, но свободного от всех ограничений, поддерживающего больше чипов и позволяющего создавать любые их комбинации в любых количествах.

Интерфейс Furnace

Интерфейс Furnace

Помимо технических возможностей, главное преимущество Furnace перед DefleMask, сделавшее его стремительное развитие возможным — бесплатность и открытость кода, благодаря чему быстро сформировалось комьюнити энтузиастов, активно участвующих в развитии проекта. Их усилия позволили проекту всего за несколько лет развиться до уровня, соответствующего официальному слогану «the ultimate chiptune music tracker» — явному ответу на «best…».

На данный момент Furnace поддерживает более 60 звуковых чипов, позволяет использовать до 32 разных чипов в одном проекте. Это открывает широчайшие возможности для творчества и экспериментов. Хотите написать музыку для самого обскурного чипа в истории? Пожалуйста! Хотите узнать, как может звучать батарея из 32-ти AY-чипов? Легко! А что, если в Super Nintendo помимо SPC700 стоял бы FM-чип, как в Sega Genesis? И это возможно!

Интерфейс Furnace

Интерфейс Furnace

Поддержка комбинаций чипов сделана максимально прозрачным образом, в духе FamiTracker: при добавлении чипа его каналы добавляются в список каналов. Список инструментов общий, каждый инструмент предназначен для одного из чипов, и действует только на каналах соответствующего чипа. Различие между чипами проявляется только в окне редактора инструмента, которое содержит различные настройки, соответствующие возможностям чипа.

Однако, платой за огромные звуковые возможности стал отход от реальных платформ: хотя Furnace имеет возможность экспорта музыкальных данных, далеко не для всех из поддерживаемых устройств предусмотрен встроенный экспорт и процедуры для воспроизведения на реальном железе. Тем не менее, возможна внешняя конверсия данных из общего универсального экспорта, чем вполне успешно пользуются энтузиасты.

Интерфейс Furnace

Интерфейс Furnace

Добавление поддержки новых устройств в Furnace реализуется на уровне исходного кода, с полной пересборкой проекта. Практика показала, что возможность гибкой конфигурации и расширения системы в духе 1tracker и bintracker не сильно востребована основными пользователями подобных программ. Для проекта с открытым исходным кодом и большим комьюнити расширяемость не является камнем преткновения — найдутся и пользователи-музыканты, и разработчики-программисты, и им не понадобится совмещать роли.

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

Обзор чипов

В двух словах, Furnace поддерживает почти всё: простые биперы ранних компьютеров, PSG, WSG, FM, PCM и ADPCM чипы всех сортов, включая самые экзотические, а также вымышленные звуковые устройства. Я рассортирую полный список по этим категориям.

В первую группу входят самые простые звуковые устройства, обладающие просто динамиком, требующим применения процедур программного синтеза звука, или примитивным одноканальным синтезатором. Таковые можно встретить в самых ранних персональных компьютерах, а также в простеньких электронных игрушках:

  • Commodore PET,

  • PC Speaker,

  • Pokémon Mini,

  • ZX Spectrum (бипер).

Несмотря на примитивность этих устройств, каждое обладает своим характером. PC Speaker предоставляет один канал «квадратного» тона без управления громкостью, который при большом желании можно заставить играть что-то, напоминающее музыку. Commodore PET также реализует один канал без громкости, но позволяет задать битовый паттерн, меняющий тембр.

Малоизвестная карманная игрушка от Nintendo, Pokémon Mini, также имеет один звуковой канал, но с двумя уровнями громкости и управляемой скважностью. Наконец, бипер ZX Spectrum требует программного синтеза, представленного в Furnace в виде двух гипотетических «движков»: шестиканального и четырёхканального, напоминающего звучание лучших процедур из игр прошлых лет.

Во второй группе представлены уже полноценные звуковые чипы, обладающие хотя бы парой каналов, воспроизводящие простые предопределённые тембры, в основном квадратный или шум, но иногда также треугольник или пилу. Этот класс устройств часто именуется как PSG — Programmable Sound Generator:

  • AY-3-8910/YM2149 (ZX Spectrum 128K, MSX и многие другие),

  • Casio PV-1000,

  • Game Boy,

  • Konami VRC6 (Famicom),

  • Microchip AY8930,

  • Mikey (Atari Lynx),

  • Nintendo MMC5 (Famicom),

  • OKI MSM5232 (Korg Poly-800),

  • POKEY (Atari 400/800/XL/XE),

  • Philips SAA1099 (SAM Coupé, Game Blaster),

  • Ricoh 2A03/2A07 (Famicom/NES),

  • SID 6581/8580 (Commodore 64),

  • SN76489 (BBC Micro, Master System и другие),

  • Sunsoft 5B (Famicom),

  • TED (Commodore Plus/4),

  • TIA (Atari 2600),

  • VIC (Commodore VIC-20).

Чипы этого типа могут иметь 2–6 звуковых каналов. Их возможности и звучание заметно разнятся. Некоторые чипы реализуют набор каналов с одинаковыми возможностями — например, у TIA два одинаковых канала. У некоторых чипов с набором однотипных каналов присутствуют хитрые опции для некоторых из них — модуляция, работа в паре, и иные режимы.

Другие чипы, напротив, представляют набор совершенно разнотипных каналов, как у 2A03 — два прямоугольных, треугольный и шумовой. Ну а самым продвинутым чипом класса PSG является трёхканальный SID, позволяющий выбирать несколько форм волны, а также применять аналоговый фильтр, что делает его звучание значительно богаче многих своих коллег.

Третья группа представляет собой следующий шаг после простых PSG: очень похожие по возможностям чипы, но позволяющие загружать пользовательские формы волны в очень небольшое ОЗУ. Такие устройства часто называют WSG — Wavetable Sound Generator. Это простое улучшение очень сильно разнообразит звучание, добавляя в него нотку реалистичности, однако, делает его весьма схожим между разными чипами.

  • Famicom Disk System,

  • HuC6280 (PC Engine),

  • Konami Bubble System WSG,

  • Konami SCC/SCC+,

  • Namco 163 (Famicom),

  • Namco WSG/C15/C30,

  • Sharp SM8521 (Tiger.com),

  • Virtual Boy,

  • WonderSwan.

Полифония таких чипов составляет 1–8 каналов. Местные «сэмплы», содержащие всего один период сигнала, имеют разрешение 4 или 5 бит, а их длина — порядка 32 отсчётов.

Исторически первым чипом подобного рода стал Namco WSG, применённый в аркаде Pac-Man. Его формы сигнала, представляющие собой различные варианты синусоиды, хранятся в ПЗУ, что не позволяет менять тембры на лету, но в большинстве чипов применяется общее ОЗУ небольшого объёма, часто с возможностью задействовать одну форму на нескольких каналах сразу, а также модифицировать её прямо во время звучания.

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

  • ESS ESFM,

  • Konami VRC7,

  • YM2151 (OPM),

  • YM2203 (OPN),

  • YM2413 (OPLL),

  • YM2414 (OPZ),

  • YM2608 (OPNA),

  • YM2610 (OPNB),

  • YM2610B (OPNB2),

  • YM2612 (OPN2),

  • YM3526 (OPL),

  • YM3812 (OPL2),

  • YMF262 (OPL3),

  • Y8950 (OPL+ADPCM).

Чипы этого класса обладают схожим характерным звучанием, которое сейчас ассоциируется с игровой консолью Sega Genesis (Mega Drive), звуковой картой AdLib и аркадными игровыми автоматами первой половины 1990-х годов. Основные различия заключаются в полифонии, доступных формах волны и количестве «операторов» — чем их больше, тем более сложные тембры можно синтезировать.

Лидируют в этой области чипы компании ESS с технологией ESFM, являющиеся проприетарным обратно-совместимым развитием OPL3. Однако, исторически сложилось, что их особый режим, в котором доступны расширенные возможности, не был подробно задокументирован и потому почти не использовался. И лишь в недавнее время усилиями энтузиастов и с помощью трекера Furnace стало возможным раскрыть потенциал этих весьма интересных синтезаторов.

Пятая группа содержит устройства, предназначенные для воспроизведения оцифрованных фрагментов звука. Они могут составлять всю звуковую систему платформы, как на Commodore Amiga или Super Nintendo, а могут применяться в дополнение к FM-синтезатору, как это было сделано на многих аркадных автоматах начала 1990-х годов.

  • Capcom QSound,

  • Ensoniq ES5506,

  • Irem GA20,

  • Konami K007232,

  • Konami K053260,

  • Namco C140,

  • Namco C219,

  • OKI MSM6258/MSM6295,

  • Paula (Amiga),

  • PCM DAC,

  • Ricoh RF5C68 (FM-Towns),

  • Sega PCM,

  • Seta/Allumer X1-010,

  • Sony SPC700 (SNES),

  • Yamaha YMZ280B.

Устройства различаются полифонией, от одного до десятков каналов, и способом хранения звука. Это может быть несжатый 8-битный PCM, но часто встречаются вариации ADPCM, которые могут аппаратно распаковываться на лету и воспроизводиться с разной скоростью для проигрывания различных нот одним и тем же сэмплом.

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

Наконец, в последней, шестой группе находятся вымышленные или «новодельные» устройства, которые технически можно отнести к одной из предыдущих групп. Их особенностью является отсутствие физического исторического «оригинала».

  • Commander X16 VERA,

  • PowerNoise,

  • tildearrow Sound Unit.

VERA является «чипсетом» новодельного 8-битного компьютера Commander X16, реализованным в виде FPGA. Его звуковой синтезатор предоставляет 16 каналов, по возможностям напоминающих каналы SID, со всеми доступными ему формами волны, но без фильтра. Также эти каналы могут воспроизводить PCM-сэмплы.

PowerNoise является виртуальным звуковым чипом fantasy-консоли Hexheld. Данный чип имеет весьма необычный дизайн: три канала шумового генератора на основе LFSR с коротким периодом, генерирующие шумовые и грязно-квадратные тембры, и один канал с настраиваемым спадом, позволяющим генерировать вариации пилообразных сигналов.

Наконец, Sound Unit также является виртуальным звуковым чипом fantasy-компьютера specs2, придуманного самим tildearrow, создателем Furnace. По возможностям этот чип похож на VERA: 8 каналов простых форм сигнала либо PCM-сэмплов, но с фильтром, аналогичным SID.

Заключение

Мультитрекеры почти закрыли вопрос создания новых трекеров. Конечно, Furnace ещё есть куда расти: например, в нём ещё нет поддержки звуковых систем Sony PlayStation и Sega Saturn, имеющих свои характерные особенности звучания — для них трекеров пока не существует вовсе. Нет и поддержки специализированных чипов для синтеза человеческой речи. Но всё это определённо уже не за горами.

Но зато можно сказать, что вопрос начинающих энтузиастов чиптюн-музыки «какой трекер выбрать для платформы X» практически закрыт: выбирайте Furnace. Это ультимативный чиптюн-трекер, в конце концов.

© 2026 ООО «МТ ФИНАНС»