quikchaos.com

Ecosystem

A running list of what I am working on. It changes often, it is probably incomplete or out of date in places, and not everything here is public.

quikchaos-labsscience, radio, device, and music‑production tools
QX9open standards and tools for next‑generation 911, built on Veilid
Deadbandthe engine and client for a persistent‑universe space strategy game, and its supporting tools

Disclaimer: All software described here is provided for personal, educational, and non-commercial research use only. These are hobbyist projects - not certified, validated, or approved for any safety-critical, emergency communications, or operational aviation purpose. Nothing on this page, including the NG911, PBX, and health-data compliance work, is fit for real dispatch or real patient data. See Terms of Use.

Science

quik-cycles(Working)

quik-cycles models 22 astronomical, solar, planetary, climate, and Earth cycles as sine waves and scores the years when many of them peak together. A second part applies the same approach to matter, including the periodic table. The interactive visualization and its science guide are on this site.

Audio

quik-fidelity(In progress)

quik-fidelity checks whether an audio file has the quality its format claims or is a low‑bitrate copy in a lossless container. Loudness, clipping, spectral‑cutoff, and bit‑depth checks work. Key, tempo, chord, and song‑structure analysis is optional, and its thresholds are not calibrated yet.

meristem(In progress)

meristem prepares stems, the separated instrument tracks of a mix, for work in FL Studio, which does the audio processing. The tool also measures a finished track's loudness and peaks against streaming services' targets, scaffolds a song manifest, and runs a live clip‑launching set on an APC mini mk2 or an on‑screen pad grid.

Radio

quiktool(Working)

quiktool is a keyboard‑driven terminal dashboard. With an RTL-SDR USB receiver, quiktool tunes FM, decodes HD Radio and time signals, and tracks aircraft and ships. Without a receiver, quiktool shows weather, earthquakes, solar activity, moon phase, and planet positions.

quik-sdr-rs(Working)

quik-sdr-rs is a software radio receiver for RTL-SDR USB dongles. The decoders cover FM and AM broadcast, HD Radio, NOAA Weather Radio alerts, aircraft (ADS-B), and ships (AIS). One program runs the decoder for the chosen mode and outputs audio, data, or status. quiktool uses quik-sdr-rs as its radio backend.

nrsc5-rs(Working)

nrsc5-rs is a Rust port of the FM decode chain in the C nrsc5 project. NRSC-5 is the digital signal many FM and AM stations broadcast beside their analog sound. From raw RTL-SDR samples, nrsc5-rs recovers the audio with its own Rust HDC codec and shows the station name, song title, and artist.

wwv-rs(Working)

wwv-rs decodes the broadcasts of national time stations, such as WWV in the USA and DCF77 in Germany, into a date and time. WWV has been decoded off the air, and WWVB, JJY, DCF77, MSF, BPC, and RBU from recordings made through public KiwiSDR receivers. BPM's code layout is unconfirmed. wwv-rs runs as a command‑line program or as a library.

noaa-wx-rs(Working)

noaa-wx-rs receives NOAA Weather Radio through an RTL-SDR, detects alert tones, and decodes SAME (Specific Area Message Encoding) headers, which carry an alert's type, counties, and expiry time. Alerts can be filtered to one county. A header is reported only when two of its three bursts match exactly, so a weak signal can go unreported.

rtl-sdr-rs(Upstream)

rtl-sdr-rs is a Rust port of the Osmocom C library for RTL-SDR USB receivers, maintained upstream as ccostes/rtl-sdr-rs. Programs use the library to list devices by serial number, tune them, and read raw samples. The USB backend is nusb, and the supported tuners are the R820T and R828D. The radio projects here use the upstream crate.

SDR Signal Roadmap

Planned signal modes for quik-sdr-rs / quiktool beyond the current 16. All receive‑only, legal under FCC Part 15/97.

Wave 1Easy - NBFM/AM/FSK demod, minimal new DSP
ModeStandardFreqModulation
VHF Airband VoiceICAO Annex 10118‑137 MHzAM (DSB)
APRSAX.25144.39 MHzAFSK 1200 baud
ISS APRSAX.25145.825 MHzAFSK 1200 baud
Marine VHF VoiceITU-R M.1084156‑162 MHzNBFM
RailroadAAR160‑162 MHzNBFM
POCSAG PagingITU-R 584929‑932 MHzFSK 512‑2400 baud
Wave 2Medium - new demod chains or protocol decoders
ModeStandardFreqModulation
WSPRWSJT-X0.5‑28 MHz4-FSK
FT8 / FT4WSJT-X3.5‑28 MHz8-GFSK
Meteor-M LRPTCCSDS137 MHzQPSK 72 kbaud
DSC (Maritime)ITU-R M.493156.525 MHzFSK 100 baud
Radiosonde (RS41)WMO No. 8400‑406 MHzGFSK
ISM / rtl_433FCC Part 15433/915 MHzOOK/FSK
ADS-B UATDO-282B978 MHzPPM + FEC
Wave 3Hard - complex protocol stacks
ModeStandardFreqModulation
P25 Phase ITIA-102700/800 MHzC4FM / CQPSK
GOES LRITCGMS1694 MHzBPSK

QX9 (opens in new tab) develops encrypted infrastructure for critical communications, with a focus on next‑generation 911. Protocol documentation and analysis tools are published under open licenses. The projects build on Veilid (opens in new tab), a peer‑to‑peer framework maintained by the Veilid Foundation, and cover naming, telephony, media transport, compliance tooling, and network analysis.

Foundation

veilid(Upstream)

Veilid is an open peer‑to‑peer network maintained by the Veilid Foundation. Each participant runs a node that connects directly to other nodes. Data can be kept private, shared with chosen recipients, or published, and private routes are designed to hide which nodes are talking to each other. The qx- tools build on Veilid, as does the foundation's VeilidChat.

qx-venus(In progress)

VNS, the Venus Name System, pronounced "vee‑enn‑ess" or "Venus," is a naming system separate from DNS. A site's address is derived from its owner's cryptographic key, and only the keyholder can publish to that address. Content is signed by the publisher and kept in Veilid's shared storage, and volunteer nodes called guardians re‑read records to keep sites available. The address format and the publish‑and‑resolve path work. The API is still changing.

QX9 tools

qx-toolkit(Working)

qx-toolkit is a Wireshark plugin that decodes the envelopes Veilid nodes exchange, with primers, glossaries, and wire‑format diagrams. Encrypted message bodies need a node's private key, so without that key the plugin decodes the framing only. Synthetic packet captures serve as the regression suite.

qx-hail(In progress)

qx-hail is a private branch exchange (PBX) in Rust, intended to carry calls over Veilid. Call setup and routing work through a back‑to‑back user agent, with a small softphone and G.711 voice. Voicemail, conferencing, and ring groups are tested libraries that are not connected yet. The NG911 work is partial, and the transport security that standard requires is not built.

qx-sideband(In progress)

qx-sideband is a protocol library for moving media, voice, and files between Veilid identities. Chunking, the content‑addressed store, and the media scanner work: content is split into 256 KB pieces fingerprinted with SHA-256. Transport and streaming are not built, so the library does not move anything over Veilid yet.

qx-aperture(In progress)

qx-aperture is a remote‑desktop gateway over Veilid, following the design of Apache Guacamole, meant to reach a computer's screen and terminal (RDP, VNC, or SSH) from a web browser. The Veilid half works in a self‑test: a broker finds the agent through VNS and moves bytes over a private route. The remote‑desktop half is an echo bridge for now, and SSH, RDP, and VNC bridging are planned.

qx-parallax(Working)

qx-parallax changes the shape of outgoing network traffic. The shipped transport encrypts each packet and pads it by a random amount. Transports that imitate TLS, secure WebSockets, or QUIC are written, but the test suite does not build them. Resistance to deep packet inspection is a design goal and has not been measured.

qx-reel(Working)

qx-reel uses FFmpeg to split a video into scenes and extract thumbnail frames. The output is JSON metadata, MKV chapter marks, and a DaVinci Resolve import script. A planned media server, not built yet, would use this output to index video and address footage by scene over VNS.

qx-rabbit(In progress)

qx-rabbit defines how next‑generation 911 systems could exchange event messages over a shared message bus: event types, routing rules, and audit‑record shapes, in the CloudEvents v1.0 envelope. A conformance tool checks the shape of each event. The bus itself is a convention so far, with no client code.

qx-comply(In progress)

qx-comply defines compliance zones, bounded sets of vetted nodes intended as the only places holding regulated data such as HIPAA health records. The tool tracks the boundary and does not enforce it. qx-comply signs zone membership, keeps a signed, hash‑chained audit log, and checks destruction attestations. A conformance sensor sorts a node's stored values into encrypted and plaintext. The registry and log exist only in memory.

qx-bench(Working)

qx-bench measures distributed hash table (DHT) storage and retrieval, and VNS publishing and resolving, on real Veilid nodes. Runs are local by default, and a run against the public network has to be requested.

qx-forge(Working)

qx-forge holds two command‑line tools. qx-drain reclaims disk space from build leftovers, temporary files, caches, and old logs, with a report and a dry run first. qx-packager builds Linux .deb installers. Windows and Red Hat formats are named but not built.

Deadband is a persistent‑universe space strategy game. The world engine is deterministic, so the same seed regenerates the same universe. The voice, text, music, and language‑model tools around the game run locally.

deadband-world(Working)

Deadband World is the simulation core of the game. The engine models star systems, planets, economies, combat, diplomacy, and alliances in one universe generated from a seed. Terminal and graphical clients are included.

deadband-3d(In progress)

Deadband 3D is a first‑person client for walking through ship interiors, with terminals for cargo, navigation, communications, crafting, and rest, plus NPC dialog and views of space. A Rust GDExtension for Godot gets ship layout, population, and star colors from the deadband-world simulation. An early arena called Convergence is reachable through a developer shortcut.

dh81-telephone(Working)

dh81-telephone tests text‑to‑speech voices. The tool speaks test sentences, optionally adds radio‑like noise, transcribes the result with a speech recognizer, and reports word and character error rates. Voices that pass become spoken characters in the Deadband world.

dh81-talker(Working)

dh81-talker reads Markdown aloud through Piper neural voices at a chosen speed, skipping code blocks and tables. An optional desktop window shows one word at a time in step with the speech (RSVP), with pause, rewind, and seek.

dh81-distiller(In progress)

dh81-distiller shortens text one sentence per pass until each paragraph is a single sentence, then compiles those sentences into a short thesis. Summarization runs offline with ONNX models the user exports. Output is plain text, Markdown, or JSON, and a training pipeline can fine‑tune a custom model.

dh81-oracle(Working)

dh81-oracle answers questions about a folder of code and documents using retrieval‑augmented generation: the program finds relevant passages and gives them to a local language model. Desktop apps for a tabletop‑RPG narrator, a lore editor, and a session runner use the same engine.

dh81-jockey(Working)

dh81-jockey plays local files and internet radio, with optional TIDAL and text‑to‑speech sources. Each source implements one AudioSource interface. The project ships as a command‑line player, an optional graphical app, and a library.