summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTom Cooks <tommasogagliardi+github@gmail.com>2026-09-24 14:16:46 -0400
committerTom Cooks <tommasogagliardi+github@gmail.com>2026-09-24 14:16:46 -0400
commit68402ebbdacfc95e40bd856caa8c4cb83bef8342 (patch)
treef08147f73013d79ad9eae09515f7f18e06f25134 /README.md
parent2aa5e790a1ec4d74204d4ae3643508b0ac6b0aa4 (diff)
downloadreccoon-68402ebbdacfc95e40bd856caa8c4cb83bef8342.tar.gz
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)
Diffstat (limited to 'README.md')
-rw-r--r--README.md26
1 files changed, 18 insertions, 8 deletions
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