proomt

Search

Search posts, papers, and topics

All posts

ArkencyMaciej Korsan7 min readintermediate

TERAZ - live collective ambient experience made with Rails & Tone.js

Summary

TERAZ is a live ambient music piece where each audience member's phone plays a locally generated instrument via Tone.js, coordinated by a Rails Action Cable server that only sends lightweight control messages. The author shares practical lessons about mobile audio quirks, device heterogeneity, and scaling the system to dozens of phones.

  • Use Rails Action Cable + Hotwire to broadcast minimal control data (track activation, volume) instead of streaming audio.
  • Generate sound on each device with Tone.js; reserve pre‑loaded samples (e.g., piano) for CPU‑heavy instruments.
  • A silent MP3 loop can keep the JavaScript audio context alive on mobile browsers, though it may introduce artifacts.
  • Android phones often lack low‑frequency output; monitor device OS and reassign instruments (e.g., move bass off Android).

Engineers building real‑time, collaborative web experiences on heterogeneous mobile devices will benefit from the practical scaling and audio‑handling lessons.

6/10

Related reading

  1. Negativland, Culture Jamming, and the Art of Making Something New

    Negativland is a long‑running experimental sound collage collective that coined “culture jamming” and has built a niche audience through DIY releases, legal battles over sampling, and a massive archive of their freeform radio show. Their recent live show at the Internet Archive highlights remote collaboration and ongoing preservation efforts, but the piece offers no technical insight for software…

    Hacker News front pagearchive.org4 minHN12340
  2. Gemini Live audio

    Simon Willison shows a minimal JavaScript UI that talks to Google’s Gemini 3.8 Live speech‑to‑speech models via a WebSocket API, using the Web Audio API for capture/playback and no external libraries.

    Simon Willisonsimonwillison.net1 min
  3. webaudio fingerprinting on alibaba

    Firefox made WebAudio output deterministic in v118, collapsing most variance to three CPU‑dependent buckets (x86 without FMA, x86/x64 with FMA, ARM NEON). Telemetry shows 99.24% of users fall into these buckets; a long tail of 23 distinct values affects <0.1% of users. Ongoing bugs aim to merge the remaining buckets. Alibaba’s fingerprint script was extracted (two SHA‑256 hashes) and shown to be…

    Mozilla Automation Teamritter.vg3 min
  4. Zing-0.5: Toward Playable Worlds with Real-Time Joint Action and Text Control

    Zing‑0.5 is a 5 B autoregressive world model that lets users control generated environments in real time using both keyboard actions and text prompts. The paper introduces unified action‑text conditioning, segment‑level teacher distillation, and a low‑cost streaming inference pipeline that runs at 24 FPS (832×480) for about $0.009 per minute, achieving 81 % overall and 88.5 % consistency on a nav…

    Hugging Face Daily Papersarxiv.org1 minpaper
  5. SQLite Across Every Port: One Contract, One Encrypted File Format

    Codename One now ships a single, tested SQLite contract that works natively on Android, iOS, Windows, Linux, and in browsers via WebAssembly, with built‑in SQLCipher‑4 encryption supporting three key models. A conformance suite guarantees identical behavior across platforms, and migration helpers let legacy apps opt‑in. The update also adds a proper watch‑app model, DOM‑based text for JavaScript,…

    CodeName Onecodenameone.com11 min
  6. On-Demand Masked Sessions with Twilio Proxy, Voice and Serverless

    A step‑by‑step tutorial showing how to build a Just‑in‑Time masked‑call workflow with Twilio Voice, Proxy, and Sync, using a two‑bounce out‑of‑session pattern to collect a tracking code via IVR, resolve the counterpart’s number, stash it in Sync, and auto‑create a Proxy session on the fly—all deployed as Twilio Serverless Functions.

    Twiliotwilio.com18 min