★ Případová studie
Android
2024 · 4 týdny
SoundSleep
Zvuky pro spánek, které se nikdy neopakují. Déšť, oceán i šum města — generované, ne ze smyčky.
Problém
Většina spánkových appek hraje krátké smyčky, jejichž šev mozek po chvíli pozná a zbystří se. Chtěl jsem zvuky generované za běhu, takže nikdy nejsou dvakrát stejné, a aby to nesnědlo baterku přes noc.
Řešení
- Procedurální syntéza zvuku (filtrovaný šum a vrstvy) místo nahrávek
- Mixér vrstev — déšť, hrom, vítr, oceán s vlastní hlasitostí
- Časovač s pozvolným ztišením a chytrý budík v lehké fázi spánku
- Přehrávání na pozadí s minimální spotřebou, funguje při zhasnuté obrazovce
- Žádné reklamy uprostřed noci, žádné účty
Výsledek
Lidé píší, že po letech smyček konečně neslyší ten otravný skok na konci nahrávky. Rodiče appku používají na uspávání dětí.
Stack
Kotlin
Oboe (C++ audio)
Procedural DSP
MediaSession
Foreground Service