Hi everyone,
I’m experiencing an issue with Voice Notification and TTS voices on my Ignition Gateway.
Environment
- Ignition Gateway: 8.3.6 (b2026042713)
- Voice Notification Module: 7.3.6 (b2026042713)
- TTS Voice Module: en_us_katherine 6.3.0 (b2024112210)
- OS / Runtime:
- Docker container (Linux, x86_64)
- Windows 11 installation
- The issue occurs in both environments with identical behavior.
At Gateway startup, I get the following error:
java.lang.Exception: Failed to initialize voice 'katherine' from 'C:\Program Files\Inductive Automation\Ignition\temp\cere\voices\cerevoice_katherine_6.0.0_48k.voice'. Error code: 0
at com.inductiveautomation.services.tts.cere.CereEngine$CereVoice.init(CereEngine.java:251)
at com.inductiveautomation.services.tts.cere.CereEngine.registerVoice(CereEngine.java:77)
at com.inductiveautomation.services.tts.cere.CereSystem.registerVoice(CereSystem.java:271)
at com.inductiveautomation.services.tts.cere.VoiceModuleHook.serviceReady(VoiceModuleHook.java:96)
at com.inductiveautomation.ignition.gateway.services.ModuleServicesManagerImpl.subscribe(ModuleServicesManagerImpl.java:93)
at com.inductiveautomation.services.tts.cere.VoiceModuleHook.startup(VoiceModuleHook.java:83)
at com.inductiveautomation.ignition.gateway.modules.ModuleInstance.startup(ModuleInstance.java:755)
at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.runStartupPhase(ModuleManagerImpl.java:539)
at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startup(ModuleManagerImpl.java:478)
at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1385)
at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:367)
at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:807)
at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$1(IgnitionGateway.java:720)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:557)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
For sure I'm missing something, any suggestions would be appreciated.
Thanks!
