Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WireSong

CI GitHub Pages License: MIT

Your network traffic, as a generative soundscape.

▶ Live demo · Quickstart · Cultural packs · Deploy

WireSong streaming a replay: piano roll, packet feed, network graph and spectrum

A Rust backend captures packets, quantizes them onto a pentatonic scale so any traffic sounds harmonious, and streams them to a browser that synthesizes each packet as an instrument voice. A port scan cuts through as a distinct four-note alarm with a red flash — sonification as alerting, not just another dashboard.

Quickstart

Zero setup — bundled 60-second replay (no root, no backend):

cd player && npm install && npm run dev

Open the URL, hit ▶ Try Live Demo. Or try the hosted copy above.

Live capture (capture/ needs libpcap/Npcap + privileges):

cd capture && cargo run -- --interface <name>
cd player && npm run dev   # Connect → 🔊 Enable Audio

No-privilege traffic — offline pcap or synthetic stream:

cd capture && cargo run -- --pcap samples/dns-mdns.pcap
cd capture && cargo run -- --synthetic --rate 20

How it works

packets → classify → port-scan detector → mapper (ambient.toml) → WebSocket → Tone.js voices

capture/instruments/ambient.toml is the single source of truth for pitch/velocity/duration; frontend packs change timbre only. IPs are masked in the UI and stripped from every export. Details: docs/DESIGN.md.

Cultural packs

Six timbres, switchable mid-stream — four stock synths plus folk packs with raga scales, season calendars, and a drum layer:

Cultural pack picker with community-review badges

Pack Sound
Ambient · Chiptune · Orchestral · Ensemble stock synth timbres (Ambient is default)
Axom (Bihu) অসম (বিহু) dotora, toka, taal, baanhi, gogona, xutuli, pepa + dhol roll, Sa-Pa drone
Punjab (Bhangra) ਪੰਜਾਬ (ਭੰਗੜਾ) dhol, tumbi, algoza, chimta, harmonium + Baisakhi calendar
Festival calendar with Assamese-script labels

Folk packs are community-reviewed placeholders (badged in the UI) carrying folk/festival/secular material only — no ritual or devotional content, no shipped recordings yet (self-recorded or CC0 only). Add yours: copy player/src/packs/axom/, map 8 events, open a PR. Full schema: docs/CULTURAL_PACKS.md. Punjabi/Assamese musician feedback welcome.

Share & deploy

  • ⬆ Share Page exports a standalone HTML file (audio + piano roll, no IPs) — see it in the demo via ● Record.
  • Backend → Render: blueprint ready in render.yaml, not yet deployed — exact steps in DEPLOY.md (~2 min).

Project structure

capture/   Rust: pcap capture, classify, port-scan detect, map, WebSocket
player/    React 19 + TS + Vite + Tone.js (packs · ragas · rhythm · festivals)
docs/      DESIGN.md · CULTURAL_PACKS.md · screenshots

Contributing

PRs welcome — run cargo test (capture/) and npm test (player/) first. MIT licensed.

About

Live network traffic turned into a real-time generative soundscape — packet-level sonification with port-scan alerts as audible alarms

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages