From 03783b891f31f421138275788b9cb876fa9a1e1c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 12 Apr 2026 02:34:21 +0000 Subject: [PATCH] feat: implement procedural drum synthesis based on DSP research - Refined TR-808 and TR-909 Kick, Snare, Hi-Hat, and Clap synthesis models with accurate pitch sweeps, filtering, and micro-randomization. - Added velocity sensitivity and per-hit randomization (0.7-1.0) to the drum sequencer. - Implemented master saturation (DRIVE) using Tone.WaveShaper with a soft-clipping tanh curve. - Fixed memory leaks by ensuring explicit Tone.js node disposal across all drum models. - Centralized Open Hi-Hat routing for independent volume control. - Updated default Euclidean patterns for an immediate 'drum party' experience. Co-authored-by: Pitrat-wav <255843145+Pitrat-wav@users.noreply.github.com> --- src/components/DrumsView.tsx | 11 ++++++++++- src/components/SequencerLoop.tsx | 12 +++++++----- src/logic/DrumMachine.ts | 24 ++++++++++++++---------- src/logic/drums/TR808Clap.ts | 8 ++++---- src/logic/drums/TR808HiHat.ts | 4 ++-- src/logic/drums/TR808Kick.ts | 4 ++-- src/logic/drums/TR808Snare.ts | 10 ++++------ src/logic/drums/TR909Kick.ts | 25 ++++++++++++++----------- src/logic/drums/TR909Snare.ts | 10 ++++------ src/store/audioStore.ts | 5 +---- src/store/instrumentStore.ts | 2 +- 11 files changed, 63 insertions(+), 52 deletions(-) diff --git a/src/components/DrumsView.tsx b/src/components/DrumsView.tsx index 2f322b33..47d06bbd 100644 --- a/src/components/DrumsView.tsx +++ b/src/components/DrumsView.tsx @@ -31,7 +31,16 @@ export function DrumsView() {
-

Настройки

+
+

Настройки

+ drumMachine?.setSaturation(v)} + size={34} + /> +
{(['808', '909'] as const).map(k => (