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

evgeny26

Well-Known Member
9 Мар 2006
2.054
2.650
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? Раутинг и т.д.
 

Вложения

Последнее редактирование:
  • Like
Реакции: dugdum®

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