Работаем///Chipgen

Работаем///Chipgen

Что я готовлю - плагин для нейросетей для генерации честного чиптюна особенно FM синтеза прямо с любой нейросети без излишеств и да это отличается от дифузий суно . Перед вами чистый синестетический инструмент будет . Опубликовать файлы тут не могу все демо на ТГК

Chipgen V3 chipgen v3 — чиптюн-движок на честной эмуляции YM2612 + SN76489. Теперь его можно просто закинуть нейросети архивом. Коротко для тех, кто пропустил первые две версии: chipgen — это не «ИИ, генерирующий музыку под чиптюн». Это движок, который пишет в те же регистры настоящего YM2612 (ядро Nuked-OPN2, реверс-инжиниринг по фото кристалла) и Sega PSG, что и железо Mega Drive. Модель — или человек — выдаёт плоский список событий: канал, инструмент, нота, длительность. Дальше всё делает эмуляция. Главное в третьей версии — мост. Плагин надо куда-то разворачивать, а ZIP можно просто приложить к сообщению. Архив 138 КБ: кидаешь в ChatGPT или Claude с песочницей, пишешь одну строку — «распакуй, запусти bridge/bootstrap.py, прочитай START_HERE.md, сочини трек». Модель распаковывает, bootstrap сам находит компилятор, собирает ядра чипов за пару секунд, проверяет себя тестовым рендером и отчитывается, что нашёл. Ничего не устанавливается, в сеть не ходит вообще. Дно под этим настоящее: нет компилятора — работают pure-Python ядра обоих чипов, нет numpy и scipy — работает stdlib. Проверено в комбинации «ничего из этого нет»: трек всё равно рендерится, просто медленнее. Теперь неприятная часть. Пока разбирал код, нашёл три бага, и ни один не выглядел как поломка. FM был практически не слышен. Функция рендера читала выходные пины чипа один раз на сэмпл. Но это не «выход чипа» — это времяразделённая шина: настоящий YM2612 гонит все шесть каналов через один ЦАП по очереди, полный проход 24 такта, и в режиме YM2612 пин несёт реальный канал только на одном подтакте из четырёх. Выходной сэмпл — это сумма всех 24. До починки FM отдавал ±3 из ±256, то есть чистую DC-лесенку ЦАПа. Вся слышимая громкость в старых демках шла от PSG. Всё играло октавой ниже написанного. В расчёте F-Number стояло 2^(20−block) вместо 2^(21−block). Ошибка на единицу в показателе даёт не фальшь, а идеально чистое исполнение на октаву в стороне — ровно тот случай, который переживает любое прослушивание. Проверка простая: A4 = 440 Гц обязана попасть в fnum 1082, block 4 — значение из всех опубликованных нотных таблиц Genesis. PSG был на 7 центов ниже строя: счётчик тратил лишний такт на полупериод, и канал играл clock/(32·(N+1)) вместо clock/(32·N). Отклонение одинаковое по всему диапазону, поэтому читалось не как баг, а как «PSG слегка не строит с FM». Сейчас 0.11 цента. Что ещё появилось. VGM-экспорт — по-моему, самое ценное после багфиксов. Это лог регистров: 2.4 КБ вместо мегабайтного WAV, играет в любом VGM-плеере и импортируется в DefleMask и Furnace. То есть то, что написала модель, человек открывает в настоящем трекере и доводит руками. Писатель подключён логгером к тем же объектам чипов, которые рендерят звук, — байты в файле это буквально байты, ушедшие в эмулятор, разойтись они не могут по построению. Обратное воспроизведение тоже есть, так что и чужие Genesis-VGM здесь рендерятся. Трекерная нотация вместо простыни JSON: четыре такта — сотни байт вместо тысяч, и модель видит ритм, который пишет. bpm 168 inst fm0 bass cols fm0 fm1 psg0 noise dac D-2 ... D-5 ... kick ... A-4 A-5:6 w1 hat A-2 ... F-5 ... snare ... === === === hat Плюс DAC/PCM на шестом канале с ударными, которые синтезируются кодом (ноль лицензий, ноль мегабайт), пан, LFO, громкость канала, питч в центах, смена темпа, 14 FM-патчей вместо четырёх и переключатель ревизии чипа: дискретный YM2612 с лесенкой ЦАПа (грязноватый, пан подтекает) или поздний ASIC YM3438 (чистое мьютирование). Обе — настоящее железо, выбор за автором. 60 тестов, запускаются голым python3 без установки чего-либо. Зелёные на C-ядрах, на pure-Python ядрах и с заблокированными numpy и scipy. Файлы прикладываю: архив-мост, два трека и .vgm. WAV стоит послушать — в прошлой версии там был слышен только PSG.

Работаем///Chipgen
Работаем///Chipgen

Демки приложить не могу.

Потом зашью шизм и furnace базу в него и будет ультиматум всей чиптюн сцене