How to enable Microsoft Eva (Cortana's voice) on Windows 10?

I really like to know how I can enable Microsoft Eva (Cortana's voice) on Windows 10? so I can use it as Text-to-Speech (TTS) voice, since that voice is already available on Windows 10.


With a bit of research I found out how to do this so I came here to share it with everyone else, and here are the steps that will allow you to use Microsoft Eva as Text-to-Speech (TTS) voice.

Make sure you do the steps correctly or you will break your pc

  1. We need to open C:\Windows\SysWOW64\Speech_OneCore\Common\en-US\ and edit a file named tokens_TTS_en-US.xml (Before we can edit that file we need to change the permission and ownership of that file)
  2. Right click on the file tokens_TTS_en-US.xml and go to Security tab
    enter image description here
  3. Click on Advanced then you click on Change where it says Owner: TrustedInstaller
    enter image description here
  4. On Select User or Group window you type Administrators and click on Check Names then you click on OK
    enter image description here
  5. Now we have to give Administrators the permissions we need, click OK, now we are back at Properties > Security tab (if it dosent allow you to change permissions reopen properties), and click on Edit.
    enter image description here
  6. While we are on Permissions for tokens_TTS_en-US.xml you have to select <Your computer's name>\Administrators and click on the check box that is in front of Full control and under Allow then click on OK.
    enter image description here
  7. Now we can edit the file that it's located at C:\Windows\SysWOW64\Speech_OneCore\Common\en-US\tokens_TTS_en-US.xml, we can use any editor Notepad or Notepad++ to edit our file and add the necessary modification, run the editor you picked as Administrator by right clicking on the shortcut of your editor and click on Run as administrator then use the full path of the file and open it with the editor not by drag or dropping the file and add this to it and then save the file. (It might ask you to replace or overwrite the file so you need to click Yes or OK), so its going to look like this tokens_TTS_en-US.xml (Note that this is my version of tokens_TTS_en-US.xml and this is just to show you how to do it)

    <Category name="Voices" categoryBase="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore"> <Token name="MSTTS_V110_enUS_EvaM"> <String name="" value="Microsoft Eva Mobile - English (United States)" /> <String name="LangDataPath" value="%windir%\Speech_OneCore\Engines\TTS\en-US\MSTTSLocenUS.dat" /> <String name="VoicePath" value="%windir%\Speech_OneCore\Engines\TTS\en-US\M1033Eva" /> <String name="409" value="Microsoft Eva Mobile - English (United States)" /> <String name="CLSID" value="{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}" /> <Attribute name="Version" value="11.0" /> <Attribute name="Language" value="409" /> <Attribute name="Gender" value="Female" /> <Attribute name="Age" value="Adult" /> <Attribute name="DataVersion" value="11.0.2013.1022" /> <Attribute name="SharedPronunciation" value="" /> <Attribute name="Name" value="Microsoft Eva Mobile" /> <Attribute name="Vendor" value="Microsoft" /> <Attribute name="SampleText" value="You have selected %1 as the default voice." /> </Token> </Category>

  8. Once we are done with that file its better to restore the ownership of the file by doing the same steps with few differences, go to Security tab as we did in step 5 and click Edit, as we did in step 6 select <Your computer's name>\Administrators but this time you uncheck those check boxs and only leave two of it checked Read & execute and Read and click OK.
    enter image description here
  9. Then like step 3 go and change ownership to NT SERVICE\TrustedInstaller after typing that click on Check Names and then OK.
    enter image description here
  10. Now we need to modify Window's registry click here and then click on Raw to download the file once you downloaded the file double click on it and let it apply the registry settings. enter image description here
  11. Then for the last modifications to registry you need to download Process Hacker or Process Explorer (I used Process Hacker), you open Window's settings by pressing this key combination Windows Key+i and on settings click on Time & language > Speech then find the process for the settings window SystemSettings.exe open it's properties, go to Handles tab, look for HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech_OneCore\Isolated\ right click on it and click on Open key.
    enter image description here
  12. It will open the registry key, after Isolated key there are some other keys that the name of them are like random generated names but only one of them is expanded right click on it and click on Copy Key Name keep that on a notepad or something because we need it, then download this file MSTTS_V110_enUS_EvaM.reg once you downloaded the file you will edit the file and replace <Needs to be replaced> with the name that comes after HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech_OneCore\Isolated\, make sure you done it correctly and save it then apply it by double clicking on the file.

That was all and you just need to reboot your pc
Some part of this, the xml content and Microsoft-Eva-Mobile.reg comes from this source, it didn't had the details it needed so I made this


Well, as I've only German as language, I can't tell for sure if You've enabled the 'real' Cortana voice. On my PC I've two female voices - one is called MSTTS_V110_deDE_KatjaM and the second MSTTS_V110_deDE_KatjaCortanaM. If You take a look at %windir%\Speech_OneCore\Engines\TTS(\de-DE\ in my case)You will find several files with the prefixes M1031Katja and M1031KatjaV2

In the registry attributes [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech_OneCore\Isolated\********\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_deDE_KatjaCortanaM] You will find, that the MSTTS_V110_deDE_KatjaCortanaM voice has Version 11.1.2014.1222 while the other is 11.0.2013.1022

Finally, I followed Your very excellent guide - but extended it this way that I copied all of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens and also duplicated HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_deDE_KatjaM to a new key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_deDE_KatjaCortanaM- there I changed all the attributes according to [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech_OneCore\Isolated\********\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_deDE_KatjaCortanaM] Same procedure with the WOW6432Node tree!

This made the KatjaCortana voice available in the sapi.cpl!

You will notice that both voices are almost equal, but the pronounciation is a bit different - and the the cortana voice really sounds like cortana!

To bring the voice to the new UI, You "just" have to copy the [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech_OneCore\Isolated\********\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_deDE_KatjaCortanaM] key to all those weired named subkeys. You also have to add the SampleTextattribute as it is missing.

Thanks for Your guide & cheers!

Stephan