Contact UsContact Us

Fixing Problems with Speech

How to fix problems with speech in ClaroRead (and also often ClaroRead not starting)

Symptoms

  • “It’s not reading anything any more!”

  • “I press Play and everything flashes really quickly in Word but no speech”

  • “I’ve installed a new piece of software and now ClaroRead will not work”

  • "Some of the voices work, and some don't!"

  • "ClaroRead will not start, I just get the splash screen then it closes!" 

Diagnosis

  • Make sure you can hear non-speech sound – go to YouTube or something and play something. If you can’t get your computer to make any sound, then you have to fix your sound first.

  • Open File Explorer. Navigate to the C:\Windows\SysWOW64\Speech\SpeechUX folder, then double-click sapi.cpl. If this does not open the "Speech Properties" window, or you get an error message, go to Cure Number 1 first. 

    • You can also download and run our Speech Control Panel program to open the "Speech Properties" window if that is easier.

  • If "Speech Properties" does appear, switch to one of the Microsoft voices (for example, Zira, Anna, or Hazel). Click the Preview button. If no sound is produced, or an error message results, try Cure Number 2 first.

  • If a Microsoft voice works, but some or all of the Claro voices (e.g. Vocalizer Daniel) do not speak, then go to Cure Number 3.



Cure 1: Re-register sapi.dll

Use one of the following sets of instructions to re-register sapi.dll manually: you must be an administrator.

Option 1.1: not using the command line (using the mouse)

  1. Open Windows Explorer and navigate to “C:\Windows\SysWOW64\Speech\Common”.

  2. Right-click on sapi.dll, and select Open With from the drop-down menu, then select “Choose Program…” from the second menu.
    Windows folder showing the open with... option
     

  3. This will open the Open With dialog. Click the Browse button.
    Open With... menu

  4. Navigate to “C:\Windows\SysWOW64\regsvr32.exe”.
    Open With... explorer window with regsvr32.exe highlighted

  5. Click OK and you should see “Microsoft (C) Register Server” as the selected program. Click OK.
    Open With... menu with Microsoft(C) Register Server highlighted

  6. You may have to OK a User Access Control (UAC) prompt.

  7. You should see this message (or something very similar): “DLLRegisterServer in C:\Windows\SysWOW64\Speech\Common\sapi.dll succeeded.”
    ResSvr32 dialogue box showing succeeded message

Option 1.2: using the command-line

  1. Click on the Start button and type “command”. This will bring up “Command prompt” as one of the Programs you can run.
    Vista start menu showing Command Prompt highlighted

  2. Right-click with the mouse on “Command prompt” to bring up the context menu. Select (left-click) the option “Run as Administrator”.
    Context menu showing Run as administrator highlighted

  3. You may have to OK a User Access Control (UAC) prompt. Confirm that you want to run ‘Command prompt’ as an administrator.

  4. You must now type a sequence of commands followed by the return key. Enter this line, pressing return at the end:
     cd syswow64

  5. Next, enter these lines, pressing return at the end of each:
    cd speech
    cd common
    regsvr32 sapi.dll

    Command prompt window showing RegSvr32 successful message

  6. You should see the message “DllRegisterServer in sapi.dll succeeded”, or something very similar. That’s it, you can now close the ‘Command prompt’ window.

Cure 3: Delete User Lexicons

This is an old problem in Windows, and was described in Microsoft support article 838659.

  1. Click on Start.

  2. Type %appdata% and press Return.

  3. Windows Explorer should now open in a folder called “Application Data”. Navigate by double-clicking on folders to “Microsoft\Speech\Files\UserLexicons”. This may contain one or more files with very long filenames.


    User Lexicons folder


  4. Delete all the files in this UserLexicons folder. They will be recreated next time speech is used.

  5. Close File Explorer and restart your Claro Software program.

Cure 4: Repair Vocalizer Expressive voices

If you find that some or all of your Vocalizer Expressive voices have stopped working then it is likely that a recent installation has broken the voice system. This is most easily fixed by uninstalling and reinstalling the ClaroRead voices: you can safely install ClaroRead voices after any other vendor’s voices, because our voices recognise where existing voices are installed and make sure they install there. 

If you have it installed, you can install the voices again from Claro Voice Setup: click Start and type Claro Voice Setup. If you do not, contact your system admin.

Other things to try

First check that sound is working: either go to YouTube or similar and press Play.

The speech system that ClaroRead uses has been part of Windows since Windows XP, but you can try reinstalling it with this Microsoft SAPI5 installer, SAPI5.MSI. Download SAPI5.MSI.

If you select a voice in the Speech Properties window in Control Panel and get the message "This voice cannot be played. Please try selecting another voice or selecting a different audio output device" then the voice may have been uninstalled, even though it still appears in the Speech list, or the Vocalizer voices on your machine may have been broken by another voice installer. Try uninstalling and reinstalling the affected voices: you can install these from Claro Voice Setup in the Windows/Start menu.

Another thing to check: open Control Panel and the Speech Applet. Hit the Audio Output button. Make sure the first option “Use preferred audio device” is selected:

Text to Speech Sound Output settings showing Use preferred audio output device selected

If User Access Control (UAC) is disabled, re-enable the security feature and try again.

Speech will stop working if the output sounds for your speaks are set to any value greater than 48,000Hz. Open Control Panel, Sounds dialog, Playback tab, select your speakers and click the Properties button. Go to the Advanced tab and ensure the Default Format drop-down is set to a maximum of 48000Hz.

Sound window showing Speakers selectedSpeakers properties showing Studio quality setting selected

SAPI5 entries are all found in the registry key HKLM\Software\WOW6432Node\Microsoft\Speech for 64-bit machines. Entries in this key, especially from voices that you have uninstalled or are found in TokenEnums keys, can cause speech to not work and the Speech control panel to not run. Try deleting non-Microsoft entries, but do not touch MMAudioIn, MMAudioOut, or anything mentioning Microsoft, Hazel, or Zira. Back up the SAPI5 registry key first so you can restore it if necessary.


Broken Windows default voice

If you try to open the "Speech Properties" window and select the Text To Speech tab and get the message “An exception occurred while trying to run “C:\WINDOWS\system32\shell32.dll,Control_runDll “C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.dpl”,Speech” (it has a title of “RUNDLL”) then the current system voice is broken. This can happen when incompatible voice installers clash with each other. Because the current system voice is not valid you cannot open the "Speech Properties" window at all, so you cannot change the current system voice. You have three options:

  1. Re-run the voice installer for the broken current system voice. This should let you open the Speech applet. Change the system voice to one of the Microsoft voices. Then uninstall the voices you do not need to use, then reinstall the voices you do need to use.

  2. Download and run our SAPI5 Voice Remover, select the non-functioning voice from the list, and delete it from the machine. This removes the voice from Window’s list of available voices, and the Speech applet when next run notices it isn’t there and switches to another voice. The broken voice is not installed – it is still on your hard disk – but it will not work anywhere.

  3. (For the technical) You can change the default SAPI5 voice manually to a working Microsoft voice  (or any other working voice) by opening regedit, navigating to the registry key HKEY_CURRENT_USER\Software\Microsoft\Speech\Voices and changing the value of DefaultTokenId to “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\WORKING_VOICE_TOKEN” (no quotation marks) where WORKING_VOICE_TOKEN is the value of a working SAPI5 voice. 

Still need help? Contact us here