Sync your old iPhones at millisecond accuracy. Apple Music, Spotify, your own library — all supported. Local files get studio-grade <5ms drift.
Rivals drift
200ms+.
The human ear hears 20ms.
When two audio sources drift more than 20 milliseconds apart, the brain reads it as echo or comb filtering. The signal richness collapses, everything sounds wet.
AmpMe and similar apps use acoustic matching; typical drift 200-500ms. Choir runs NTP-style UDP time sync targeting {'<'} 5ms.
Drifting vs
in sync.
Tap one of the two buttons below. "Drifting" — the standard drift of the rivals; "In sync" — what Choir holds. The same pad plays on two channels, one through your left speaker, the other through your right. Measure the gap with your own ears.
Speakers with distinct L/R channels make this clearer. On Bluetooth headphones the gap is immediately obvious.
Three modes. Honest roadmap.
Amplify
All devices play the same full-band signal. Sample-accurate sync, total sound pressure scales proportionally. Behaves like one concert speaker.
Free tier 2 devices, Pro tier 32 devices. Practical ceiling is your WiFi router capacity. Use: picnic, house party, small concert, cafe loop. The flattest mode, direct showcase of the sync theory.
Stereo
Devices get L/R channels assigned. Real stereo imaging where one phone stays mono.
Frequency band
Bass / mid / treble split across devices. DSP crossover, phase-preserved.
v1.2 and beyond is on the roadmap, not in MVP. Roadmap = intent, not a promise. v2.0 spatial/surround, v2.1 Android, v2.2 Spotify Cast (sync disabled, why?).
Where?
From 8 phones
to 32 devices.
Choir isn't locked to one scenario. It scales with device count, adapts to context. Here's where it fits in the real world.
Street talk
Two people in the park. One phone in your left ear, one in your right. Real stereo, no Bluetooth speaker needed.
Beach night
8 friends' old iPhones placed around the blanket. They behave like one concert speaker. Sample-accurate sync; no cacophony, no comb filtering.
Mini festival
Backyard party, 30 people, 16 devices spread around. Bass dense on one side, treble bright on the other. Total sound pressure already past a single speaker.
Cafe loop system
Cafe owner buried 32 old demo iPhones under the counter. Same playlist all day, no Spotify Connect mess. $79/yr — a quarter of a Spotify Family plan.
Pro tier tested to 32 devices. Practical ceiling is your WiFi router capacity; v1.3 brings hierarchical sync for 50+. The architecture isn't fundamentally capped.
Use honesty
as a marketing
weapon.
Rivals promise everything, deliver nothing. We promise less, deliver all of it. Below: 4 honest decisions — reasons and consequences.
- 01
No <5ms on Spotify.
DRMSpotify Connect works, Apple Music Sing works. But DRM physically blocks sample-buffer access — <5ms requires local files. Two modes in the app, clearly labeled: Stream Mode ~300ms (AmpMe-class), Tight Sync <5ms (studio-grade).
You pay Spotify Premium yourself; we take nothing from it. Choir's subscription pays only for the sync engine.
- 02
No Android.
HALOEM audio HAL variance destroys the calibration profile. With five thousand Android models we can't honor sample-accurate sync.
Phase 5 (v2.1). Prove on iOS first, then Oboe-based Android port.
- 03
No account / no sign-up.
P2PP2P flow. No server, no account. Anonymous device UUID is enough.
Pro receipt validation only via Apple App Store receipt; cloud account database never.
- 04
Fair subscription.
$79/yr$7.99/mo, $79/yr. A quarter of AmpMe, half of Roon, a third of Spotify Family. No hidden fees, price never rises — annual locks you in.
30-day free annual trial, cancel anytime in one tap. Beta supporters lock Founder Pricing $63.99/yr, forever at that price.
Sync drift telemetry.
Phase 0a sample data. Real TestFlight measurements will update here. The numbers are mock, the format is real.
| t (s) | offset | skew | rtt | conf |
|---|---|---|---|---|
| 30 | +3.21ms | -12.4ppm | 4.8ms | HIGH |
| 60 | +3.18ms | -12.6ppm | 5.1ms | HIGH |
| 90 | +3.24ms | -12.5ppm | 4.9ms | HIGH |
| 120 | +3.19ms | -12.6ppm | 5.0ms | HIGH |
| 150 | +3.22ms | -12.5ppm | 5.2ms | HIGH |
| ... | ... | ... | ... | ... |
- NTP-style UDP, 250ms ping interval, 20-sample rolling window
- Lowest-RTT-10 linear fit (offset + skew)
- 2s refresh; chunked playback (drift correction)
- Round-robin self-loopback (cross-device underdetermined)
- Swept sine 10ms (200Hz → 8kHz), cross-correlation peak
- Symmetry assumption: input ≈ output latency
- Three separate offsets: clock_offset, output_latency, ToF
- T_local = master_to_local(T_master) − output_latency_self
Codex code-reviewed sync engine. Open source, MIT.
Pick by distance. Same sync, different scale.
Same sync engine, two transports for your use case. Devices in one room? AirDrop-style P2P. Larger venue? WiFi-wide. One pick, the right physics.
AirDrop-like, no router needed.
Devices discover each other over AWDL P2P. No infrastructure. Fewer hops, tighter sync.
- Studio: 4 phones as true L/R/Mid/Side reference
- Living room: 3 devices fill the space
- Mobile set: pull out of the bag, connect instantly, no code
One router, wide coverage.
Every device on the same wireless network joins the session. Up to 32; venue size is bound by the router.
- Event: 12 phones cover a 200 m² space
- Venue: office, store, restaurant background
- Party: guests link every phone in the room
Both modes share the same sync core: three-offset model (clock + output latency + ToF), swept-sine cross-correlation calibration, 2-second refresh. Only the transport differs. Free tier can try both modes; the cap stays at 2 devices.
Choir, AmpMe,
SoundSeeder
and the rest.
Most categories are trade-offs. AmpMe supports more platforms but doesn't keep its sync promise (200ms+ typical). SoundSeeder honestly plays local files but iOS is weak. Bose is locked to its speakers. Choir deliberately stays iPhone-only: niche but keeps its word.
| Feature | Choir | AmpMe | SoundSeeder | Bose Connect | Apple Audio Sharing |
|---|---|---|---|---|---|
| Sync quality | < 5ms (local) · ~300ms (stream) | 200-500ms | 50-150ms | < 5ms (hardware) | < 5ms (hardware) |
| Device type | iPhone only | iOS + Android | Android + weak iOS | Bose speakers only | Apple devices only |
| Music source | Local + Apple Music + Spotify + YouTube | Spotify, YouTube, SoundCloud | Local file only | App music sources | Apple Music + other |
| Price | $79/yr ($64 beta) · $7.99/mo | $22/mo = $264/yr | $5 one-time | Hardware included | OS built-in |
| Account required | No | Yes | No | No | Apple ID |
| Open source | Yes (sync engine) | No | No | No | No |
| Device limit | Free 2 · Pro 32 | 100+ claim | Limited | 100+ | 2 headphones |
Choir
- Sync quality
- < 5ms (local) · ~300ms (stream)
- Device type
- iPhone only
- Music source
- Local + Apple Music + Spotify + YouTube
- Price
- $79/yr ($64 beta) · $7.99/mo
- Account required
- No
- Open source
- Yes (sync engine)
- Device limit
- Free 2 · Pro 32
AmpMe
- Sync quality
- 200-500ms
- Device type
- iOS + Android
- Music source
- Spotify, YouTube, SoundCloud
- Price
- $22/mo = $264/yr
- Account required
- Yes
- Open source
- No
- Device limit
- 100+ claim
SoundSeeder
- Sync quality
- 50-150ms
- Device type
- Android + weak iOS
- Music source
- Local file only
- Price
- $5 one-time
- Account required
- No
- Open source
- No
- Device limit
- Limited
Bose Connect
- Sync quality
- < 5ms (hardware)
- Device type
- Bose speakers only
- Music source
- App music sources
- Price
- Hardware included
- Account required
- No
- Open source
- No
- Device limit
- 100+
Apple Audio Sharing
- Sync quality
- < 5ms (hardware)
- Device type
- Apple devices only
- Music source
- Apple Music + other
- Price
- OS built-in
- Account required
- Apple ID
- Open source
- No
- Device limit
- 2 headphones
Who Choir is NOT for: Android owners, Spotify-centric users, anyone wanting many more devices (10+). For that, Sonos or a brand ecosystem makes more sense.
AmpMe Premium $22/mo
Choir $79/yr.
Who saves how much? Slide the years, see your own number. Choir's subscription is a quarter of AmpMe.
Source: AmpMe Premium App Store price (2026). Choir Pro $79.99/yr annual subscription. 30-day free trial, cancel anytime. Beta supporters lock in Founder Pricing $63.99/yr forever.
Roadmap,
open and votable.
Intent, not promise. Beta members can vote on priority. Mock numbers for now; real voting after Phase 0 GO.
- v1.0planned
MVP launch (September 2026)
- Amplify mode (full-band, 2-32 devices)
- Stereo mode (L/R, 2 devices)
- NTP-style UDP sync (< 5ms target)
- Stream Mode: Apple Music + Spotify Connect (~300ms)
- Session Flow: auto-advance + crossfade
- $79.99/yr annual + $7.99/mo monthly subscription
- v1.1planned0votes
Karaoke Mode (November 2026)
- Apple Music Sing integration
- LRC files for lyrics teleprompter
- Multi-phone vocal routing (singer + backing)
- Mic capture → backing phones over Bonjour
- v1.2planned47votes
Frequency band
- DSP crossover (bass / mid / treble split)
- Phase-preserved split across 3-4 devices
- Concert-style arrangement
- v1.3planned31votes
Hierarchical sync
- 50+ device support (UDP multicast)
- Master-relay-slave topology
- Large-event mode (festival, venue)
- v2.0research22votes
Spatial / surround
- Beyond stereo: 3D scene
- HRTF-aware device placement
- Dynamic mix based on listener position
- v2.1research18votes
Android port
- Oboe-based low-latency audio
- HAL profile database
- Cross-platform session
- v2.2future9votes
Spotify Cast Mode
- Spotify Connect orchestration
- Sync promise disabled (DRM constraint)
- Separate, labeled mode in UI
Roadmap = intent, not promise. Order or timing may shift; each release evaluated together.
Answers to
the 10 things
you'd ask first.
More in the full FAQ or related pages. Still can't find it? hello@choir.fm.
TestFlight beta
soon.
We'll take 50-100 testers. Sending invites once Phase 0 sync measurements are done. No spam, just the invite email. Beta supporters lock in Founder Pricing: $63.99/yr forever, never rises to the normal $79.99.
Hard requirements: iOS 16+, at least 2 devices, same WiFi. Founder Pricing $63.99/yr × first 30 days free.