Skip to content

Releases: saimlau/rhapsode

Rhapsode 0.3.3 — settings pane

Choose a tag to compare

@saimlau saimlau released this 21 Jul 02:11

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:password sign-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

Choose a tag to compare

@saimlau saimlau released this 21 Jul 01:02

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.com
  • extensions.rhapsode.server_auth — user:password if 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 FormData is undefined and the previous code threw.
  • dev-install.sh removes 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

Choose a tag to compare

@saimlau saimlau released this 16 Jul 19:11

Cross-platform groundwork (experimental on Windows/macOS — testers welcome):

  • Browser opening uses Python's webbrowser (was Linux-only xdg-open)
  • rhapsode.bat launcher 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

Choose a tag to compare

@saimlau saimlau released this 16 Jul 18:44

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.xpi below): 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).