mirror of
https://github.com/blackajiro/Resonance.git
synced 2026-07-22 06:51:15 +00:00
No description
| scripts | ||
| .gitignore | ||
| AutoDetect.ts | ||
| DependencyChecker.ts | ||
| DeviceScanner.ts | ||
| HelpModal.ts | ||
| LibraryModal.ts | ||
| LICENSE | ||
| main.ts | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| prompts.ts | ||
| README.md | ||
| RecorderService.ts | ||
| RecordingModal.ts | ||
| settings.ts | ||
| SetupWizard.ts | ||
| styles.css | ||
| tsconfig.json | ||
| vite.config.ts | ||
Resonance
Record → Transcribe → Summarize → Create note.
A local‑first recording & meeting notes workflow for Obsidian.
What it does
Resonance captures audio with FFmpeg, transcribes it locally using whisper.cpp, summarizes the transcript with Google Gemini, and creates a Markdown note in your vault — all from Obsidian.
Features
- 🎙️ Record microphone and optionally system audio (depends on OS setup)
- 🧠 Local transcription via whisper.cpp
- ✨ AI summary via Google Gemini
- ⏱️ Status‑bar timer and ribbon shortcuts
- 📚 Library to review, play, download or delete recordings/transcripts
Requirements
- Obsidian Desktop ≥ 1.5
- FFmpeg installed locally
- whisper.cpp built locally (binary and model .bin)
- Google Gemini API Key (for summaries)
Installation
User install from release:
- Download the zip containing
manifest.json,main.js,styles.css. - Create
<YourVault>/.obsidian/plugins/resonance/. - Copy the three files there and enable the plugin in Obsidian.
From source (developers):
npm install
npm run dev # watch build
npm run build # production build (outputs to dist/)
Artifacts are emitted to dist/.
Usage
- Click the microphone icon in the ribbon to start/stop. Pick a scenario when prompted.
- Watch the timer in the status bar.
- When finished, a note named
Meeting YYYY-MM-DD HH-mm.mdis created in your selected folder. - Open the Library (audio file icon) to browse, listen, download or delete recordings and transcripts.
Settings
- FFmpeg: executable path; backend (auto/dshow/avfoundation/pulse/alsa); device scan; 3‑second test.
- Whisper: repo path, whisper‑cli path, model picker or auto‑download; transcription language (auto or ISO code).
- LLM: Gemini API Key and model.
- Obsidian: output folder for generated notes.
- Recording: audio quality and library settings.
How it works (overview)
- FFmpeg writes an
.mp3to<vault>/.obsidian/plugins/resonance/recordings/ - whisper.cpp transcribes locally and writes a
.txttranscript - Gemini summarizes the transcript
- Resonance creates a Markdown note in your chosen folder
Privacy
- Audio never leaves your machine.
- Only the text transcript is sent to Gemini for summarization.
- The API Key is stored locally in your vault.
Troubleshooting
- “Incomplete configuration”: set FFmpeg path, whisper main, model, and API key.
- No audio: verify backend/device; use Scan and the 3‑second Test.
- Empty transcription: check the
.mp3file and the model path. - Gemini error: verify API key and selected model.
Contributing
Issues and PRs are welcome. If you’d like to help with docs or UX, please open an issue to coordinate.
Built with Vite. This plugin is desktop‑only.