47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# S.H.O.N.A.R.
|
|
|
|
**S.H.O.N.A.R. — Self-hosted Oral Notes and Audio Recorder (local-only)**
|
|
|
|
Record conversations on your Android phone and keep them in a folder you
|
|
control. No accounts, no servers, no uploads, no telemetry — the app has
|
|
no network permission at all. If you want your recordings on other
|
|
machines, sync the folder yourself (Syncthing, Nextcloud); the app adopts
|
|
files added from outside into its library automatically.
|
|
|
|
- Record with one tap (app, notification, or home-screen widget), pause /
|
|
resume, save with rename, play back with seek + speed.
|
|
- Library lives in a folder on the phone (`Music/Recordings` by default;
|
|
change it in Settings → Library folder);
|
|
rename and delete move together with the audio file.
|
|
- Apache-2.0 licensed.
|
|
|
|
## Repository layout
|
|
|
|
```
|
|
android/ Android app (Kotlin, Jetpack Compose, Material 3)
|
|
docs/ Recording-consent notice
|
|
```
|
|
|
|
## Quick start (Android)
|
|
|
|
Requirements: JDK 17, Android SDK (platform 35). See
|
|
[android/README.md](android/README.md).
|
|
|
|
```bash
|
|
cd android
|
|
./gradlew assembleDebug
|
|
adb install app/build/outputs/apk/debug/app-debug.apk
|
|
```
|
|
|
|
## Development
|
|
|
|
```bash
|
|
cd android && ./gradlew test
|
|
```
|
|
|
|
## Legal notice
|
|
|
|
**You are responsible for complying with recording-consent laws in your
|
|
jurisdiction.** Many jurisdictions require all-party consent to record a
|
|
conversation. S.H.O.N.A.R. shows this notice in-app and never records without
|
|
a visible, persistent recording indicator and an obvious stop control.
|