You are browsing as a guest. Sign up (or log in) to start making projects!

Tone Graph

  • 3 Devlogs
  • 5 Total hours

Tone Graph is a nodebased audio effects app that lets you route any audio source through virtual effect pedals

Ship #1 Changes requested

Tone Graph is a small Windows app that routes one app’s audio through a node graph. You pick an input app, wire effects in the middle, pick an output device, hit Run. The sound goes: app → (optional FX) → your speakers/headphones.
Nodes include Input/Output, Gain, EQ, Compressor, Limiter, Gate, Pan, High-pass, Low-pass, Waveform, and Split/Merge L/R so you can treat left and right separately.
Windows does not give you a clean public API to say “take Chrome’s audio and send it through my program.” Tone Graph works around that with VB-Audio Virtual Cable:
1. Park the target app onto the virtual cable (change its output device to CABLE Input).
2. Capture from the cable.
3. Run the FX chain.
4. Play the result to the real output device you chose.
5. On stop, move the app back and unmute.
The painful part is step 1. Per-app output routing uses undocumented WinRT / AudioSes COM (`AudioPolicyConfig` and friends) — reverse-engineered IIDs, not a supported API. Device moves are async and racey, so the code waits and sometimes double-applies restore. Cable detection is basically name matching (“CABLE”, “VB-Audio”), which is brittle. If the app crashes or you kill it, Windows keeps the parked device so the app stays on the cable until you fix it in Sound settings / the mixer.

  • 3 devlogs
  • 5h
Try project → See source code →
Open comments for this post

1h 37m 52s logged

I added more nodes to Tone Graph.Compressor, Limiter, and Gate for dynamics. High-pass and Low-pass for filtering. Pan for left/right balance. Waveform so you can see the signal on the graph.Also Split L/R and Merge L/R. Split breaks stereo into left and right chains, you put different effects on each side, Merge puts them back together. So you can treat the channels separately instead of only processing the whole stereo stream the same way.

0
0
6
Open comments for this post

1h 42m 24s logged

Tone Graph lists apps that are making sound and available audio outputs, then lets you pick a service and a destination device. Start routes that app’s audio to the chosen output (via WASAPI process loopback, with VB-Cable when needed so speakers stay clear). Stop restores the app’s previous default device when you close or stop cleanly. A live waveform shows the routed signal in real time. Refresh updates the service and output lists. The UI is a dark Win32 window with brand header, two lists, Start/Stop, and status text. When a source is selected, a small now-playing panel appears with cover, title, and artist from Windows SMTC; otherwise the graph keeps the full width.

0
0
2

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…