github tgeczy/TGSpeechBox v-180
NVSpeech Player with phoneme editor and NVDA Addon version 1.8

latest releases: v-300b6, v-300b5, v-300b4...
one month ago

Release notes: Voice Profiles (Crystal + bobby) + YAML-selectable voices

This release adds a new Voice Profiles system to NV Speech Player packs. Voices are now defined in phonemes.yaml and can be selected at runtime, letting you ship multiple voice characters without maintaining multiple full phoneme tables.

Highlights

  • New YAML voice profiles
    • Voices are defined in phonemes.yaml under voiceProfiles.
    • Profiles are overlays: one base phoneme table, plus per-voice adjustments.
  • New bundled voices
    • Beth (female)
    • bobby (child)
  • Voice selection everywhere
    • The NVDA driver can select a YAML-defined voice.
    • The Phoneme Editor can select a YAML-defined voice.
  • Better debugging for pack authors
    • Pack load / parse warnings are now recorded and exposed via an API, so it’s easier to see why a profile didn’t load or apply.

How voice profiles work (short version)

A voice profile can apply:

  • class-based scaling (e.g., vowels vs. fricatives) for formants, bandwidths, gain/noise, and voice quality
  • per-phoneme overrides for targeted fixes (absolute values that win for those specific fields)

New profile tuning controls

Profiles now support additional multipliers needed for realistic voices:

  • Pitch contour scaling: voicePitch_mul, endVoicePitch_mul
  • Vibrato scaling: vibratoPitchOffset_mul, vibratoSpeed_mul
  • Voice quality: voiceTurbulenceAmplitude_mul, glottalOpenQuotient_mul

Notes for pack developers

  • Existing packs remain compatible: voiceProfiles is optional.
  • If you define lots of overrides, it usually means your class scales need tuning.
  • For low sample rates, keep an eye on harsh sibilants and overall gain — profiles include tools to roll off the top end and preserve headroom.

Don't miss a new TGSpeechBox release

NewReleases is sending notifications on new releases.