diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -3,8 +3,10 @@ A minimal Android app that records uncompressed WAV audio and transcribes it on device. -- **Format:** 44.1 kHz, 16-bit, mono, PCM (no compression) +- **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 +- **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 5-digit progressive counter @@ -13,7 +15,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.1.0-alpha +- **Name:** RECCoon · **by** wuhei · **version** 1.2.0-alpha - **Icon:** raccoon with a microphone ## Requirements @@ -35,18 +37,30 @@ 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.1.0-alpha.apk`. +A prebuilt copy is available at `dist/RECCoon-1.2.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`. ## Recording -- `WavRecorder` uses `AudioRecord` (MIC source) to capture 16-bit PCM mono at +- `WavRecorder` uses `AudioRecord` (MIC source) to capture 16-bit PCM at 44100 Hz into a temporary file, then rewrites a correct 44-byte RIFF/WAVE - header when recording stops. + header when recording stops. It uses stereo when available and falls back to + mono, and reports per-channel peak levels to the UI. - `MainActivity` handles the runtime permissions, the timer, and copying the finished file into Downloads. On Android 10+ this uses `MediaStore`; on older versions it writes directly to the public Downloads directory and notifies the media scanner. +## Level meters and silencing + +- `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. + ## Library and player - `RecordingsActivity` lists the `reccoon-*.wav` files in Downloads. |
