Skip to content

Configurable registry values

gexgd0419 edited this page Aug 15, 2024 · 2 revisions

Following are all configurable registry values used by this program, documented for reference. Some of them can be changed via the installer UI, others cannot (yet) but can be changed with the registry editor.

These registry values might be changed or removed in future versions. Also, some of the features below are "experimental", so you should only change a value when you are sure what can happen.

Values marked as "Boolean" types can be either true (any non-zero value), or false (zero). Boolean values default to false (zero), unless otherwise stated.

Values in HKEY_CURRENT_USER\Software\NaturalVoiceSAPIAdapter

Value Name Type Description
LogLevel REG_DWORD Sets the log level. Logs below this level will be ignored. 0: Trace; 1: Debug; 2: Info (default); 3: Warning; 4: Error; 5: Critical; 6: Off. Note that logs in Trace and Debug levels may contain personal information.
LogFlushLevel REG_DWORD Flushes the log file when a log at or above this level appears. Default is 3 (Warning).
LogFlushInterval REG_DWORD Flushes the log file at specific intervals (milliseconds). Default is 0 (disabled).
LogFile REG_SZ Overwrites the default path for the log file (%LOCALAPPDATA%\NaturalVoiceSAPIAdapter\log.#.txt).
EnableWebsocketppLogs REG_DWORD (boolean) Enables Websocketpp logs. Disabled by default.
LogToConsole REG_DWORD (boolean) Opens a console window to display the logs. Note that this might break some applications.
EnableCrashDump REG_DWORD (boolean) Catches unhandled exception and generate a mini dump file when an unhandled exception occurs. The dump file will be in %LOCALAPPDATA%\NaturalVoiceSAPIAdapter\minidump.dmp.
CrashDumpType REG_DWORD What kinds of information will be included in the dump file (the DumpType parameter of MiniDumpWriteDump). Default is MiniDumpWithIndirectlyReferencedMemory MiniDumpWithDataSegs MiniDumpFilterModulePaths.
ForceEnableAzureSpeechSDK REG_DWORD (boolean) Forces the Azure Speech SDK (and related features such as local Narrator voices) to be enabled on unsupported systems (earlier than Windows 7).
UseAzureSpeechSDKForAzureVoices REG_DWORD (boolean) Uses the Azure Speech SDK, instead of the implementation in this engine, when using an Azure voice.

Values in HKEY_CURRENT_USER\Software\NaturalVoiceSAPIAdapter\Enumerator

Value Name Type Description
Disable REG_DWORD (boolean) Disables the enumerator. Nothing will be enumerated.
NoNarratorVoices REG_DWORD (boolean) Disables local Narrator voices, including installed voices and voices in NarratorVoicePath.
NarratorVoicePath REG_SZ The path to a folder whose subfolders contain unzipped Narrator voice models. Defaults to <this program's folder>\NarratorVoices.
NoEdgeVoices REG_DWORD (boolean) Disables Microsoft Edge online voices.
NoAzureVoices REG_DWORD (boolean) Disables Azure voices. You should also have AzureVoiceKey and AzureVoiceRegion to enable Azure voices.
EdgeVoiceAllLanguages REG_DWORD (boolean) Whether to include all supported languages for online (Edge & Azure) voices.
EdgeVoiceLanguages REG_MULTI_SZ The list of the included languages for online (Edge & Azure) voices, separated into substrings. Uses IETF BCP 47 language tags, e.g. en-US for American English, en for all English accents/dialects. Defaults to the user's preferred/display languages when EdgeVoiceAllLanguages is false.
AzureVoiceKey REG_SZ An API key for accessing the Azure Speech service, in clear text.
AzureVoiceRegion REG_SZ The region for AzureVoiceKey.
EdgeVoicesOverrideAzureVoices REG_DWORD (boolean) When there are an Edge voice and an Azure voice with the same name (e.g. Jenny), the Azure voice will be hidden from the list.
DefaultErrorMode REG_DWORD Defaulted to 0. When set to 2, a message box will be shown when an error occurs. By default, errors will be written to the log, and reported to the client application if possible.
LanguageForUnknownLocales REG_SZ The language ID(s) provided to SAPI for voices in language without a language ID. For example, jv-ID (Javanese, Indonesia) and su-ID (Sundanese, Indonesia) do not have language IDs even on Windows 11, but SAPI requires each voice to have a language ID. By default, voices in those languages will be disabled. If you want to use them, you can set LanguageForUnknownLocales to a hexadecimal string (without 0x prefix) of a language ID, such as 409 to pretend that the voices are American English voices. This may work or not, depending on the client application.