Bedno.com
Bike Sound Sharing

Notes and links about sharing a synchronized soundtrack between bicycles carrying speakers on group rides.

I've spent many years trying to solve two missing pieces for large group bicycle rides such as those found in Portland OR and other major bicycling cities. One of them is sound sharing, where all bikes carrying speakers can connect to the same synchronized soundtrack or live DJ. When achieved, this makes a group ride an extraordinary moving body of music, and is ideal for rides themed around bands or genres or otherwise having a planned playlist. It can also be used for announcements and speeches before a ride, and most generally as a crowd-sourced event-scale speaker system.

I've seen and tested doing this every way commonly known and they all hit a few main problems: ease of adoption by receiving users, maximum distance between transmitter and receivers (head to tail of a ride), and latencies (time delays between the transmitter and the sound actually coming out of a bike's speaker). So to start with, all implementations require zero latency between the receiver's output and the sound coming out of a speaker. That means speakers with an aux/line input and no digital signal processing delays. Even using Bluetooth to get to a speaker can add a 20th of a second. Although one would think such small delays might be a wash between speakers 100 feet apart, in live use the echo effect can be unsettling and muddling.

Here's the solutions I've owned, tested, or researched, in order of how well they solve the problems of distance, latency, and cost/complexity for the receiving users.
TypeDistanceLatencyPriceChannelsNotes
Appsunlimitedminimalfree*unlimited*Requires phone.
UHF700'none$13950mono
Spotifyunlimitedminimal$15/mounlimitedunreliable/tricky
FM600'-milesnone*$15-50thousands*with good receiver
SKAA~100'none$199/25sometimes built-in
PartyCast~30'200msfree*1*built-in to some speakers
PartyBoost~30'200msfree*1*built-in to some JBL speakers
StreamingUnlimitedextremefree*unlimited*open source
Bluetooth~30'200msfree1common

Apps: A good app could handle buffering and time synchronization with unlimited range, and they are beginning to appear. Spotify does, but not reliably and is ethically tainted. A main practical challenge is getting users to install an app, and outdated or unsupported phones. CycleSync created by a Portland local is an impressive example in beta testing. Uses GPS satellite clocks for exact timing sync, but requires the player uploads MP3 tracks in advance.
CycleSyncOther apps to be reviewed: ListenTogether, AmpMe

UHF stage monitor transceivers: Newest solution deployed in Portland. Over 300 feet reported on rides, park tested to 700 feet before dropouts (though it only advertises 260 feet), fairly insensitive to trees and even buildings. No latency, selectable channels, 902-928MHz range, one transmitter to any number of receivers, make sure to set transmitter to high power. Can potentially daisy chain to successive channels. Not cheap ($139), sold as a transmitter / receiver pair, rechargeable five hour battery, friendly screen with simple controls, adjustable pre-amp at both ends. Primary problem is it's mono (but at least it's wired with tip/ring L/R tied). I've seen a ride use these for in motion sound, then switch to SKAA at end for stereo. Transmitter is best on a stalk with additional antenna, receiver is less critical.
Recommended Parts: Amazon Shopping ListHHL Pro home, Manual

Spotify "Jam" mode: Requires paid Spotify membership by player and all receivers. No latency under ideal conditions, but I have seen receivers experience significant hiccups, delays, and resyncing. Vast existing user base. After beginning play of a playlist, the DJ taps the tiny icon of multiple speakers to get a "Join the Jam" link or QR code to publish or share. Oddly defaults to collaborative mode, so the DJ must then tap additional controls to disable other users' access to volume and navigation.
Spotify: Home, Jam mode instructions

FM radio: A major radio station is an easy source, or a college or Indie station who can put on a ride's soundtrack. But attention must be paid to using analog receivers since modern digital signal processing chip based radios add significant latency. Digital phase locked loop tuning with analog signal chain is a perfect solution but hard to find. Or use all identical cheap modern receiver modules for matching latencies. One can mobile broadcast from a small transmitter (such as those used in churches for the hearing impaired) on an unused frequency, but FCC limits range. Uses 88.5-108MHz, stereo. CB and shortwave may have longer distance but poor audio quality. Technically it may be possible to pursue a license for a mobile station, but fees and legal responsibilities are involved.
Testing a 500mw (max legal power) transmitter on 87.5FM (selected after simple manual search for apparently empty channel), with heavy urban obstruction (trees, houses, fences): With the small antenna it came with (11.5") reached 160 feet before heavy static. With a proper size antenna (28") reached 620 feet before heavy static, but had the phenomenon of static when the receiver was closer than six feet.
Example zero latency receiver: Sangean DT-220A radio (analog but with digital PLL tuning and an aux out jack)
Example transmitter: Generic 500mw (max legal power), Manual.
Frequency Picker: FCC PDX LatLon: 45.52,122.68

SKAA: Excellent system for many use cases. Stereo, wide frequency range, no latency, but only four receivers per transmitter. Distance under 100 feet in real world use (quotes 300 feet line of sight), very sensitive to obstructions, even trees and people. Not cheap, available as wands (pair where either can send or receive), phone dongle, or built into Soundboks, Ryobi and other speakers. Uses 2.4GHz. As with other radio methods, put it on a stalk for best reception.
SKAA Transceivers "Wet Sounds A-Link Plus": Manual, Product Page, SKAA cmd app

PartyCast (unites many speakers) and TWS (pairs left/right): Built into Soundcore and Anker mobile speakers, fairly short range similar to Bluetooth. Note that even if one is directly wired to the primary speaker, using this protocol adds noticeable latency so that the secondary speakers timing matches.
Soundcore Glow speakers: Manual, Product Page, Soundcore app, Instructions

PartyBoost / Connect+: Similar to Partycast, built into some JBL speakers, proprietary.
JBL: Instructions

Streaming Server: Like the online listen function on websites for any radio station, allows any browser to be a receiver. I did extensive testing with custom and commercial server software and found it impossible to synchronize. Trying several phones on the same online stream demonstrates this, even if one hits play at the same moment. The Internet is fundamentally asynchronous and there doesn't seem to be a well supported protocol for live, time accurate audio. Even the best software promises "latency as low as four seconds!"
Server software: RocketCast, ShoutCast, IceCast • Revisit the topic occasionally to check for new developments such as: BeatSync

Bluetooth 5.2+: Reportedly has reduced latency, dramatically increased distance, and multicast! But full implementation of these capabilities are rare. Generally less than 30 feet and 200ms latency for mainstream versions. Uses the crowded 2.4GHz spectrum.
BT: Auracast Intro, 5.3 Transceiver Dongle

Silent disco headphones: Stereo, multi-channel, 915-928MHz, low latency, good distance but not extreme. Impossible to find as electronic modules outside of the actual headphones, which are expensive.
Amazon: Example four user system

Monolithic MP3 and everybody hits play at the same time: Entire multi-hour soundtrack in a single file to prevent inter-track pause differences. Possibly using phones or dedicated media player devices. Compromised mainly by human reflex delays, also player startup time.

Wireless instrument transmitter / receiver pair: No latency. Usually one-to-one.
Amazon: Example cheap 2.4GHz system

MicroControllers: Proprietary protocol using built-in Wi-Fi, low bandwith, under 100 feet.
Example Implementation: Personally developed for ESP32

Infrared: Old-school solution, no latencies, can be done in mono with no ICs. Requires line of site or powerful LEDs and scatter lenses plus lots of reflection.
NerdBait: Example Circuit Diagram



 ↑   MEDIA 
2024.04.16