Repository navigation
Releases: developerakshat12/SyncItBaby
Releases · developerakshat12/SyncItBaby
Release list
v1.1.2 - Spatial Audio & UI Improvements
Changes in 1.1.2
- 4-Channel 8D Spatial Audio System:
- Introduced discrete speaker role assignment (
Front,Back,Left,Right) usingStrictChannelMatrixandSpatialDspEngine. - Built low-latency UDP media transport with
LeaderDomainClockpresentation PTS timestamps. - Added interactive Devices Stage management UI and top-down 3D soundstage preview canvas.
- Added Host-local dual-mono loopback rendering and atomic session teardown policies.
- Introduced discrete speaker role assignment (
- High-Precision Acoustic Sync Trim:
- Upgraded trim resolution to 0.125 ms increments with quick nudge buttons (
-0.125ms/+0.125ms/Reset) and 3-decimal readout precision. - Made the trim card layout responsive with dynamic typography and compact button padding for small screens.
- Upgraded trim resolution to 0.125 ms increments with quick nudge buttons (
- Join Screen Clean-Up:
- Removed the Devices tab from the Join Screen bottom navigation bar to keep channel setup exclusively on the Host.
- Network & Lifecycle Hardening:
- Added per-packet error isolation in the TCP read loop to prevent socket drops on handler exceptions.
- Fixed Android foreground service start-in-time race conditions during rapid playback stop/start cycles.
v1.0.2 - Reduced File size
Got rid of unnecessary permission it asked and reduced the file size
v1.0.0 - Initial Release
SyncItBaby (v1.0.0), a high-performance Android engine designed for real-time, sub-millisecond audio playback synchronization across multiple devices in a local Wi-Fi / Hotspot star topology. (that's what chatgpt wrote I don't claim sub-millisecond but hey it's usable atleast)
Highlights
- Star-Topology Leader/Peer Sync: Seamless local hotspot audio streaming.
-
RFC 5905 & 2-State Kalman Clock Discipline Engine: Continuous clock offset and drift rate tracking (
$\theta, f$ ) with 8-slot minimum-RTT filtering and popcorn jitter rejection. - Native Oboe C++ Audio Engine: Low-latency hardware DAC presentation using lock-free Single-Producer Single-Consumer (SPSC) ring buffers and AAudio MMAP Exclusive Mode.
-
Snapcast Discrete Sample Manipulation: Artifact-free discrete sample insertion/duplication (
$+1 / -1$ samples) eliminating DSP timestretch pitch warping. -
Real-Time Telemetry UI: Jetpack Compose live telemetry monitor displaying phase error (
$\mu\text{s}$ ), frame delta, buffer depth, and drift velocity.
Performance Benchmarks
-
Lock-in Convergence Time:
$< 250\text{ms}$ sub-millisecond synchronization. -
Steady-State Phase Error:
$\pm 0.5\text{ms}$ sustained across multi-device playback. - Audio Codec: Opus 48kHz stereo stream with dynamic jitter buffering.
Key Fixes & Stability Hardening
- Compensated for hardware DAC and Android 10+
AudioPlaybackCaptureHAL input latency anchors (~15.05ms). - Added bounded rolling packet caching with NACK-based loss recovery and late-join handshake deduplication.
Installation & Assets
Download the signed release APK below to test on physical devices:
- File:
app-release.apk(18.06 MB) - Supported Android Versions: Android 7.0+ (API 24 to 36)
v1.0.1 - bug fixes
- Added Acoustic Sync Trim manual slider to Host screen when streaming local files.
- Removed Test Metronome Tone button from Join Screen to prevent calibration loops.
- Updated Join Screen title header to show detailed real-time connection status (Buffering, Authenticating, Connected, Weak Connection, Reconnecting, Disconnected).
- Fixed Audio Capture Service persistence so stopping capture properly releases the media projection resources and clears the active notification.
- Fixed live capture routing bug that blocked audio playback on peers after playing a local file.