Skip to content

Releases

v1.3.0 — Full stereo audio pipeline

Choose a tag to compare

@Liddo-kun Liddo-kun released this 21 Apr 17:44

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)
  • NoisePlayer runs at 48 kHz with PERFORMANCE_MODE_POWER_SAVING for long-session battery
  • PcmDecoder keeps 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 by openRawResourceFd).

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

Choose a tag to compare

@Liddo-kun Liddo-kun released this 21 Apr 14:27

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.Builder with SPATIALIZATION_BEHAVIOR_NEVER.
  • Mixer now produces interleaved stereo directly.

SleepyTone v1.1.0

Choose a tag to compare

@Liddo-kun Liddo-kun released this 20 Apr 20:19

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