Repository navigation
Releases
Releases · Liddo-kun/SleepyTone
v1.3.0 — Full stereo audio pipeline
Full stereo audio pipeline — 48 kHz, POWER_SAVING, stereo FLACs
SleepyTone 1.3.0 refactors the audio pipeline end-to-end for native stereo. Previously every ambient recording was downmixed to mono in the decoder and then duplicated to both channels at the output — throwing away the real stereo field in the source recordings. Now crickets, rain, thunders, ocean, creek, and every other ambient sound play back with their original stereo imaging intact.
Audio pipeline
- Ambient sources re-encoded as stereo 48 kHz FLAC (was mono 44.1 kHz OGG Vorbis)
NoisePlayerruns at 48 kHz withPERFORMANCE_MODE_POWER_SAVINGfor long-session batteryPcmDecoderkeeps interleaved stereo end-to-end; duplicates L = R only for genuinely-mono sources. Resampler is now per-channel.- All six noise generators output stereo interleaved. White / pink / blue / violet use decorrelated L/R streams for a more spacious sound; brown and green stay centered L = R as a tonal anchor. Pink has independent 16-row Voss–McCartney state per channel.
- Mixer accumulator is stereo; mono → stereo duplication step removed.
- High-pass filter runs as two instances with independent L/R state via a new stride-aware
Biquad.processInterleaved. - Brown LPF coefficient retuned for 48 kHz (0.9917 / 0.0083) to preserve its ~63 Hz corner.
androidResources { noCompress += "flac" }so raw FLACs are stored uncompressed in the APK (required byopenRawResourceFd).
Preserved from v1.2.0
- Samsung speaker-DSP pumping fix via
USAGE_ALARM - 0.8× master gain, 40 Hz high-pass, 0.5× white noise scale
APK ~48 MB.
v1.2.0 — Samsung speaker-DSP fix
Fixes
- Audio pumping on Samsung phone speakers — multi-sound mixing triggered Samsung''s per-band speaker-protection DSP (heard as a "graphic-EQ-preset switching on and off" effect). Routed around by tagging playback as
USAGE_ALARM. Bluetooth and wired output were unaffected.
Notes
- Hardware volume buttons control alarm volume while the app is playing.
- Audio plays through Do Not Disturb (appropriate for a sleep app).
- Added in-app safety: 0.8x master gain, 40 Hz high-pass to protect driver, white noise level normalized to match ambient loops.
Tech
- Migrated to
AudioTrack.BuilderwithSPATIALIZATION_BEHAVIOR_NEVER. - Mixer now produces interleaved stereo directly.
SleepyTone v1.1.0
First release as SleepyTone.
- 25 mixable sounds (6 noise generators + 19 ambient loops)
- Dark UI with per-source icons and volume control
- Single AudioTrack mixing for glitch-free layering
- Decoded PCM cached to disk for instant startup
- Sleep timer up to 8 hours
- Background playback via foreground service