# Orpheus Classic Driver

Orpheus Classic is an NVDA 2026 add-on for the older Dolphin Orpheus Build 18 speech runtime. It bundles the required Orpheus files and uses a dedicated 32-bit host process, allowing this old synthesizer to run from 64-bit NVDA.

The add-on appears as Orpheus Classic in NVDA's synthesizer list. It is separate from other Orpheus add-ons, so it can be installed and tested without replacing them.

## Included runtime

The bundled runtime comes from an older SuperNova/Hal-era Orpheus tree. It is smaller and older than the later Orpheus 2.0x beta runtime.

Language | Runtime files included
--- | ---
UK English | `00044.TTS`
US English | `00001.TTS`
Other languages | Dutch, French, Spanish, Italian, Swedish, German, and Mexican Spanish runtime files are included, plus the support files present in the original Build 18 folder.

## Settings

Rate, volume, pitch, language, intonation, voicing, voice source, word pause, and phrase pause are exposed through NVDA's synthesizer settings. Audio is routed through NVDA's configured speech output device. Speech stop, pause, spelling, and Say All are supported through NVDA's normal commands.

Dictionary entries are stored outside `nvda.ini` under:

`%APPDATA%\nvda\orpheusClassic\dictionary.json`

Open NVDA menu, Preferences, Settings, Orpheus Classic to edit dictionary entries, import old Orpheus exception files, export dictionaries, save registry settings to the NVDA profile, or check for updates.

## Dictionary files

The dictionary editor supports JSON dictionaries for full Orpheus Classic compatibility. It can also import and export tab-separated Orpheus text dictionaries for easier sharing with older Orpheus setups.

Format | Use
--- | ---
`.json` | Preferred format. Preserves match type, case sensitivity, and regular expression entries.
`.txt` | Compatibility format for older Orpheus dictionaries. Regular expression entries are skipped on export because the text format cannot represent them.
`.exc` | Legacy Orpheus exception files can be imported from the settings panel.

## Notes

- This add-on is for NVDA 2026 and later.
- The classic runtime is old and may not respond as quickly as newer synthesizers.
- The add-on ships a baseline dictionary so common pronunciation fixes are available on a new install.
- The compatibility patches are limited to startup and add-on-contained runtime loading. They do not alter Orpheus voice data.

## Changes

- 1.0.4:
  - Improves speech interruption after the Classic runtime has been idle, without requiring NVDA to restart.
  - Restores reliable spelling, punctuation handling, and Say All line advancement while preserving complete audio playback.
  - Preserves voice, rate, pitch, volume, intonation, voicing, and pause settings when the Classic host needs to recover.
  - Updates the bundled baseline dictionary with additional pronunciation corrections.
- 1.0.3:
  - Adds the Classic Orpheus voicing control to NVDA's synthesizer settings, with a cleaner default for new installs.
  - Adds the Classic Orpheus voice source control and limits it to the two values supported by the SAM driver.
  - Fixes long single-block speech stopping too early around heavy punctuation by waiting for the SAM runtime to report that speech is actually idle.
- 1.0.2:
  - Routes Classic Orpheus audio through NVDA's configured speech output device instead of the old runtime's default output path.
  - Fixes spelling and Say All completion by trusting the Classic host's final speech marker rather than falling back to estimated completion timing.
  - Improves spelling responsiveness by allowing single-character speech chunks to complete as soon as the Classic runtime has delivered its trailing audio.
  - Removes private host/proxy debug logging so normal use no longer writes `orpheusClassic-audio.log` in the Windows temp folder.
- 1.0.1:
  - Fixes the self-update helper so cleanup cannot delete the staged update folder before the external apply step replaces the running add-on.
- 1.0.0:
  - Initial public build of Orpheus Classic for NVDA 2026.
  - Bundles the old Orpheus Build 18 runtime and a dedicated 32-bit Classic host.
  - Adds NVDA settings for rate, volume, pitch, language, intonation, word pause, and phrase pause.
  - Adds an Orpheus Classic settings panel with dictionary editing, legacy exception import, dictionary import/export, update checks, and profile-backed registry settings.
  - Includes updated UK and US English language files from the later Orpheus language update package.
  - Adds timing guards so Say All is not allowed to race through long text immediately after speech starts.

## Source code

The source archive for this add-on and its 32-bit host is available from onj.me/nvda/orpheusClassic-source.zip.