floatboatai/OpenMinutes

Productivity & Utilities

Import, transcribe, classify and search MemoTalk S1 recorder audio in one desktop workbench.

106
0
TypeScript
MIT
1 day old

OpenMinutes is an open-source Workbench app for people who record with a MemoTalk S1 voice recorder and want the MP3s turned into searchable, categorized notes. It links importing, transcription, AI classification and review into a single workflow, with an explicit stage for every recording: awaiting download, awaiting transcription, transcribing, awaiting classification, archived or failed project overview README.

What it does

Recordings can enter the library in three ways: scan a directory, register a device file manifest, or download directly over BLE. Transcription decodes audio to 16 kHz mono PCM16 with ffmpeg and streams it through the Host ASR, saving full text plus timestamped segments. The Host LLM then produces structured titles, summaries, categories, tags, key points, action items and importance levels, which remain editable. The library lets you search transcript text, titles and summaries, filter by category, tag or stage, and run transcription or classification in batches README.

A typical session: put recorder audio in the import folder, let the optional automatic transcription and classification run (both default on), then search or open a recording to read the transcript, seek to sentence timestamps during playback, and correct the AI output.

How it works

It runs only inside the Floatboat desktop Workbench runtime, as a package loaded by the Host rather than a standalone Node service. The Host prepares dependencies, builds the app and applies SQLite migrations; ASR and LLM calls go through Host capabilities, so the repository itself contains no model API keys. Type checks and the app build are Host operations, not package scripts README Floatboat.

Requirements and caveats

  • Platform: a desktop Workbench runtime is required; this is not a phone or standalone web app.
  • Transcription: ffmpeg must be present. Without it, transcription is unavailable and the UI says so.
  • BLE download: needs a local Python interpreter, bleak and memotalk-sdk plus a physical S1 device. Install the SDK into the same interpreter the device page shows. If missing, the device page reports "not ready", but directory import still works README memotalk-sdk.
  • Live captions: use fixed PCM parameters and ignore the file-transcription hotword, language and speaker settings; asr_language is currently only saved as metadata and not passed to ASR.
  • Data handling: deletion tries to move audio into a _trash folder under the current library setting, then deletes the database record anyway. If the move fails, there is no restore API, so deleted recordings cannot be recovered through the app. Changing the library directory does not relocate existing files, and export can overwrite a same-named file.
  • Upgrading: removes the old sdk_dir setting while preserving other path, recognition and automation settings.

MIT licensed; SDK integration tests run against a simulated device, so no physical recorder is needed for them license.

Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.