Show HN: Deterministic state machine to sonify trading volatility

https://liquidityfm.org

I built this because existing market sonification tools usually just map price to pitch, resulting more noise than music. I wanted a system that translated market sentiment into music that I would actually want to listen to in the background while I work.

THE LOGIC (State Machine)

Instead of raw pitch mapping, I built a deterministic state machine that normalizes live data into 60 distinct audio permutations based on three vectors:

1. Sentiment: Candle color streaks (Doom -> Euphoric)

2. Energy: Momentum/Volatility (Still -> Explosive)

3. Texture: Volume vs 20 MA (Sparse -> Chaotic)

If the market enters a "Doom / Explosive / Chaotic" state, the engine triggers heavy distortion and minor keys. If it flips to "Euphoric / Still," it crossfades into ambient major pads.

THE ENGINEERING

Consensus Engine: Websockets from Kraken, Binance, and OKX to form an aggregated price and filter out "scam wicks". I specifically chose crypto feeds because they offer continuous high-volume stream instead of closing at 4pm but it could really be based on anything.

Audio Pipeline: Two-stage agentic workflow (Generation -> Critique) to create lyrics and style, which are then generated in Suno. To ensure zero latency and to reduce costs, I pre-generated a library of ~500 tracks mapped to the 60 state permutations. The app handles the crossfading between these states in real-time.

Stack: Next.js, CCXT (socket normalization), and Cloudflare R2.

THE "TIME MACHINE"

The part that I actually enjoy the most are the historical playlists. E.g. you can load the FTX crash (https://liquidityfm.org/replay/ftx-collapse-2022) or the Post-Covid rally candle-by-candle to hear what panic or euphoria actually sounds like. I'm also oddly proud of the CRT mode although tbh I rarely run with it.

It is free to use, no signup required. Let me know if you have any questions or suggestions for improvement!

1 points | by internintern 1 hour ago

0 comments