audio-studio
Find a file
2026-08-05 14:34:20 -04:00
.kimi chore: bulk commit all pending changes 2026-08-05 14:34:20 -04:00
app chore: bulk commit all pending changes 2026-08-05 14:34:20 -04:00
gradle/wrapper feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
.gitignore feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
build.gradle.kts feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
gradle.properties feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
gradlew feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
gradlew.bat feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
README.md feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00
settings.gradle.kts feat: add real WAV recording and playback 2026-08-01 09:43:24 -04:00

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).