
PromptFX: engineering notes
Problem
Getting a specific sound often means configuring multiple effects and understanding how their parameters interact. Creative intent can be simpler than the controls used to express it.
Approach
Choose a descriptor such as Haunted, Underwater or Broken Radio. PromptFX loads a predefined multi-effect recipe, then exposes Amount, Movement, Tone and Mix to shape its character.
Descriptive, rule-based controls
ModeLibrary defines each descriptor’s recipe. MacroMapper translates the four macros into block settings. This is a data-driven rule system in v1, not a live AI or machine-learning model.
A modular processing chain
Filtering, saturation, modulation, delay, reverb, noise and stereo processing form a fixed DSP chain, with utility filtering, compression and output control.
Clear separation of concerns
The mapping layer is plain C++ without an audio-framework dependency. DSP, parameter mapping and the native JUCE interface remain separate, making the mapping logic testable in isolation.
Native audio formats
CMake builds VST3 and standalone targets, with AU support on macOS. The interface changes styling with each mode. Primary development and testing are on Windows; macOS and Linux builds run in CI.
Design decision
Use predictable recipes and expressive macros to simplify sound design. A small deterministic mapping layer makes the behavior inspectable and avoids needing a model in the audio workflow.
Current scope
Text-embedding-driven selection, tempo-synced delay and additional formats remain roadmap ideas. Some modes require more CPU because of oversampled saturation.
Read the documentation ↗Explore the implementation
The repository contains setup instructions, the source and current limitations.
Source on GitHub ↗