Skip to content

πŸš€ [Feature] Modular Signal Routing & Parallel DSP Path ArchitectureΒ #43

@sudip-mondal-2002

Description

@sudip-mondal-2002

Overview

Currently, Amplitron uses a strict linear signal chain where audio passes sequentially through each active pedal from left to right. While simple and effective, this architecture prevents advanced routing configurations that are standard in professional amp simulators and DAWs.

This issue proposes adding modular signal routing with parallel DSP paths, enabling splits, merges, and non-linear graph topologies.

Motivation

Premium commercial amp simulators like Fractal Audio (Axe-Fx) and Neural DSP allow:

  • Splitting the signal into two parallel paths (e.g., path A: heavily distorted + cab, panned hard-left; path B: clean + chorus, panned hard-right)
  • Merging paths with configurable mix ratios
  • Wet/dry signal blending at the pedal level
  • Parallel distortion blending (clean blend on bass distortion to preserve low frequencies)
    Without this capability, Amplitron is architecturally limited compared to top-tier alternatives.

Proposed Architecture

Replace the current std::vector<IPedal*> linear chain with a directed acyclic graph (DAG) of DSP nodes:

  1. Signal Splitter Node β€” takes one input, outputs two or more parallel streams
  2. Signal Mixer Node β€” takes two or more inputs, merges with configurable gain ratios
  3. Effect Node β€” wraps existing IPedal implementations
  4. Graph Executor β€” topologically sorts the DAG and processes nodes in dependency order

UI Considerations:

  • Extend the pedalboard UI to support visual routing lanes
  • Allow drag-and-drop placement of splitter/mixer nodes

This is the single architectural change that would most dramatically elevate Amplitron toward DAW-level capabilities.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Audio ProcessingRelated to DSP, effects, or signal processingHigh ImpactSignificant user-facing improvementenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions