Capture, transcribe, and index your entire life's audio.
| hardware | ||
| .gitignore | ||
| icon.svg | ||
| README.md | ||
Omoidase (思い出せ)
Total Recall for Your Daily Life.
Omoidase is an open-source hardware and software ecosystem designed to capture, transcribe, and index your entire life's audio. It consists of a wearable, 24/7 recording pendant and a powerful self-hosted Docker server that turns raw audio into a searchable second brain.
Please make sure to ask for consent before recording anyone, or check your local laws regarding single-party consent.
Key Features
Hardware (The Pendant)
- Always-On Recording: Automatically begins recording high-fidelity audio the moment it is disconnected from power.
- Time of Interest (TOI) Marking: A dedicated physical button allows you to bookmark specific moments. Press it to tag the current timestamp for review.
- Privacy First: No cloud processing. All data is stored locally on a MicroSD card.
- Battery Life: ESP32-S3 architecture designed for full-day operation on a single charge.
- USB-C Connectivity: Universal charging and high-speed data transfer.
Software (The Server)
- Auto-Ingest Pipeline: Simply drop your files into the watch folder; Omoidase handles the rest.
- GPU-Accelerated Transcription: Utilizes the largest available Whisper model on your local hardware to generate transcripts.
- Smart Compression: Transcodes massive raw
.wavfiles into storage-efficient, high-quality opus/aac formats for long-term archival. - Deep Search: Full-text fuzzy search across your entire life's timeline. Find exactly what and when anything was said.
- TOI Integration: Instantly jump to your "bookmarked" moments in the web player.
Future Roadmap
- Semantic Search (Vector Embeddings): The fuzziest search. Type in "new API architecture" and find the clip, even if you never used those exact words.
- LLM Integration: A RAG interface allowing you to ask local LLMs questions based solely on your recorded history.
Hardware Specifications
The Omoidase Pendant is a custom 4-layer PCB designed in KiCad.
| Component | Specification | Function | LCSC Part Number |
|---|---|---|---|
| MCU | ESP32-S3-WROOM-1 | Main Processor (Dual Core 240MHz) | C2913201 |
| Microphone | SPH0645LM4H-B | I2S MEMS Microphone (High Dynamic Range) | C19272537 |
| Storage | MicroSD Slot | Local raw audio storage | C5853503 |
| Charging | TP4056 | LiPo Charging | C16581 |
| OC/OD Detect | DW01A | Overcurrent/Overdischarge Detection | C230959 |
| OC/OD Protect | FS8205A | Overcurrent/Overdischarge Protection | C2830320 |
| Regulator | AP2112K-3.3 | Low-Dropout 3.3V Supply | C23380830 |
| ESD | USBLC6-2SC6 | ESD Protection | C2827654 |
| USB-C Port | TYPE-C-31-M-12 | Charging and Data Transfer | C165948 |
(Hardware design files in ./hardware)
Getting Started
1. Hardware Assembly
- Order the PCB using the Gerbers in the latest release.
- Assemble the components (SMD soldering required).
- Flash the firmware located in
./software/firmwareusing esptool or PlatformIO.
2. Server Setup (Docker)
Omoidase is designed to run on a home server (NVIDIA GPU recommended).
docker-compose.yml:
services:
omoidase:
image: code.marvil.co/jorge/omoidase:latest
container_name: omoidase
runtime: nvidia # Optional: Remove if CPU-only
environment:
- PUID=1000
- PGID=1000
- TZ=America/Monterrey
- WHISPER_MODEL=large-v3
volumes:
- ./omoidase/inbox:/app/inbox
- ./omoidase/library:/app/library
- ./omoidase/db:/app/db
ports:
- 6469:6469
restart: unless-stopped
3. The Workflow
- Unplug the pendant. It starts recording. Go about your day.
- Hear something important? Press the TOI Button.
- At night, plug the pendant into your PC.
- Copy the contents of the SD card to your server's
inboxfolder. - Wake up the next morning to fully transcribed, indexed, and compressed audio accessible via the Web UI at
http://your-server:6469.