audio-studio
| .kimi | ||
| app | ||
| gradle/wrapper | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
Audio Studio
Premium pocket recording app for Android. It records real 48 kHz, 16-bit, mono PCM WAV takes using the device microphone, writes them through a crash-safe partial-to-finalized pipeline, and plays finalized library takes. It is the canonical capture surface for edenAudio vocals and Raven Writer narration.
- Package / application ID:
com.tmwrath.audiostudio - Stack: Kotlin 2.1.10, Jetpack Compose (BOM 2024.12.01, Material 3), AGP 8.7.3, Gradle 8.14.3
- SDK: min 26, target/compile 35
Current behavior
- Recorder: real microphone capture at the fixed 48 kHz / 16-bit PCM / mono WAV contract, with monotonic elapsed time and a foreground service while recording.
- Library: stores finalized takes and supports real Play, Pause, and Stop against the take's WAV file. Partial, unfinalized, and trashed takes cannot play.
- Recovery: active recording data is written as a partial capture and finalized safely, allowing recovery after interruption.
- Cleanup and Settings: cleanup controls remain presentation/state work; they do not claim to run DSP or alter the recorder's fixed capture contract.
Build & test
./gradlew :app:testDebugUnitTest # JVM unit tests (state machine + formatting)
./gradlew :app:assembleDebug # debug APK
On this ARM64 build box, JDK and aapt2 routing come from the machine-level
~/.gradle/gradle.properties (Java 21, box64-wrapped aapt2 matching AGP 8.7.3).
Design reference
Visual language (near-black canvas, charcoal rounded panels with hairline
outlines, large light screen titles, pill chips with bright selection rings,
restrained teal/blue accents) follows the reference screenshots in
.claude/review/ui-reference/ (untracked).