What's new
- Every sound rebuilt from its original recording. Matched loudness across sounds, seamless loops, full-band
quality, and a smaller download. - Levels shift once. Saved volumes and mixes keep their slider positions, so some sounds now play quieter or
louder than before: binaural beats about 20 dB quieter, white noise about 8 dB quieter, brown noise about 5 dB
louder, fire about 4 dB quieter. Adjust once. - Memory: stopping a sound now frees it (memory used to grow with every sound played).
- Train: the 26-second silence in the loop is gone (#70).
- Web: sounds loop without gaps, including in a background tab.
- New sound: Walk on Gravel (the file already shipped; now it has a card).
- Noise colours: brown, pink and white noise are now generated by the build, like green noise, with the same character and loudness.
Sound sources and licences: see ATTRIBUTIONS.md.
Changes in 1.8.0
- 191fbe7 Release 1.8.0
- 8e603d9 Fire at the body level minus 8 dB (-27 LUFS), chosen by ear over -20, -31 and -36 LUFS
- 58e4402 Radio tests: synchronous test output, settle before the dead-URL start
- 61f982c Radio mix test: measure the stream position after the mix has finished starting
- e932bb3 Radio mix test: tolerate the Mixes page's sub-pixel overflow report
- fd6d890 Add Android radio smoke tests against a local stream
- 239309a e2e: show A1b failures and survive a media-session stop
- 144a2d3 web_e2e: say how many sources are still playing when Stop All fails
- a634185 web_e2e: type into text fields with real key events (fill() is lost on Flutter's editing element)
- 8d854e1 Generate brown, pink and white noise in the repository
- a1c6a43 Add a web e2e workflow: built app in headless Chrome, driven by accessible names
- e1d1c8c Add Android integration tests: asset loading, memory release, Stop All, stress
- 9bbd0b5 Add a Walk on Gravel card for the bundled walk-on-gravel.ogg, in all six languages
- 53e7966 Test that every bundled sound file has a card (red: walk-on-gravel.ogg ships without one)
- e0b1b24 Add a prefs upgrade test: v1.7.10 saved data read by current code
- 3eb1b88 android_e2e: keep audio option a (default emulator audio) after the spike; sample the notification grant while the tests run
- d4c588b Android emulator tests: integration_test dev dependency, smoke test, android_e2e workflow (API 34 x86_64, audio-option spike across three variants), analyze integration_test in ci
- d7e5777 CI: print the browser test output when the run fails
- f6868dd CI: run the browser loop tests in headless Chrome on every PR and push to main
- cac835e Web: native looping. One AudioBufferSourceNode per play() with loop=true, loopStart 0, loopEnd = buffer.duration, into the main gain; stop() stops and disconnects it. The timer-driven look-ahead scheduler and its 15 ms crossfade are gone (the baked loops are exact length, so the overlap only skipped 15 ms and dipped about 3 dB at every wrap), and the visibilitychange handler now only resumes a context that is not running. Seam test: error below -60 dBFS, no dip; stop, 20x restart and volume ramps pass
- 6ae3bd1 Web loop tests first: the seam, stop, restart and volume tests render the real WebAudioSeamlessPlayer graph into an OfflineAudioContext; the player takes a BaseAudioContext (withContext constructor for tests, production path unchanged). Seam test fails on the 15 ms-overlap scheduler (max error +5.4 dBFS, dip -9.2 dB), stop/restart/volume pass
- ca5053b Expect q2 for frog and walk-in-snow in the per-sound quality test; fix the office SDR comment
- b6b28e2 Frog and walk-in-snow at Vorbis q2 (the arm64 APK left over 1 MB under the 30 MB cap)
- cb9d4a7 Rewrite ATTRIBUTIONS: Moodist sources with its stated licences, generated binaurals and green noise, build tools
- 60757ac Regenerate all 48 sounds with scripts/sounds: 44.1 kHz Vorbis, -20 LUFS (binaurals -24), seamless loops, synthesised binaurals and green noise; loop points for 8 sounds, fire at body rule -20 dB, typewriter -3 dB
- 654e34d Add CI guard that every bundled sound matches scripts/sounds/levels.json (red on today's assets)
- a251417 State the mono loudness convention in check output
- c738176 Add in-repo sound pipeline: build, check, manifest; remove audio_pipeline.py
- d73ac42 Add sound pipeline tests with stub implementations (red)
- d678b5e Free the SoLoud source when a sound is stopped
- 5ffc1aa Add tests for freeing the SoLoud source on stop (red on previous commit)
- 5516726 Add SoLoud engine seam, load-time log and appIdSuffix Gradle property
- 3dab2fe Fix the 26-second silence in the train loop (#70)
Downloads
| Architecture | File |
|---|---|
| Universal | auraninja-1.8.0.apk |
| arm64-v8a | auraninja-1.8.0-arm64-v8a.apk |
| armeabi-v7a | auraninja-1.8.0-armeabi-v7a.apk |
| x86_64 | auraninja-1.8.0-x86_64.apk |
See checksums.txt for verification.