From 68402ebbdacfc95e40bd856caa8c4cb83bef8342 Mon Sep 17 00:00:00 2001 From: Tom Cooks Date: Thu, 24 Sep 2026 14:16:46 -0400 Subject: Add mono switch, live waveform, and WAV cue markers (1.3.0-alpha) - WavRecorder: optional mono, waveform envelope, cue/adtl marker chunks - WaveformView: scrolling waveform with red clipped columns - Marker + MarkerStore; Mark button with label dialog - PlayerActivity: marker chips that seek; shared seekTo - InsetsHelper: keep UI clear of status bar/notch and nav bar - Bump to 1.3.0-alpha (versionCode 4) --- README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 5aba434..17bf0a0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ on device. - **Format:** 44.1 kHz, 16-bit PCM (stereo when the device supports it), no compression - **Controls:** one big round button — tap to start recording (timer starts), tap again to stop and save -- **Meters:** live left/right peak level meters with a clip indicator while recording +- **Meters:** live scrolling waveform plus left/right peak level meters with a clip indicator while recording +- **Mono switch:** optionally record a single channel (half the file size) +- **Markers:** place labelled cue points while recording; they are embedded in the WAV (`cue ` + `LIST/adtl`) and shown in the player - **Silence:** optional Do Not Disturb total silence (no notifications, no vibration) while recording - **Saving:** the WAV is written to the public **Downloads** folder as `reccoon-YYYY-MM-DD-HHMMSS-XXXXX.wav`, where `XXXXX` is a persistent @@ -15,7 +17,7 @@ on device. - **Transcription:** on-device, offline speech recognition with [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) using multilingual Whisper — works with **English and Italian** -- **Name:** RECCoon · **by** wuhei · **version** 1.2.0-alpha +- **Name:** RECCoon · **by** wuhei · **version** 1.3.0-alpha - **Icon:** raccoon with a microphone ## Requirements @@ -37,7 +39,7 @@ Outputs: - `app/build/outputs/apk/debug/app-debug.apk` - `app/build/outputs/apk/release/app-release.apk` -A prebuilt copy is available at `dist/RECCoon-1.2.0-alpha.apk`. Note that the +A prebuilt copy is available at `dist/RECCoon-1.3.0-alpha.apk`. Note that the sherpa-onnx AAR in `app/libs/` and the APK in `dist/` are **not** tracked in git because they are large; see `TODO.md`. @@ -52,14 +54,22 @@ git because they are large; see `TODO.md`. older versions it writes directly to the public Downloads directory and notifies the media scanner. -## Level meters and silencing +## Waveform, meters and markers - `LevelMeterView` draws a two-channel peak meter (dBFS scale) with a decaying peak hold and a red `CLIP` warning when a sample reaches full scale. -- The **Silence notifications & vibrations while recording** checkbox switches - the phone to Do Not Disturb total silence while recording and restores the - previous setting on stop. It needs the `ACCESS_NOTIFICATION_POLICY` - permission, which the user grants in system settings when first enabled. +- `WaveformView` draws a scrolling min/max waveform of the left/mono channel; + clipped columns are drawn in red. +- The **Mark** button (enabled while recording) adds a labelled cue point at the + current position. Markers are written into the WAV as standard `cue ` and + `LIST/adtl` chunks (readable by Audacity/Reaper) by `WavRecorder`, and also + stored as a JSON sidecar by `MarkerStore`. `PlayerActivity` shows them as + chips that seek the player when tapped. +- The **Mono** checkbox records a single channel instead of stereo. +- The **Silence alerts** checkbox switches the phone to Do Not Disturb total + silence while recording and restores the previous setting on stop. It needs + the `ACCESS_NOTIFICATION_POLICY` permission, granted in system settings when + first enabled. ## Library and player -- cgit v1.2.3