PlanRecorder

Fork d’AudioRecorder (v2.5) pour prendre des notes audio classées par événement de calendrier (DAVx⁵ / calendrier Android).
📸 Aperçu
| Enregistrement | Réglages |
|---|---|
![]() |
![]() |
📖 À propos
Fork d’AudioRecorder (v2.5) pour prendre des notes audio classées par événement de calendrier (DAVx⁵ / calendrier Android).
| Application ID | com.planrecorder (debug : com.planrecorder.debug) |
| Licence | Apache 2.0 (base AudioRecorder) |
| Icône | Lucide mic-signal (ISC) — merci à Lucide |
✨ Fonctionnalités
- Événement en cours via
CalendarContractau démarrage de l’enregistrement - Calendrier source configurable (ou tous les calendriers)
- Patterns dossier / fichier avec balises cliquables (
[id],[ue], date/heure…) - Export SAF vers un dossier racine choisi une fois
- Opus + préréglage Filtrer pour les voix
- Réduction de bruit IA (DPDFNet baseline) optionnelle, 16 kHz mono (exclusive du filtre voix)
- Identifiants personnalisés (
UE:1+,MATH:3…) + liste des IDs déjà vus - AGC live et normalisation à l’export (options)
- Widget « session en cours » et rappel X min avant le créneau
- Marqueurs pendant l’enregistrement → fichier Markdown style Obsidian
[[fichier.opus#t=508|08:28]] debut de session
🧠 Matching intelligent des dossiers
Si le pattern produit UE581 session croquette mais qu’existe déjà UE581 session croquette et tech, PlanRecorder réutilise le dossier existant (et l’inverse), tant que l’identifiant correspond.
❓ Sans événement / ambiguïté
- suggestions parmi les dossiers ID déjà présents + IDs mémorisés
- préremplissage possible, modifiable dans le dialogue de fin
🏷 Balises de pattern
| Tag | Signification |
|---|---|
[calendar] |
Nom affiché de l’agenda |
[title] |
Titre complet |
[title_rest] |
Titre sans le préfixe identifiant |
[id] / [ue] |
Identifiant extrait (UE323, …) |
[NN] / [nn] |
Numéro de séance (01… / 1…) |
[dd] [mm] [yy] [yyyy] |
Date |
[HH] [MM] [SS] |
Heure ([MM] = minutes, [mm] = mois) |
Defaults : dossier [calendar]/[id] [title_rest] · fichier [NN]-T[HH][MM][SS]-[dd][mm][yy]-[id]
🛠 Build / install
./gradlew :app:assembleDebugConfigDebug
adb install -r app/build/outputs/apk/debugConfig/debug/app-debugConfig-debug.apk
▶️ Première utilisation
- Settings → PlanRecorder
- Choisir le dossier d’export (SAF)
- Choisir le calendrier (ex. DAVx⁵)
- Ajuster patterns / règles d’identifiant
- Optionnel : Filtrer pour les voix ou réduction de bruit IA (DPDFNet), AGC, normalisation, rappel
- Accorder Calendrier (+ notifications pour les rappels)
- Enregistrer pendant un événement, valider le dialogue de fin
📦 Publier sur un nouveau dépôt GitHub
# 1. Créer le dépôt (compte GitHub connecté via gh)
gh repo create PlanRecorder --public --source=. --remote=origin --description "Calendar-aware audio notes for sessions (fork of AudioRecorder)"
# 2. Pousser la branche
git push -u origin HEAD
# Ou, si origin existe déjà :
# git remote add origin https://github.com/<toi>/PlanRecorder.git
# git push -u origin HEAD
Garder l’upstream AudioRecorder pour les merges :
git remote add upstream https://github.com/Dimowner/AudioRecorder.git # si besoin
git fetch upstream
git merge upstream/master
Les packages Java restent com.dimowner.audiorecorder… pour faciliter les merges ; seul l’applicationId / le libellé sont PlanRecorder.
🙏 Crédits
- AudioRecorder — Dmytro Ponomarenko (Apache 2.0)
- DPDFNet / Ceva-IP models — réduction de bruit live (Apache 2.0) ; détails dans THIRD_PARTY_NOTICES.md
- Icône mic-signal — Lucide Icons (ISC)
🌐 Liens
📸 Vorschau
| Aufnahme | Einstellungen |
|---|---|
![]() |
![]() |
📖 Über
Fork von AudioRecorder (v2.5) für kalenderbezogene Audionotizen (DAVx⁵ / Android-Kalender).
| Application ID | com.planrecorder (Debug: com.planrecorder.debug) |
| Lizenz | Apache 2.0 (Basis AudioRecorder) |
| Icon | Lucide mic-signal (ISC) — Danke Lucide |
✨ Funktionen
- Aktuelles Kalenderereignis via
CalendarContractbeim Start der Aufnahme - Konfigurierbarer Quellkalender (oder alle Kalender)
- Konfigurierbare Ordner-/Datei-Patterns mit antippbaren Tags (
[id],[ue], Datum/Uhrzeit…) - SAF-Export in einen einmal gewählten Wurzelordner
- Opus + Voreinstellung Filter for voices
- Optionale KI-Rauschunterdrückung (DPDFNet baseline), 16 kHz mono (ausschließlich zum Sprachfilter)
- Benutzerdefinierte Identifikatoren (
UE:1+,MATH:3…) + Liste bereits gesehener IDs - Optionale Live-AGC und Normalisierung beim Export
- Widget „aktuelle Sitzung“ und Erinnerung X Min. vor dem Termin
- Marker während der Aufnahme → Markdown im Obsidian-Stil
[[datei.opus#t=508|08:28]] sitzungsbeginn
🧠 Intelligentes Ordner-Matching
Wenn das Pattern UE581 session croquette ergibt, aber bereits UE581 session croquette et tech existiert, verwendet PlanRecorder den bestehenden Ordner erneut (und umgekehrt), solange die Kennung übereinstimmt.
❓ Kein Ereignis / Mehrdeutigkeit
- Vorschläge aus vorhandenen ID-Ordnern + gemerkten IDs
- Vorausfüllung im Abschlussdialog editierbar
🏷 Pattern-Tags
| Tag | Bedeutung |
|---|---|
[calendar] |
Anzeigename des Kalenders |
[title] |
Vollständiger Ereignistitel |
[title_rest] |
Titel ohne Identifikator-Präfix |
[id] / [ue] |
Extrahierte ID (UE323, …) |
[NN] / [nn] |
Sitzungsnummer (01… / 1…) |
[dd] [mm] [yy] [yyyy] |
Datum |
[HH] [MM] [SS] |
Uhrzeit ([MM] = Minuten, [mm] = Monat) |
Standards: Ordner [calendar]/[id] [title_rest] · Datei [NN]-T[HH][MM][SS]-[dd][mm][yy]-[id]
🛠 Build / Installation
./gradlew :app:assembleDebugConfigDebug
adb install -r app/build/outputs/apk/debugConfig/debug/app-debugConfig-debug.apk
▶️ Erste Einrichtung
- Settings → PlanRecorder
- Exportordner wählen (SAF)
- Kalender wählen (z. B. DAVx⁵)
- Patterns / Identifikatorregeln anpassen
- Optional: Filter for voices oder KI-Rauschunterdrückung (DPDFNet), AGC, Normalisierung, Erinnerung
- Kalender freigeben (+ Benachrichtigungen für Erinnerungen)
- Während eines Ereignisses aufnehmen, Abschlussdialog bestätigen
📦 In ein neues GitHub-Repository veröffentlichen
# 1. Repository erstellen (GitHub-Konto via gh verbunden)
gh repo create PlanRecorder --public --source=. --remote=origin --description "Calendar-aware audio notes for sessions (fork of AudioRecorder)"
# 2. Branch pushen
git push -u origin HEAD
# Oder, falls origin bereits existiert:
# git remote add origin https://github.com/<du>/PlanRecorder.git
# git push -u origin HEAD
Upstream AudioRecorder für Merges behalten:
git remote add upstream https://github.com/Dimowner/AudioRecorder.git # falls nötig
git fetch upstream
git merge upstream/master
Java-Packages bleiben com.dimowner.audiorecorder…, um Merges zu erleichtern; nur applicationId / App-Label sind PlanRecorder.
🙏 Credits
- AudioRecorder — Dmytro Ponomarenko (Apache 2.0)
- DPDFNet / Ceva-IP models — Live-Rauschunterdrückung (Apache 2.0); Details in THIRD_PARTY_NOTICES.md
- Icon mic-signal — Lucide Icons (ISC)
🌐 Links
📸 Preview
| Recording | Settings |
|---|---|
![]() |
![]() |
📖 About
Fork of AudioRecorder (v2.5) for calendar-aware session notes (DAVx⁵ / Android calendar).
| Application ID | com.planrecorder (debug: com.planrecorder.debug) |
| License | Apache 2.0 (based on AudioRecorder) |
| Icon | Lucide mic-signal (ISC) — thanks Lucide |
✨ Features
- Active calendar event lookup via
CalendarContractwhen recording starts - Source calendar filter (or all calendars)
- Configurable folder / file patterns with tappable tags (
[id],[ue], date/time…) - SAF export to a one-time chosen root folder
- Opus + Filter for voices preset
- Optional AI noise reduction (DPDFNet baseline), 16 kHz mono (exclusive with the voice filter)
- Custom identifiers (
UE:1+,MATH:3…) + remembered ID list - Optional live AGC and normalization on export
- Current-session widget and reminder X minutes before the slot
- Markers while recording → Obsidian-style Markdown
[[file.opus#t=508|08:28]] start of session
🧠 Smart folder matching
If the pattern yields UE581 session croquette but UE581 session croquette and tech already exists under the SAF root, PlanRecorder reuses the existing folder (and the reverse), as long as the identifier matches.
❓ No event / ambiguity
- suggestions from existing ID folders + remembered IDs
- prefill is editable in the end-of-recording dialog
🏷 Pattern tags
| Tag | Meaning |
|---|---|
[calendar] |
Calendar display name |
[title] |
Full event title |
[title_rest] |
Title without identifier prefix |
[id] / [ue] |
Extracted id (UE323, …) |
[NN] / [nn] |
Session number (01… / 1…) |
[dd] [mm] [yy] [yyyy] |
Date |
[HH] [MM] [SS] |
Time ([MM] = minutes, [mm] = month) |
Defaults: folder [calendar]/[id] [title_rest] · file [NN]-T[HH][MM][SS]-[dd][mm][yy]-[id]
🛠 Build / install
./gradlew :app:assembleDebugConfigDebug
adb install -r app/build/outputs/apk/debugConfig/debug/app-debugConfig-debug.apk
▶️ First-time setup
- Settings → PlanRecorder
- Pick the export folder (SAF)
- Pick the calendar (e.g. DAVx⁵)
- Adjust patterns / identifier rules
- Optional: Filter for voices or AI noise reduction (DPDFNet), AGC, normalize, reminder
- Grant Calendar (+ notifications for reminders)
- Record during an event, confirm the save dialog
📦 Publish to a new GitHub repository
# 1. Create the repository (GitHub account connected via gh)
gh repo create PlanRecorder --public --source=. --remote=origin --description "Calendar-aware audio notes for sessions (fork of AudioRecorder)"
# 2. Push the branch
git push -u origin HEAD
# Or, if origin already exists:
# git remote add origin https://github.com/<you>/PlanRecorder.git
# git push -u origin HEAD
Keep upstream AudioRecorder for merges:
git remote add upstream https://github.com/Dimowner/AudioRecorder.git # if needed
git fetch upstream
git merge upstream/master
Java packages stay com.dimowner.audiorecorder… to ease merges; only applicationId / app label are PlanRecorder.
🙏 Credits
- AudioRecorder — Dmytro Ponomarenko (Apache 2.0)
- DPDFNet / Ceva-IP models — live noise reduction (Apache 2.0); details in THIRD_PARTY_NOTICES.md
- Icon mic-signal — Lucide Icons (ISC)
🌐 Links
📸 Vista previa
| Grabación | Ajustes |
|---|---|
![]() |
![]() |
📖 Acerca de
Fork de AudioRecorder (v2.5) para tomar notas de audio clasificadas por evento de calendario (DAVx⁵ / calendario Android).
| Application ID | com.planrecorder (debug: com.planrecorder.debug) |
| Licencia | Apache 2.0 (base AudioRecorder) |
| Icono | Lucide mic-signal (ISC) — gracias Lucide |
✨ Funciones
- Evento en curso vía
CalendarContractal iniciar la grabación - Calendario de origen configurable (o todos los calendarios)
- Patrones de carpeta / archivo con etiquetas pulsables (
[id],[ue], fecha/hora…) - Exportación SAF a una carpeta raíz elegida una vez
- Opus + preajuste Filter for voices
- Reducción de ruido IA (DPDFNet baseline) opcional, 16 kHz mono (excluyente del filtro de voz)
- Identificadores personalizados (
UE:1+,MATH:3…) + lista de IDs ya vistos - AGC en vivo y normalización en la exportación (opciones)
- Widget «sesión en curso» y recordatorio X min antes del hueco
- Marcadores durante la grabación → Markdown estilo Obsidian
[[archivo.opus#t=508|08:28]] inicio de sesión
🧠 Emparejamiento inteligente de carpetas
Si el patrón produce UE581 session croquette pero ya existe UE581 session croquette et tech, PlanRecorder reutiliza la carpeta existente (y a la inversa), mientras el identificador coincida.
❓ Sin evento / ambigüedad
- sugerencias entre carpetas ID ya presentes + IDs memorizados
- prerellenado editable en el diálogo final
🏷 Etiquetas de patrón
| Tag | Significado |
|---|---|
[calendar] |
Nombre mostrado de la agenda |
[title] |
Título completo |
[title_rest] |
Título sin el prefijo identificador |
[id] / [ue] |
Identificador extraído (UE323, …) |
[NN] / [nn] |
Número de sesión (01… / 1…) |
[dd] [mm] [yy] [yyyy] |
Fecha |
[HH] [MM] [SS] |
Hora ([MM] = minutos, [mm] = mes) |
Valores por defecto: carpeta [calendar]/[id] [title_rest] · archivo [NN]-T[HH][MM][SS]-[dd][mm][yy]-[id]
🛠 Build / instalación
./gradlew :app:assembleDebugConfigDebug
adb install -r app/build/outputs/apk/debugConfig/debug/app-debugConfig-debug.apk
▶️ Primera utilización
- Settings → PlanRecorder
- Elegir la carpeta de exportación (SAF)
- Elegir el calendario (p. ej. DAVx⁵)
- Ajustar patrones / reglas de identificador
- Opcional: Filter for voices o reducción de ruido IA (DPDFNet), AGC, normalización, recordatorio
- Conceder Calendario (+ notificaciones para recordatorios)
- Grabar durante un evento, validar el diálogo final
📦 Publicar en un nuevo repositorio GitHub
# 1. Crear el repositorio (cuenta GitHub conectada vía gh)
gh repo create PlanRecorder --public --source=. --remote=origin --description "Calendar-aware audio notes for sessions (fork of AudioRecorder)"
# 2. Empujar la rama
git push -u origin HEAD
# O, si origin ya existe:
# git remote add origin https://github.com/<tu>/PlanRecorder.git
# git push -u origin HEAD
Mantener el upstream AudioRecorder para los merges:
git remote add upstream https://github.com/Dimowner/AudioRecorder.git # si hace falta
git fetch upstream
git merge upstream/master
Los paquetes Java siguen siendo com.dimowner.audiorecorder… para facilitar los merges; solo el applicationId / la etiqueta son PlanRecorder.
🙏 Créditos
- AudioRecorder — Dmytro Ponomarenko (Apache 2.0)
- DPDFNet / Ceva-IP models — reducción de ruido en vivo (Apache 2.0); detalles en THIRD_PARTY_NOTICES.md
- Icono mic-signal — Lucide Icons (ISC)


