Global Sonic Pitch adds a separate Sonic pitch control to supported NVDA synthesizers. It changes speech pitch through Sonic audio processing while leaving NVDA's normal native Pitch setting unchanged.
Global Sonic Pitch settings panel.Sonic pitch voice setting while global processing is enabled.-20..+20 semitones.sapi5_32 and sapi4_32 on 64-bit NVDA through bundled 32-bit host wrappers.The add-on does not add a replacement synthesizer to NVDA's synthesizer dialog and does not modify NVDA files on disk.
sapi5_32, or standard sapi4_32.Global Sonic Pitch.Enable global Sonic pitch.Sonic pitch.Sonic pitch value 50 is neutral. Lower values lower speech through Sonic. Higher values raise speech through Sonic.
Enable global Sonic pitch enables or disables Sonic pitch processing.Increase Sonic pitch range to 20 semitones extends the Sonic pitch control from the normal -6..+6 semitone range to approximately -20..+20 semitones.Use better-quality Sonic processing makes Sonic use better-quality pitch processing. It may improve some voices, but can use more CPU. It does not change the pitch range or slider mapping, and the audible difference may be small for clean TTS voices or small pitch changes.Enable debug logging writes detailed add-on entries to the NVDA log.Support the author opens the external support page.The add-on panel only controls global processing and diagnostics. The actual Sonic pitch value is changed from Voice settings, the synth settings ring, or assigned Input Gestures.
When global processing is disabled, the Sonic pitch voice setting is removed from Voice settings and the synth settings ring.
NVDA's normal Pitch setting remains the synthesizer's native pitch. Sonic pitch is an additional processing value owned by this add-on.
If both controls are away from 50, you hear the combined result:
Pitch setting;Sonic pitch.Sonic pitch is stored separately for each supported synthesizer and selected voice. If a synthesizer exposes a meaningful active variant, the variant is also used for the saved value. For example, two voices inside SAPI5, or two variants of the same eSpeak or Google TTS language, can keep different Sonic pitch values.
New voices and variants start at 50 until you change them. Switching back restores the value stored for that voice or variant. Existing saved values without variants are still used as a fallback until you save a variant-specific value.
The Global Sonic Pitch category in Input Gestures contains commands for:
No gestures are assigned by default.
Expected supported paths:
WavePlayer.sapi5_32 on 64-bit NVDA through the bundled 32-bit host wrapper.sapi4_32 on 64-bit NVDA through the bundled 32-bit host wrapper when NVDA's SAPI4 WASAPI audio path is active.Third-party eSpeak-NG SAPI voices must be configured in their own configuration tool before they appear in SAPI5. This add-on does not patch SAPI voice enumeration, does not write registry voice tokens, and does not change the SAPI voice list.
Some synthesizers build their Voice settings dynamically. Global Sonic Pitch preserves the synthesizer's original settings behavior and appends Sonic pitch to the settings currently exposed by the synthesizer. This is used for synthesizers such as Google TTS for NVDA, including its automatic language profile notice mode.
Standard sapi5_32 and sapi4_32 on 64-bit NVDA run in a separate 32-bit synth host. Global Sonic Pitch loads bundled wrappers in that host so the standard NVDA synth can receive the current Sonic pitch value. The same host channel also receives the selected Sonic quality mode.
This keeps the normal NVDA synthesizer entries. It does not add a new synthesizer and does not replace NVDA files. For SAPI4, Sonic processing is available only through NVDA's WASAPI SAPI4 path. If NVDA is configured to use the older SAPI4 MMAudioDest path, that audio bypasses NVDA's WavePlayer and cannot be processed by this add-on.
The Support the author button and the Open support page Input Gesture open:
https://buycoffee.to/kazimierz-parzych
Support is voluntary. The add-on does not process payments, store payment data, or unlock features based on support.
During installation or update, the add-on may show a small optional support prompt. Choosing Yes opens the same page in the default browser. Choosing No continues installation without changing add-on behavior.
If Sonic pitch is not in Voice settings, enable Enable global Sonic pitch, then reopen Voice settings or switch synthesizers.
If changing Sonic pitch has no audible effect, make sure global processing is enabled and the value is not 50.
If switching synthesizers, voices, or variants appears to reset Sonic pitch, set a value for that synthesizer and voice or variant. Values are stored independently.
If standard sapi5_32 or sapi4_32 on 64-bit NVDA does not expose Sonic pitch, restart NVDA or switch away from that synthesizer and back again.
If a third-party SAPI voice is missing, configure it in that voice package's own configuration tool first, then restart NVDA.
Useful log files:
%TEMP%\nvda.log%TEMP%\nvda-old.log%TEMP%\nvda_synthDriverHost.*.logUseful search terms:
globalSonicPitchadded Sonic pitch voice settingcaptured Sonic pitch settingprocessed speech audioapplied remote 32-bit Sonic pitchapplied Sonic qualityglobalSonicPitch sapi5_32 host: set Sonic pitchglobalSonicPitch sapi4_32 host: processed SAPI4 audioGlobal Sonic Pitch source code is licensed under GNU GPL version 2 or later. Bundled Sonic native binaries are Apache 2.0 third-party components.