<< RETURN_TO_LOG

[ 2026-07-20 ]

TEKNO M2 // DSP Rack Information & Technical Overview

low-latency parallel saturation, mode-dependent equalisation, and offline audio rendering

TEKNO M2 // DSP Rack Information & Technical Overview

psilobot.vercel.app/tekno

The TEKNO M2 is a single-page web audio processing node designed specifically for low-latency parallel saturation, mode-dependent equalisation, and offline audio rendering. Built around the native Web Audio API, it serves as a lightweight hardware-emulated channel strip tailored for digital dance music, web radio mastering, and live streaming preparation.Core DSP & Signal Flow Architecture[ Input Audio ] ──> [ Pre-Gain ] ──> [ Biquad EQ Array ] ──> [ WaveShaper Heat Node ] ──> [ Output Limiter ] ──> [ Analyser ] ──> [ Audio Destination ] │ └──> [ Mode Selector Switch ] (Dynamic Q/Freq Shift) 1. Dynamic Mode Vibe Engine (applyVibe)Unlike static parametric equalisers, the dynamic filter matrix recalibrates center frequencies ($f_c$), gain multipliers, and Quality ($Q$) factors across a 3-band array (BiquadFilterNode) instantly upon preset selection.TECHNO Mode: Enforces a tight sub-bass resonance at $55\text{ Hz}$ ($Q = 1.2$) to maintain punch without muddying lower-mid frequencies, alongside a targeted high-frequency presence boost at $10\text{ kHz}$ to emphasize transient attacks on hi-hats and synth leads.RADIO / STREAM Mode: Introduces steeper high-pass attenuation below $80\text{ Hz}$ and applies a broad mid-range lift around $2.5\text{ kHz}$ ($Q = 0.707$, Butterworth response) to optimise speech clarity and compensate for lossy encoder compression (AAC/MP3).2. Oversampled Parallel Saturation StageHarmonic saturation is generated using a non-linear transfer function mapped to a native WaveShaperNode.Transfer Curve: Driven by hyperbolic tangent ($\tanh$) functions, generating predominantly odd-order harmonics that simulate analog tape saturation and driven transistor circuits.Aliasing Suppression: Configured with oversample: '4x'. This forces internal 4× upsampling prior to non-linear calculation, preventing high-frequency foldback aliasing when pushing extreme drive settings.3. Offline Non-Realtime RenderingFor exporting processed material, the engine bypasses real-time streaming buffers by instantiating an OfflineAudioContext.The entire DSP graph (Filters $\rightarrow$ Heat Drive $\rightarrow$ Gain Stage) is reconstructed within memory.The source audio is rendered at hardware rate ($44.1\text{ kHz}$ or $48\text{ kHz}$).The resulting output buffer is serialized frame-by-frame via a custom 16-bit PCM binary encoder (bufferToWav) to output uncompressed .wav files directly in the browser without server-side processing dependencies.Key Specifications & PerformanceParameterSpecificationDSP ImplementationEngine CoreWeb Audio API / OfflineContextZero-dependency, client-side JavaScriptFilter Topology3-Band Parametric ArraySecond-order Direct Form II IIR (BiquadFilterNode)Drive Algorithm$\tanh$ Wave ShapingNative WaveShaperNode with $4\times$ oversamplingProcessing Latency$< 5\text{ ms}$ (Buffer Dependent)Real-time script executionExport Format16-bit LPCM .wavClient-side ArrayBuffer byte packingOperator Manual & RecommendationsInput Stage Calibration: Keep input levels peaking around $-6\text{ dBFS}$ before increasing the HEAT control. Inputting overly loud signals into the WaveShaper will cause hard clipping at the transfer boundary.Preset Switching: Switching modes during active playback recalculates filter coefficients using smooth parameter transitions (setTargetAtTime), preventing audio pops or clicks.Master Exporting: When using the Offline WAV Export feature on long stems, ensure browser memory availability, as large float arrays are allocated directly in system RAM during non-realtime rendering.

Built with v0