Vol. I · No. 579Rochester, New York, Thursday, September 24, 2026Audio AI · Page B14
All workSection B · Page B14

Audio AIWingmanPro

It Hands You the Synth Patch, Not the Song

A desktop sound-design assistant that listens to your track, reads your description and writes a real Surge XT preset.

Graphic6 steps
  1. Listenlibrosa and 3 Hugging Face models describe the clip as JSON
  2. PromptAudio context, your description and a Surge XT reference
  3. WriteThe LLM returns Surge XT patch XML
  4. ValidateXML is parsed and checked for the required sections
  5. PackageWrapped into a binary .fxp preset
  6. PlayDawDreamer renders it through the Surge XT VST3
What happens inside WingmanPro, in order.Graphic: The Sahil Bachu

Most AI music tools hand you finished audio. When you're producing, you usually want a sound you can shape. WingmanPro gives you a real Surge XT synth preset instead. Drop in audio from your track, describe the sound you want ("dark slow riser") and you get a patch you can open and tweak like any other.

The first stage listens. librosa pulls out BPM, key, energy, brightness, noisiness and attack shape, and each one becomes a label a language model can read. Three Hugging Face models add vibe (CLAP, zero-shot), genre and AudioSet tags. That heavy ML lives in its own Python venv and runs as a subprocess that prints JSON, so the main app stays light.

The model writes patch XML, which I parse and validate before trusting it.

The second stage writes. The audio context and your prompt go to an LLM (local Qwen through Ollama by default, Claude or Groq if you prefer) along with a reference of Surge XT's parameters and a template patch. The model writes patch XML, which I parse and validate before trusting it. Then I wrap it into the binary FXP preset format myself: chunk headers, Surge's plugin ID, all of it.

The desktop half uses DawDreamer to load Surge XT as a VST3, render MIDI notes to audio and play them back, inside a PyWebView window with an AI mode and a synth mode. DawDreamer exposes 2,855 plugin parameters; I mapped 68 of them to names a person would recognize. The patch XML is the single source of truth, and a round-trip check confirmed that changing the filter cutoff really changes the rendered audio.

The first working commit was the full path: text in, vibe-matched against the audio, preset out. Getting there took two days. The written Phase 2 plan swaps the LLM step for CLAP embeddings and a trained PyTorch decoder that maps straight to Surge parameters.

More from The Work

See all 25

Desktop

An App Store for Open-Source AI, No Terminal Required

A Rust and Tauri desktop app that installs and launches 46 open-source AI tools with one click and one shared key.

Open-source AI tools are free but painful to install. FreeAI is a desktop app store that installs 46 of them with one click, streams the logs and launches each one in a terminal, a webview or the background.

Continued on Page B12

Desktop

A Desktop App That Sits Through Lectures With You

Academic Companion turns syllabi, assignment PDFs and recorded lectures into deadlines, summaries and a chat over everything in a class.

A desktop class manager for students. Drop in a syllabus and it pulls out deadlines and exams. Record a lecture and it transcribes and summarizes it. It can run fully local with Ollama or use Groq in the cloud.

Continued on Page B7

Fintech

A Local Llama Audits the Company Spending

A team-built spend auditor where a local Llama 3 model checks employee transactions against company policy and flags risks by level.

SU$PEND lets an auditor pick an employee, pull their transactions and run an AI audit against the company spending policy. A local Llama 3 model does the checking, so financial data stays in-house. I built the audit pipeline and the backend.

Continued on Page B16