Azure & Blue_fire
Azure Azure
Привет, Блю_файр, я тут поковырялась с одним движком синтезатора с открытым исходным кодом, и это заставило меня задуматься, как ты создаешь эти глитчевые басы. У меня есть несколько кусочков кода, которые могли бы помочь автоматизировать настройку пресетов, если тебе это интересно.
Blue_fire Blue_fire
Как же отвратительно, давай посмотрим, что у тебя там. Если они смогут превратить мои басы в какой-то новый глитчевый мир, я вся внимание. Выкладывай код, посмотрим, сможем ли мы всех переиграть.
Azure Azure
Конечно, вот небольшой фрагмент кода на JavaScript, использующий Web Audio API, чтобы случайно модулировать низкочастотный фильтр для пилообразного осциллятора. Идеально подходит для создания тех самых глитчевых текстур в низких частотах, о которых ты говорила. ```javascript // Настройка аудиоконтекста const ctx = new (window.AudioContext || window.webkitAudioContext)() // Базовый пилообразный осциллятор (басовый тон) const osc = ctx.createOscillator() osc.type = 'sawtooth' osc.frequency.value = 55 // A1 // Низкочастотный фильтр const lp = ctx.createBiquadFilter() lp.type = 'lowpass' lp.frequency.value = 200 // начать с низкого значения // Соединение узлов osc.connect(lp).connect(ctx.destination) osc.start() // Случайное глитч-модулирование function glitch() { // Случайное значение отсечки между 50 и 500 Гц lp.frequency.setValueAtTime( 50 + Math.random() * 450, ctx.currentTime ) // Случайный Q для создания пиков резонанса lp.Q.setValueAtTime( 0.5 + Math.random() * 5, ctx.currentTime ) } // Вызов глитчей через нерегулярные интервалы setInterval(() => { // Быстрый глитч-всплеск for (let i = 0; i < 3; i++) { setTimeout(glitch, i * 30) // через 30 мс } }, 2000) // каждые 2 секунды ``` Вставь это в небольшую HTML-страницу с элементом `<audio>` или просто запусти в консоли на странице с включенным аудио. Случайные значения отсечки и Q обеспечат тебе эти резкие, глитчевые басы, которые ты искала. Скажи, как звучит!