Releases: saimlau/rhapsode
Release list
Rhapsode 0.3.3 — settings pane
Rhapsode now has its own page in Zotero's settings, so connecting to a hosted server no longer means hand-creating preferences in the Config Editor.
Zotero → Settings → Rhapsode
- Hosted server — the address of a Rhapsode running elsewhere, and a
user:passwordsign-in if it asks for one. Leave the address empty to use a local server, which stays the default. - Local server — the folder you cloned Rhapsode into, so the plugin can start the server itself, plus the port.
Each field shows the shape it expects as a hint rather than as a value, so nothing is sent anywhere until you type it.
Also fixes extensions.rhapsode.repo having no declared default, which made the settings field show the literal text undefined until it was set.
Everything from 0.3.2 (remote server support, multipart upload) is included. Existing installs update automatically.
Rhapsode 0.3.2 — remote server support
The Zotero plugin can now talk to a hosted Rhapsode instead of a local one.
Remote mode. Set two prefs in Zotero's Config Editor:
extensions.rhapsode.server_url— e.g.https://rhapsode.example.comextensions.rhapsode.server_auth—user:passwordif the server requires a login
Leave server_url empty to keep using a local server on localhost:7717, exactly as before. Both prefs now ship with empty defaults, so they are visible in the Config Editor rather than needing to be created by hand.
Fixes
- Uploads to a remote server work from the collection and single-item actions. The plugin builds its multipart body by hand: Zotero's bootstrap runs in a privileged context with no DOM, where
FormDatais undefined and the previous code threw. dev-install.shremoves a released XPI carrying the same plugin id before linking the development build, so the two no longer conflict.- Cross-platform launch fixes from 0.3.1 carried forward.
Install: Zotero → Tools → Plugins → gear → Install Plugin From File. Existing installs update automatically.
Rhapsode 0.3.1 — Windows/macOS compatibility pass
Cross-platform groundwork (experimental on Windows/macOS — testers welcome):
- Browser opening uses Python's
webbrowser(was Linux-onlyxdg-open) rhapsode.batlauncher for Windows; the Zotero plugin picks the right launcher per OS- Apple-Silicon MPS synthesis with graceful CPU fallback
- POSIX guards on encoder detachment and idle-exit signaling
- GROBID autostart is skipped on Windows with a clear message (heuristic extraction takes over; WSL/Docker GROBID supported via
[grobid] url)
Zotero plugin 0.3.1 (auto-updates from 0.3.0 installs).
Rhapsode 0.3.0 — first public release
First public release of Rhapsode (Read-along Highlighted Audio for PaperS On-Device Engine): turn research-paper PDFs into narrated audio with synchronized sentence highlighting.
- GROBID-based scholarly extraction (references/captions/affiliations skipped, two-column reading order) with a heuristic fallback
- Local Kokoro-82M neural TTS with native per-word timestamps — or bring your own Modal account (
modal_app.py) for GPU-less machines - Read-along viewer on the actual PDF pages: sentence highlight, auto-scroll, section-segmented timeline, selectable text layer
- Library web app with drag-drop, playlists, resume positions, auto-advance
- Zotero plugin (
rhapsode.xpibelow): right-click any item or collection → listen inside Zotero; collections become playlists - Speech Dispatcher integration: Kokoro as a system voice
See the README for setup (Python venv + GROBID + ffmpeg).