David Melara
David Melara

Reputation: 109

Windows 10 iot speech synthesis language change

I recently installed Windows 10 IoT on my Raspberry Pi 2 following this tutorial, but it's not working.

foreach (var voice in SpeechSynthesizer.AllVoices)
{ 
    Debug.WriteLine($"Name: {voice.DisplayName} Lang: {voice.Language} Type: {voice.Gender} Description : {voice.Description}");
}

On my first try, the above code showed "es-ES" language pack but, when trying to use the TTS it threw an exception:

Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.ni.dll

So, I did a fresh install again, copied again the files but, this time shows this:

Exception thrown: 'System.InvalidOperationException' in System.Linq.dll.

Does somebody know how to properly install a new language pack on Windows 10 IoT core?

Upvotes: 2

Views: 421

Answers (1)

David Melara
David Melara

Reputation: 109

Thanks so much for your help, the solution was really easy, hope this helps somebody else. I did a fresh install again (using the flash image from Core Dashboard) and suddenly noticed that some old files were still there, even after the flash… So I did this:

  1. I went to Partition Wizard and deleted the SD Card partition, then made a new Fat32 volume.

  2. I reformatted the SD Card using Windows format storage tool and unticked the “Quick Format” option and selected default cluster. For a SD Card 8GB Class 10 took about 10 minutes.

  3. Flashed again the W iot Core image.

  4. Copied again Speech_OneCore\TTS\es-ES and System32\Speech_OneCore\Common\es-ES to my board and reboot.

  5. Run again the code snippet to show available languages and it showed es-ES along en-US, I tested it with a TTS code and is talking in my mother tongue without problem.

Upvotes: 2

Related Questions