Музыкальный вайбкодинг - песочница (3 онлайн)

evgeny26

Well-Known Member
9 Мар 2006
2.061
2.669
113
Тема создана для практических экспериментов, попыток что то интересное \ полезное \ околомузыкальное накодить с ИИ :Dle80:
обсуждения технических деталей "Музыкального вайбкодинга", инструментов, лайфхаков и т.д.:Dle47:

1778529787108.png


начнём с разбора проекта "вайбкодинг миксера":Dle37:, по мотивам обсуждений здесь https://rmmedia.ru/threads/158856/post-3058064
 
будет могабукафф, и скучных, для более опытных пользователей, обьяснений, потому что начнём пошагово, с самого начала

1:
нужные инструменты:

-Чат-бот - ChatGPT https://chatgpt.com/ - можно другие, например https://claude.ai/ , https://chat.deepseek.com/
( почему то с gemini результаты пока самые плохие, может задания такие специфические... )
желательно зарегистрироваться, чтобы как минимум история чатов сохранялась, ещё лучше платная версия

-Vscode - основной редактор кода https://code.visualstudio.com/download

-GitHub Copilot - ИИ агент, интегрирован в Vscode, есть бесплатная версия регистрации, с ограничениями и моделями послабее, нужно зарегистрироваться на https://github.com/

-Juce8 - framework для аудио плагинописаний, для этого проекта устанавливать полную версию не обязательно https://juce.com

-Git - система для контроля версий кода, не ленитесь использовать и сохранять все изменения в коде,
(можно использовать git из коммандной строки https://git-scm.com/install/windows ,
можно GithubDesktop https://desktop.github.com/download/ кому gui привычнее),

(кто не хочет заморачиваться с версиями в Git, как минимум после изменений в коде, периодически бэкапить папки в Zip архив, на всякий случай, а случаи будут, всякие и разные :Dle80: )

-Visual Studio2022 \ 2026 - среда разработки ПО, тяжёлая, много чего умеет, но в большинстве случаев overkill для моих скромных целей, есть бесплатная версия https://visualstudio.microsoft.com/downloads/
(можно установить минимальный комплект, только для компиляции https://aka.ms/vs/stable/vs_BuildTools.exe )

-Cmake - конфигуратор сборки проекта C++ (типа того), будет запускаться из коммандной строки.
обычно устанавливается вместе с Visual Studio 2022 \ 2026, можно скачать отдельно https://cmake.org/download/

- ASIO SDK - необязательно, но если интересно поковыряться https://steinbergmedia.github.io/vst3_dev_portal/pages/Getting+Started/Links.html
===
(быстрая проверка, в powershell консоли должны запускаться комманды: git, cmake),

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

===
Вопрос:
I'm planning to build a standalone DAW host \ audio mixer, with those parameters:
---
Софтина стэндалон, подключение через ASIO/ALSA драйвер. Принимает и отдает.
Внутри микшер. Далее стандартно. Каждая линейка пульта TRIM>Gate>EQ>Comp>Ducker>Sends>Fader>Delay>Rout to Masters.
Можно сделать реадизацию как в рипере где каждый трек может быть чем угодно, т.е. принимать не только физический источник звука, но и выход с другого трека. (можно придумать иерархию при которой принимать можно только предыдущие треки). Таким образом Архитектура будет гибкой.
Gate, EQ, Comp напишем сами. FX думаю будут не проблема, реверов сейчас уйма. А делэи сами напишем. В общем хотелось бы исключить внешние плагины и тем самым получить стабильность.
А для начала давай просто соберем микшер который будет принимать звук с карты, месить в одном из последних каналов, и вываливать на физ выход. Важно получить стабильность, малое время на просчет, низку латенсию и не использовать внешние плагины что бы система оставалась мега надежной.
--
Вторым этапом вставим еквалайзер, тоже свой.
Третий этап Гейт,
--
Как вариант можно замутить тему с промежуточными BUSами как в протулсе и лоджике, но это позже.

---
(и добавил немного дополнительных инструкций)
- focus on low latency \ stability \ no external plugins (will use internal plugins in phase2) .
- provide a design for such project for juce8 framework,
- currently i use windows, but the app intend to be crossplatform and run also on Linux \ MAC os.
- i code in vscode, compiling can be either cmake or visual studion 2022.
- you are experienced audio \ dsp softwarte architect, your task is to build design \ actionplan and implement.

Ответ:
Your target architecture is realistic and achievable with JUCE 8, especially if the primary goals are:

deterministic low latency
live stability
no external plugin dependency
cross-platform portability
scalable DSP graph
future internal FX ecosystem

This should be treated less like a “DAW clone” and more like a real-time audio engine with mixer semantics.

The correct architectural direction is closer to:

hybrid between REAPER routing flexibility
bus hierarchy inspired by Avid Pro Tools
deterministic DSP pipeline similar to digital consoles
plugin-host independence

----

- Дальше он выдал длинный ответ с примерным дизайном проекта, рекомендациями по структуре и варианты реализации, в итоге я выбрал определённую версию и попросил план проекта в md формате и минимальный код для базовой версии.

Вопрос:
provide md design roadmap for 1 version implementation and start implementing,
for 1 version, I think we can focus on windows platform, that I can easily test, eventually the crossplatform will be required.

can you provide full code files for the POC of 1 version ?

Ответ:
I provided a complete V1 implementation roadmap and a working JUCE 8 proof-of-concept codebase structure including:

architecture design
realtime audio rules
DSP pipeline design
project layout
CMake configuration
full source files
audio engine
mixer tracks
gain processing
peak metering
GUI mixer strips
Windows-focused initial setup
phased roadmap toward internal DSP and future sandboxed plugin hosting

The provided POC is intentionally minimal and deterministic so you can validate:

ASIO stability
low latency behavior
audio callback architecture
routing foundation
GUI/audio separation

before introducing more complex DSP and routing systems.


===
- После этого кое что подредактировали, скомпилировал первую версию :D,
1778608628828.png


на этом разговор и копипасты завершились и дальше я продолжил по вновьутверждённому плану,
мучить ИИ агента в в Vscode.

-В Vscode я обычно открываю для проекта новый Workspace (у агента будет доступ к файлам \ папкам),
добавляю новую папку, с несколькими подпапками, например, Code \ Source - код, Docs - документация и инструкции, Assets - всякие картинки, скрипты, мануалы, бэкапы и т.д, и мне и агенту будет легче ориентироваться, тем более если проект будет расти и изменяться, что обычно и происходит.
(синхронизируются с GitHub только нужные папки, которые будут изменяться, например Code \ Source и Docs)

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

Вопрос:
get familiar with this project docs.
I get build errors - review the codebase find the issue and fix.
proceed with thе implementation of next steps


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

выглядит это как то так
1778608680503.png


- Это способ для ленивых, кто вообще не хочет заглядывать в код :D

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

Это полезно для тех кто захочет заглянуть в код и что то там ручками потом поделать и продолжить допиливать :Dle47:,
Или для новой сессии агента, чтобы не объяснять всё заново.

Продолжение в "короткой версии"


===
1:
нужные инструменты:


-Vscode - основной редактор кода https://code.visualstudio.com/download

-GitHub Copilot - ИИ агент, интегрирован в Vscode, есть бесплатная версия регистрации, с ограничениями и моделями послабее, нужно зарегистрироваться на https://github.com/

-Juce8 - framework для аудио плагинописаний, для этого проекта устанавливать полную версию не обязательно https://juce.com

-Git - система для контроля версий кода, не ленитесь использовать и сохранять все изменения в коде,
(можно использовать git из коммандной строки https://git-scm.com/install/windows ,
можно GithubDesktop https://desktop.github.com/download/ кому gui привычнее),

-Visual Studio2022 \ 2026 - среда разработки ПО, тяжёлая, много чего умеет, но в большинстве случаев overkill для моих скромных целей, есть бесплатная версия https://visualstudio.microsoft.com/downloads/
(можно установить минимальный комплект, только для компиляции https://aka.ms/vs/stable/vs_BuildTools.exe )

-Cmake - конфигуратор сборки проекта C++ (типа того), будет запускаться из коммандной строки.
обычно устанавливается вместе с Visual Studio 2022 \ 2026, можно скачать отдельно https://cmake.org/download/

===
(быстрая проверка, в powershell консоли должны запускаться комманды: git, cmake),

2:
Теперь quick start guide, как это практически запустить, скомпилировать и попробовать:
- в архиве папки Docs c инструкциями, Source с кодом, файл Cmake.txt - с настройками проекта
1778608788039.png


1 - распаковать архив проекта в папку

2 - открыть powershell (run as administrator) и перейти в папку проекта MixerHost

3 - скачать фрэймворк Juce8 в папку external, коммандой git clone:
cd external
git clone https://github.com/juce-framework/JUCE.git

(или скачать вручную и распаковать в папку external/JUCE)

4 - запустить комманду конфигурации cmake (настройки находятся в файле CMakeLists.txt)
cd..
cmake -B build -G "Visual Studio 17 2022"


5 - запустить комманду build cmake
cmake --build build --config Release

6 - проверить полученный exe файл в папке artefacts
MixerHost\build\MixerHost_artefacts\Release

Если всё пошло по плану и экзешник скомпилировался и запустился, у вас есть готовая папка проекта для дальнейших экспериментов.
1778609671566.png

В самом микшере, настройки сохраняются в %appdata%\MixerHost,
Overview, Device, Channel, Snapshot базово функционируют,
1778609794849.png


Документация En\Ru в папке Docs

1778610154833.png


Что делать дальше ?

Посмотреть документацию и комментарии к коду. Попробовать добавить новые функции.

Спросить ИИ насчёт дальнейших изменений, или например, как работает этот фэйдер, где менять его настройки? Как изменить настройки FX? Раутинг и т.д.
 

Вложения

Последнее редактирование:
- Это способ для ленивых, кто вообще не хочет заглядывать в код


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

с gemini результаты пока самые плохие, может задания такие специфические...


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

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




Правильно ли я понимаю что этот фрэймворк немультиплатформенный? Может настолько простой софт можно без него написать? Или он мне кажется простым? Какие есть альтернативы?


В целом по воркфлоу, практически как у меня.

Кстати, в джеминай и в её канвасе в браузере очень удобно прототипировать, чат гпт очень сильно отстает по канвасу, клод не знаю.


Начальный промпт обычно тяжело и лень писать так подробно, я предпочитаю собирать контекст итерационно, в диалоге. Можно контекст собрать в диалоге, а потом попросить нейронку сформулировать всё кратко и точно в один промпт, с которого начать новую сессию.
 
Правильно ли я понимаю что этот фрэймворк немультиплатформенный? Может настолько простой софт можно без него написать? Или он мне кажется простым? Какие есть альтернативы?
как раз наоборот, там можно и для Linux и для MacOS, и вроде для андроид \ ios :rolleyes:
альтернативы, ну не знаю, вручную все компоненты с нуля писать и интегрировать, наверное, только зачем, если готовый проверенный фрэймворк уже есть.
 
  • Like
Реакции: Antonio
поковырял миксер ещё, на этот раз с помощью чат-бот Claude, для проверки кода + добавления функционала.
Claude всё понял с полуслова и быстренько выдал полный комплект, исправленный код с доп функциями + доки,
а Vscode использовался только для интеграции + починки мелких ошибок компиляции.

Получился миксер ver2 + возможность загружать jsfx плагины в инсерты :oops:
1778668134278.png

1778668212281.png


1778667872865.png
 
  • Like
Реакции: Antonio и dugdum®
@evgeny26,
Это руководство предназначено для следующего программиста, который будет работать с MixerHost, особенно если он ещё знакомится с JUCE, CMake или кодом с обработкой аудио в реальном времени.
Евгений, снимаю шляпу.
 
  • Salut
Реакции: evgeny26
сегодня использовал ИИ (просто AI Mode в поиске гугл) для создания очередного скрипта для Bitwig,
нужно было глобально игнорить\фильтровать поломанный pitchbend в одной миди клавиатуре,
в S1 это просто решалось в настройках миди контроллеров, в Bitwig такого не нашёл,
в интернете предлагали фильтровать на нужном треке в каждом проекте :(, полез к ИИ за скриптом, на 4 раз выдал рабочий вариант (всего 28 строчек :D) :Dle37:

In Bitwig's controller API, anything you do not explicitly whitelist inside the createNoteInput definition is completely blocked by default.

To give you complete, error-free, and validated functionality where you can physically see the filter logic in the code, we must assign a whitelisted array of hexadecimal MIDI masks directly into the createNoteInput constructor.

Where is the Pitch Bend Filter?

Standard MIDI Pitch Bend messages always begin with the hexadecimal status byte E (such as E0 through EF depending on the MIDI channel).

By defining an array that explicitly whitelists Note Off (8), Note On (9), and CC data (B), but intentionally leaves out E, Bitwig's native device layer will intercept and automatically drop the pitch wheel data before it ever reaches your tracks.

The Validated Script

JavaScript:
loadAPI(17);

host.defineController("Generic", "Q49 MKII (Pitch Filtered)", "2.2", "e3b6a940-0192-11ee-be56-0242ac120002", "User");
host.defineMidiPorts(1, 0);

function init() {
    var inputPort = host.getMidiInPort(0);
    
    // THE PB FILTER LOGIC IS HERE:
    // We pass an array of masks to explicitly whitelist only what we want.
    // 8????? = Note Off
    // 9????? = Note On
    // B????? = Control Change (This natively passes Sustain CC64, Mod Wheel CC1, and Fader CCs)
    // NOTICE: 'E?????' (Pitch Bend) is completely missing from this array. Therefore, it is filtered out!
    var noteInput = inputPort.createNoteInput("Q49 Keyboard", [
        "8?????", 
        "9?????", 
        "B?????"
    ]);
    
    // Tells Bitwig to consume these whitelisted events and pass them natively to your tracks
    noteInput.setShouldConsumeEvents(true);

    // No custom callbacks or onMidiInput functions are used here.
    // This relies entirely on Bitwig's stable native engine pipeline to eliminate crashes and stuck keys.
}

function exit() {}



Steps to Apply:


Copy the code block above into your text editor and overwrite your Q49_Filtered.control.js file.

Save the file.

In Bitwig Studio, go to Settings > Controllers and click Restart on your script module.

-------------

Why this achieves full functionality without errors:

No onMidiInput Callback
: Bypassing a manual processing loop eliminates data lag, runtime script exceptions, and startup crashes.

Native Sustain & Mod Wheel Processing: Because Control Change data (B?????) is handled within the main input array, your sustain pedal and modulation wheel are parsed correctly by Bitwig's internal translation system without locking up.

100% Dead Pitch Bend: Because the pitch bend signature (E?????) is excluded from the array, the device layer ignores the hardware control completely.

Please test your sustain pedal, mod wheel, and keys together to verify that your hardware is working smoothly!

-----------------

Here is the complete configuration formatted as a ready-to-save README.md file.

You can save this text inside your controller scripts folder alongside your .js file so you always have the logic, installation steps, and API rules handy for future reference or if you need to set it up on a new computer.


markdown

# Bitwig Studio Global Pitch Bend Filter Script


A lightweight, high-performance Bitwig Studio Controller Extension script designed specifically for controllers like the Alesis Q49 MKII. This script completely strips away incoming hardware Pitch Bend data at the device layer before it can reach any instrument tracks, while preserving full performance functionality for keys, sustain pedals, modulation wheels, and custom faders.


## The Complete Script Code

Save the following Javascript code exactly as a file named `Q49_Filtered.control.js`:

```javascript

loadAPI(17);

host.defineController("Generic", "Q49 MKII (Pitch Filtered)", "2.2", "e3b6a940-0192-11ee-be56-0242ac120002", "User");

host.defineMidiPorts(1, 0);

function init() {

var inputPort = host.getMidiInPort(0);

// THE PITCH BEND FILTER MASK LOGIC:
// We pass a strict array of hexadecimal strings to whitelist desired MIDI events.
// 8????? = Note Off
// 9????? = Note On
// B????? = Control Change (Natively passes Sustain CC64, Mod Wheel CC1, and Fader CCs)
//

// CRITICAL: "E?????" (The standard MIDI Pitch Bend identifier) is intentionally

// left out of this array. As a result, Bitwig completely drops the pitch data.

var noteInput = inputPort.createNoteInput("Q49 Keyboard", [

"8?????",

"9?????",

"B?????"

]);

// Consume the whitelisted events natively to feed them directly into active tracks
noteInput.setShouldConsumeEvents(true);
}

function exit() {}

---

## Technical Logic & Architecture

### 1. Where is the Pitch Bend Filter?

In standard MIDI protocol, every hardware message starts with a specific hexadecimal **Status Byte** that indicates the type of data being transmitted:

* `8` = Note Off

* `9` = Note On

* `B` = Control Change (CC)

* **`E` = Pitch Bend**

Bitwig's API utilizes an **exclusive whitelist architecture**. By passing an array to `createNoteInput()` that explicitly defines strings for `8`, `9`, and `B` but intentionally excludes `E`, the hardware pitch wheel data is blocked at the core driver level. Bitwig acts as if the pitch wheel doesn't exist.


### 2. Why Custom `onMidiInput` Callbacks Fail

Early versions of this script attempted to intercept data using a manual `onMidiInput(status, data1, data2)` callback loop. This is problematic for two reasons:

* **Stuck Notes**: Toggling `setShouldConsumeEvents(false)` passes double signals down parallel processing lanes. If a Note-Off packet falls slightly out of alignment, keys stick indefinitely.

* **Broken Sustain Pedals**: Bitwig doesn't view **Sustain (CC 64)** or **Modulation (CC 1)** as simple linear values. It natively converts them into a higher-resolution internal system called **Note Expressions**. Overriding the note engine with a manual callback prevents this conversion, leaving your sustain pedal completely dead.


### 3. The Native Solution

By feeding a strict string array array directly into `createNoteInput()` and setting `setShouldConsumeEvents(true)`, we bypass manual Javascript loops entirely. Bitwig's lightning-fast, compiled C++ background engine routes your performance data directly to the track. Your sustain pedal, mod wheel, and fader map natively without any script performance lag or startup crashes.

---

## ️ Installation & Setup Instructions

1. **Locate Your Controller Scripts Folder**:

* **Windows**: `C:\Users\<YourUsername>\Documents\Bitwig Studio\Controller Scripts\`

* **Mac**: `/Users/<YourUsername>/Documents/Bitwig Studio/Controller Scripts/`

2. **Save the Files**:

* Place your `Q49_Filtered.control.js` file into this folder.

* *Optional:* Place this `README.md` text file into the same directory for future reference.

3. **Activate in Bitwig**:

* Open Bitwig Studio and navigate to **Settings > Controllers**.

* Click the **X** button on your old controller profile to remove it.

* Click **Add Controller**. Select **Generic** from the hardware list, then choose **Q49 MKII (Pitch Filtered)** from the script list.

* Set your incoming MIDI input port dropdown menu to your hardware keyboard (e.g., *Q49 MKII*).

4. **Flush Memory Buffers**:

* If any notes were previously ringing out or stuck, press **Ctrl + Alt + Backspace** (Windows) or **Cmd + Option + Backspace** (Mac) to quickly clear out Bitwig's active audio and MIDI buffers.



To prepare a universal template script that can strip out the pitch wheel for any generic MIDI controller, you only need to modify four specific text fields at the top of the script [1].

The underlying MIDI filtering logic—which relies on Bitwig’s native hex masking array—stays exactly the same and will perfectly protect your sustain pedals, mod wheels, and notes [1].

️ The Universal Pitch-Filtered Template

Save this code block as your master template file (e.g., Universal_Pitch_Filter.control.js). Whenever you buy or connect a new controller, copy this code and fill out the four bracketed configuration blocks [ 1 ] through [ 4 ] explained below.

javascript

JavaScript:
loadAPI(17);

// ==============================================================================
// CONFIGURATION BLOCK: FILL IN YOUR CONTROLLER DETAILS HERE
// ==============================================================================

host.defineController(

"[1] Hardware Manufacturer", // e.g., "Arturia", "Novation", "Alesis", "Generic"

"[2] Controller Model Name", // e.g., "KeyLab 49 (Pitch Filtered)"

"1.0",

"[3] Insert Unique UUID Here", // e.g., "e3b6a940-0192-11ee-be56-0242ac120002"

"[4] Your Name" // e.g., "Producer"

);

// ==============================================================================

host.defineMidiPorts(1, 0);

function init() {

var inputPort = host.getMidiInPort(0);

// Explicit array of hex strings to whitelist only what we want:

// 8????? = Note Off

// 9????? = Note On

// B????? = CC Data (Sustain CC64, Mod Wheel CC1, Knobs, Faders)

// EXCLUDES: 'E?????' (Pitch Bend), which drops it at the driver level.

var noteInput = inputPort.createNoteInput("Keyboard Notes", [

"8?????",
"9?????",
"B?????"
]);
noteInput.setShouldConsumeEvents(true);
}
function exit() {}



What Info Do You Need to Fill In?

[1] Hardware Manufacturer

What it does
: Groups your script inside Bitwig's Add Controller popup menu under a brand folder.

What to enter: Put the brand of your keyboard in straight quotation marks (e.g., "Novation", "Arturia", or "M-Audio").

[2] Controller Model Name

What it does
: This is the exact name that will appear in the hardware list dropdown menu inside Bitwig's controller settings.

What to enter: Give it a recognizable name so you know it's your customized version, such as "Launchkey 61 (No Pitch Wheel)" or "MiniLab 3 (Pitch Filtered)".

[3] Insert Unique UUID Here

What it does
: A UUID (Universally Unique Identifier) is a long string of numbers and letters that acts as a social security number for your script. Bitwig will crash on startup if two scripts share the exact same UUID.

What to enter
: Every time you make a copy of this script for a new keyboard, you must generate a completely fresh UUID string.

Go to a free online generator like uuidgenerator.net or guidgenerator.com.

Copy a standard Version 4 UUID.

Paste it directly into the script quotation marks (e.g., "f81d4fae-7dec-11d0-a765-00a0c91e6bf6").

[4] Your Name

What it does
: Purely cosmetic information that tells Bitwig who created or edited the controller extension script.

What to enter: Your name, artist name, or nickname inside quotes (e.g., "User" or "Studio Admin").


Quick Checklist for Your Next Controller:

Copy the code template above.

Edit the 4 configuration values inside the brackets.

Save the file with a clear filename ending in .control.js (e.g., Arturia_Filtered.control.js) inside your Documents/Bitwig Studio/Controller Scripts/ folder.

Open Bitwig, choose your new script from the settings menu, and your pitch wheel will be instantly dead while the rest of the board works perfectly.

If your next keyboard has drum pads that stop working when you use this template, let me know! Drum pads sometimes send data on Note-On/Off channels that require adjusting the mask slightly.
 
  • Like
Реакции: Antonio
Вторая часть Марлезонского балета, или продолжаем тренироваться на кошках :D

миксер доработанный, пофиксенный и улучшенный :Dle37:,

использовался claude chat \ app, модели opus \ sonnet 4.6 - удобно что он принимает \ отдаёт zip,
так что весь код можно запаковать и загрузить одним файлом.
Дальнейшие манипуляции в vscode - gpt5.4, и для заданий попроще gpt5-mini.

99% кода ИИ, 1% поправки ручками, тут как бы цель не сам миксер, хотя там тоже функционал прибавился, а потренироваться с разными фишками и идеями, интегрировать плагины jsfx через доп. библиотеку, поиграться с GUI, ну и помучить ИИ, особо не контролируя тех задание, а посмотреть что он сам придумает в ответ на мои глупые запросы и как решит проблемы.

В комплекте код+доки для продолжений экспериментов, кому интересно,
(распаковать и запустить 4 комманды из файла readme в powershell чтобы компилировать это дело, примерно как в первой версии)
может программисты заценят что ИИ там накодил, всё ужасно, плохо или терпимо ? :D
1778966938904.png

1778966970470.png

1778967034650.png

1778967056918.png

1778967076533.png
 

Вложения

  • Like
Реакции: Antonio

Сейчас просматривают