Музыкальный вайбкодинг (18 онлайн)

Code Your Own Synth Plug-Ins With C++ and JUCE
Designing Audio Effect Plugins in C++ For AAX, AU, and VST3 with DSP Theory by Will C. Pirkle
 

Вложения

  • Like
Реакции: Lux
с++ без привязки к дсп по опыту смысла нет учить
Ну как же так? С++ это прежде всего язык программирования на котором общаются с компилятором. Если же исходить из того что эта тема, тема музыкального вайбкодинга... Ну не знаю, вайбкодить вслепую, не понимая всего, что нейронка подкидывает в качестве ответов на промты, ну такое себе. Я бы все-таки занялся изучением языка первично, а использовать эти знания можно в любой сфере.
 
  • Like
Реакции: Lux
@Zerocool, Оно примерно так и есть. Плюс он сам скрипт пишет очень грязно и нестабильно. Мы пробовали сейчас интегрировать это всё в игровые скрипты. Это полных ахтунг. Пока сам всё руками не переберёшь, это всё крайне нестабильная и глючная история. Не знаю как с ла2а, и алгоритмических сценариях, но в игровом движке работает хреново до безумия. Главная проблема там в нестабильности кода, т.к. он плохо понимает вообще логику движка, практически не делает проверку подлинности функции (а это крайне важно, иначе будут постоянные эрроры), при этом пишет через 3 погибели длиннючую и глючную простыню, на элементарный триггер скрипт. Короче не удивительно что современный игрострой стал неимаверно лагучим и глючным дерьмом)))
 
вот что клод нагенерил, если интересно покрутить
а вот что deepseek пофиксил в версии клода :Dle18:

LA-2A Plugin — Critical Fixes & Professional-Grade Improvements​

Below you’ll find a detailed explanation of every discovered issue, the reasoning behind the fix, and the full corrected source files.
All changes are designed to bring the emulation to a professional, release‑ready level while preserving drop‑in compatibility with JUCE 8 / C++17.


Critical Bug: Inverted Feedback Divider (Gain Reduction)​

Problem:
In the original LA2A_DSPChain.h and LA2A_OptoCell.h the feedback divider was computed as:

cpp
gainReduction = R_in / (R_in + R_cds); // WRONG
In a real LA‑2A the LDR is in shunt to ground; the signal arriving at the 12AX7 grid is:

text
V_grid = V_in * R_cds / (R_cds + R_in)
When the light gets brighter (R_cds decreases) the gain drops – that’s the compression mechanism. The incorrect formula increases the gain with more light, making the plugin act as an expander instead of a compressor.

Fix:
Replace with the correct formula everywhere:

cpp
gainReduction = R_cds / (R_cds + R_in);
All related metering (getCurrentGRdB) and README examples are updated accordingly.


Sidechain Pickup Point Mismatch​

Problem:
The sidechain signal was taken directly from the 12AX7 anode (ax7_out). In the original LA‑2A the sidechain feed comes after the output transformer. This changes the loop’s frequency response and harmonic content, affecting the “feel” of compression.

Fix:
Reorder the processing chain:

  1. Input → apply feedback gain reduction (using R_cds from previous sample).
  2. 12AX7 stage → 12BH7 follower → Output transformer.
  3. Take the output transformer signal as the sidechain pick‑up.
  4. Process sidechain → update opto‑cell’s R_cds for the next sample.
This preserves the authentic feedback path and gives the characteristic LA‑2A “grab”.


Missing Oversampling​

Problem:
Tube non‑linearities, the output transformer saturation and the 6AQ5 soft‑clip all generate harmonics that can fold back below Nyquist, causing audible aliasing at normal sample rates.

Fix:
Wrap the entire DSP chain inside a juce::dsp::Oversampling<float> (2x or 4x). All processing is done at the oversampled rate; only the final output is down‑sampled. This is mandatory for a professional product.


Missing Stereo Link​

Problem:
Independent per‑channel compression causes the stereo image to shift with loud transients on one side only.

Fix:
Added a setStereoLink(bool) method. When enabled, the sidechain detector receives the maximum absolute value of both channels, and the same gain reduction is applied to both, keeping the centre stable.


Newton‑Raphson Solver Robustness​

Problem:
The tube solvers use only fixed‑point iteration (or Newton without safeguards). In deep saturation the derivative can become zero, causing divergence and audible “spikes”.

Fix:
Implemented a damped Newton with a fallback to a safe bisection method if the correction exceeds a threshold or convergence fails. This guarantees stability without sacrificing speed.


Emphasis Filter Pivot & Detector Authenticity​

Problem:
The R37 emphasis was a high‑shelf boost (incorrect) and the sidechain detector used an abstract RMS model.

Fix:
  • R37 is now a low‑shelf cut at 1 kHz with up to –10 dB attenuation, matching the original schematic and UA documentation.
  • The detector was replaced with a physics‑based capacitor charge/discharge model (low‑resistance charge, high‑resistance discharge) that replicates the diode+capacitor circuit more faithfully.

Minor Improvements​

  • DC‑block high‑pass was changed from 5 Hz to 20 Hz with 12 dB/oct to prevent subsonic shift after asymmetric clipping.
  • Gain‑staging: INPUT_SCALE and OUTPUT_SCALE are now explicitly tied to a calibration that aims for unity gain when Peak‑Reduction is 0.
  • Metering formula fixed to use the corrected divider.
  • READ.me examples corrected and updated with the new API.
 

Вложения

Ну как же так? С++ это прежде всего язык программирования на котором общаются с компилятором. Если же исходить из того что эта тема, тема музыкального вайбкодинга... Ну не знаю, вайбкодить вслепую, не понимая всего, что нейронка подкидывает в качестве ответов на промты, ну такое себе. Я бы все-таки занялся изучением языка первично, а использовать эти знания можно в любой сфере.
нет так оно не работает нужна цель
с++ огромен и всеобъемлен а ДСП это только малая часть так как с++ относительно быстрработает практически в real-time

мой совет не учить с++ с нуля
а сразу переходить к ДСП фильтрам, delay line, oversampling, interpolation, FFT, saturation, envelope follower и другим базовым вещам, которые реально используются в ДСП аудио
а уже по мере необходимости изучать остальной с++ если оно нужно
 
Последнее редактирование:
  • Like
Реакции: dugdum®
Когда мало мальски в теме - начинаешь поминутно ловить фейспалмы )и так практически со всем что пытаешься его заставить делать )

Ловишь фейспалмы, исправляешь, так и продвигаешься к конечному результату. И достигаешь его, в отличии от тех, кто нихрена не делает, только рисуется и критикует.
 
  • Like
Реакции: Lux и dugdum®
а сразу переходить к ДСП фильтрам, delay line, oversampling, interpolation, FFT, saturation, envelope follower и другим базовым вещам, которые реально используются в ДСП аудио
таки это не с++, а прикладные алгоритмы ) но полностью поддерживаю, так как себя мучил интенсивом от яндекса и писал поисковый сервер и навигатор )
 
Плюс он сам скрипт пишет очень грязно и нестабильно. Мы пробовали сейчас интегрировать это всё в игровые скрипты. Это полных ахтунг. Пока сам всё руками не переберёшь, это всё крайне нестабильная и глючная история.
а каким ИИ и в чём это писалось? чат-бот \ агент в IDE ? платный \ бесплатный ?
если платный агент, то странновато, последнии версии агентов намного лучше с кодом работают :rolleyes: :Dle47:
 
И достигаешь его, в отличии от тех, кто нихрена не делает,
Это ты о себе )?)) , ну так найди себе занятие ) наконец ) и перестань чушь писать на форуме ):)
в музыке понятно не состоялся, - ну говорят сейчас вроде неплохо платят каменщикам (с)
 
@evgeny26, Пробовали бэйзи, это непосредственно агент для юнити, он ещё более-менее вдупляет что он находится в определённой архитектуре. остальные - полный треш, банально нерабочие для этого.
 
  • Cry
Реакции: evgeny26
Если кратко описать суть, на данный момент, ии ассистенты там, это просто для совсем раков, которые вообще в кодинге не шарят (типо меня например) возможно это некого рода круто. Я шарил в очень старом движке, который сейчас просто уже не актуален, а учиться новым (языку) - не хочу. По этому, лишь образно вижу, например, какую-то функцию, которая занимала, к примеру, нное количество символов в старом движке, и, если в новой, я вижу тонну символов (раз в 10-20 больше), я просто понимаю, что это какая-то лажа. Чел который у меня кодит, говорит примерно то же самое, но он шарит и за новый язык. Если работать с одним движком, там и так есть уже наработанные шаблоны рабочих скриптов и функций, у каждого кодера, которые будут работать без вопросов всегда. А вот с ассистентом приходится перепроверять ВСЁ тотально, и править почти всегда беЗпристанно. Это просто больше количество времени уходит на это. Как это странно бы не показалось.
 
  • Like
Реакции: Ицык
Ну, а я программирую большой образовательный проект. И хоть и не мало музыкантом работал в жизни, основной специальностью была преподаватель.
И посколькую уже 9 месяцев программирую с помощью ИИ часов по 10 в день, чуть больше тебя в этом понимаю. )
 
Кстати, поделюсь мааленьким кусочком моего проекта, сделанным в декабре.

cortexgym.com/wikitype - это клавиатурный и языковой тренажер. Печатаешь иностранный текст, а браузер произносит слова, которые ты печатаешь. А по наведению тултип с переводом появляется. Для изучения языков очень полезно.
 
Последнее редактирование:
@Константин Викторович, а что они на днях в юньке там обновили в своем встроенном ИИ? Видос свежий видел на днях с их офф.канала. Это же и есть этот бэйзи?
Не знаю. Не сильно по видосам шарю. И дорожную карту их даже не смотрю. Работает и работает, чё-то обновляют. У них и так каждый год вайб движка тотальный. Лень уже вынюхивать чего там происходит внутри. Тем более мы пока на очень любительском уровне всё юзаем, и на самодеятельной основе))
 
  • Like
Реакции: Ицык
Единственно, есть большой плюс от него, это когда нужно заменить, к примеру, одну переменную определённого значения во всех скриптах (их например 1000 штук). Руками это может занять около суток вообще. С ИИ пару минут. Но это можно и в пауер шелле вообще сделать было, 20 лет назад)
 
Единственно, есть большой плюс от него, это когда нужно заменить, к примеру, одну переменную определённого значения во всех скриптах (их например 1000 штук). Руками это может занять около суток вообще. С ИИ пару минут. Но это можно и в пауер шелле вообще сделать было, 20 лет назад)
В VS Code это так же работает без всяких ИИ и шелов. Просто продвинутый редактор, он видит всю папку проекта. Меняешь имя одной переменной, а меняется везде, по всему проекту.
 
И посколькую уже 9 месяцев программирую с помощью ИИ часов по 10 в день, чуть больше тебя в этом понимаю. )
нет , это говорит лишь о том что ты ровным счетом них... , не понимаешь ни в ии ) ни в кодинге ) а просто один из членов многочисленной армии суноговнописателей и говноиикодеров ))
Усиливаете энтропию вселенной и количество мусора в инфосфере )) но вселенная вас за это неизбежно накажет , так или иначе))
Как я уже говорил единственное значимое достижение ии на данный момент - это то что он дает безусловную возможность дилетантам и дуракам увеличить свое эго )))))))...и стать причастными к чему то , к чему бы их в обычных обстоятельствах не подпустили бы на пушечный выстрел ))
поэтому количество яжпрограммистов , яжпсихологов , яжмузыкантов - увеличилось в геометрической прогрессии ) правда с нулевым приростом в качестве)) а точнее по большей части с отрицательным )) ...
 
Последнее редактирование:
  • Like
Реакции: AAG
Ответ от ИИ злобным токсикам. Предлагает на выбор аж 5 штук :D

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

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

3. «Про "увеличение эго" — это ты в зеркало посмотрел, пока этот спич писал? Потрясающая самодиагностика. Видимо, ты из той редкой категории людей, которые считают, что если они страдают над кодом или музыкой годами, то это автоматически делает результат ценным. Спойлер: нет, это просто делает тебя медленным и злым».

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

5. «Если ИИ — это инструмент для дураков, то почему ты до сих пор не пользуешься им?»
 

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