Página 1 de 2

Instalar nuevas voces WIndows 10 automáticamente

Publicado: 20 Feb 2020, 13:37
por Zarzaparro
Hola niños.

Tengo una movida que me ha surgido en el curro y me pregunto si se puede automatizar.

Básicamente necesito que, con un scritp, un usuario pueda instalar paquetes de voces según su idioma. Ojo, no quiero cambiar el idioma de windows, solo quiero añadir voces extra en otros idiomas.

Esta opción de `paquetes de voz instalados', se pueden descargar e instalar desde el apartado "Hora e dioma / Voz" de la conffiguración de Windows 10, mediante la opción de agregar voces. Lo que no se es que apartado del registro, o que opción puedo tocar para que con un .bat que por ejemplo se llame "voces italiano" o "voces francés", el usuario haga doble click y automáticamente se instalen ahí.

¿Se os ocurre alguna idea, muchachos?

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 20 Feb 2020, 16:31
por pako
Hola,

Desconozco si se puede hacer lo que pretendes, no me suena nada así, ya que eso se descarga e instala de manera automática desde configuración y no va desde archivos ejecutables (.exe) para instalar los idiomas de manera manual.

Si tienes un proxy, podrías agregar una voz y luego mirar en el proxy si pidió algún .exe para instalar esa voz.

Tampoco le veo mucho sentido a agregar una voz como pretendes, cualquier usuario puede ir a configuración > hora e idioma > Voz > Agregar voces y es supersencillo que accedan ahí y que lo hagan ellos mismos meter el idioma que quieran, sin que tengas tú que preguntarles primero que idioma quieren, para después tu tener que pasárselo, para que luego sea el usuario quien lo instala.

Entre pasarles tú el idioma para que luego lo instalen ellos, para eso accedes tú en remoto a su equipo y ya se lo haces tú.

Y como te digo, es más simple que ellos accedan a la configuración de Windows y lo instalen ellos mismos sin que les pases nada.
Solo tendrías que pasarles la manera de acceder:
Configuración > hora e idioma > Voz > Agregar voces

Para ahorrarles el "trabajo", puedes llevarlos directamente a la configuración donde se agrega la voz y que así no se líen.
Puedes crear un acceso directo, con botón derecho del ratón en el escritorio y seleccionas "Nuevo > Acceso directo".
Como elemento pones:
ms-settings:speech
Y pones el nombre que quieras al acceso directo, como por ejemplo "Agregar voces".

Con dejarles el acceso directo en el escritorio, al ejecutarlo los lleva directamente a agregar voces.
Y lo único que tendrían que hace es pulsar sobre el botón "Agregar voces".

Saludos

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 21 Feb 2020, 06:57
por Zarzaparro
Muchas gracias por la respuesta, majo!

Si, se que la forma de hacerlo es super sencilla, pero más sencillo sería aún conseguir un .bat para cada idioma que lo descargara y seleccionara con un simple click. Ten en cuenta que son miles y miles de puestos diferentes. No es viable hacerlo por remoto o a mano :?

Sigo buscando, y si doy con la tecla lo compartiré por aquí!

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 21 Feb 2020, 18:10
por pako
Hola,

Con miles de maquinas no es viable por control remoto obvio. :jaja:

Pero sigo sin entender tu solución del .bat, un .bat para cada idioma?
Hay como 50 voces, vas a crear 50 .bat?
Luego lo vas a compartir en una carpeta y esas miles de personas van a tener que buscar entre los 50 .bat cuales les interesan para instalarlo?
Aunque lo consiguieras a tu manera, les seria menos engorro lo que te puse con un solo archivo que les lleve directamente y pulsar en agregar voces, mas facilidad y mas simple.

He estado mirando lo de las voces y no es ningun autoejecutable (.exe) lo que instala la voz.
Probe lo que te dije del proxy.
Instale el idoma Catalan por pesar solo 7 MB.
En el proxy veo la url del servidor de Microsoft de donde baja el idioma Catalan.
Es un archivo sin extension, que lo abro con el Winrar y veo su contenido.

Aparentemente lo que hace es meter los archivos de la voz en una ruta y ademas lo mete en el registro de Windows.

Mirando el archivo xml que viene, se ven la ruta de los archivos y la del regedit, te pongo un poco:

Código: Seleccionar todo

<?xml version="1.0" encoding="utf-8"?>
<Tokens>
  <Category name="Voices" categoryBase="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore">
    <Token name="MSTTS_V110_caES_Herena">
      <String name="" value="Microsoft Herena - Catalan (Catalan)" />
      <String name="LangDataPath" value="%windir%\Speech_OneCore\Engines\TTS\ca-ES\MSTTSLocCaES.dat" />
      <String name="VoicePath" value="%windir%\Speech_OneCore\Engines\TTS\ca-ES\M1027Herena" />
      <String name="403" value="Microsoft Herena - Catalan (Catalan)" />
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore
%windir%\Speech_OneCore\Engines\TTS\

Saludos

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 24 Feb 2020, 06:34
por Zarzaparro
Hola @pako !

Esto que me commentas suena muy prometedor, voy a investigar un poco. EN cuanto a lo de los idiomas, realmente necesito solo estos:
Español de España

Español de Mexico

Ingles de Estados Unidos

Inglés de Reino Unido

Fines

Francés

Sueco

Italiano

Portugues de Brasil

Yo le pasaría el .bat de cada idioma a cada responsable de cada país y ellos ya se encargan de instalarlo donde haga falta. Así que si, tendría que crear 9 .bat distintos, jaja. Voy a ver si consigo algo con la info que me has pasado.
¿Sabes como puedo averiguar la ruta desde la que descarga el idioma? No tengo proxy y no se me ocurre como puedo mirarlo para los 9 idiomas que necesito.
¡Gracias otra vez!

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 24 Feb 2020, 12:10
por pako
Hola,

Ahora entiendo mejor lo que pretendes.

Yo tengo instalado el Privoxy desde hace mucho, que es gratuito, con el veo donde pide lo del idioma.

Active Privoxy.
Instale el idioma catalán.
Desactive el Privoxy.

Y se ven unas cuantas peticiones al mismo sitio, que es de donde bajo el idioma catalán:

tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/4564f2e6-9102-445e-8445-25ef391a317e?P1=XXXXXXXXXXXP2=XXXXP3=XXP4=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Si pones la url sin lo parámetros no deja bajarlo, son obligatorios los parámetros para que se descargue el idioma.
Cambie los caracteres por X de la url anterior por si están relacionados con mi Windows, tú tienes que copiarlo tal cual te aparece y lo pegas en el navegador y ya te descarga el idioma.

Lo que descarga es un archivo sin extensión: 4564f2e6-9102-445e-8445-25ef391a317e

Lo abres con WinRAR y ya ves lo que contiene.

Supongo que si metes lo de su interior en la ruta que te puse en mi anterior post y añades en el regedit en la ruta que te puse también en anterior post debería de funcionar.

Te va a tocar currártelo un poco. :jaja:

Saludos

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 25 Feb 2020, 06:53
por Zarzaparro
Muchas gracias rey! Voy a bichear un poco e investigar gracias a tus consejos :-D

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 25 Feb 2020, 14:23
por Zarzaparro
Nada, he probado con dos idiomas, descargando los datos, copiando los archivos y modificando el registro, y no aparecen las nuevas voces. ¡Que le vamos a hacer!

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 25 Feb 2020, 16:39
por pako
Hola,

Me temo que no vas a poder...

Acabo de probar a instalar el idioma catalán, copie la ruta de los archivos:
C:\Windows\Speech_OneCore\Engines\TTS\ca-ES\

Y también copie la ruta del registro de Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_caES_Herena

Desinstale el idioma catalán, copie los archivos de los que hice backup en su correspondiente ruta y agregue al registro el backup que había exportado del catalán.

Y no me funciona como a ti.

He indagado un poco más y es que añade más cosas al registro de Windows, además de la que ya sabemos:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_caES_Herena

Hay más de 20 rutas del registro donde crea/borra/añade cuando se instala el idioma catalán.

Para saberlo lo que hice, fue exportar parte del registro de Windows referente a la voz, instale el idioma catalán y volví a exportar la misma parte del registro, compare los registros con WinDiff.

Así que así no vas a poder...

No sé si desde el bat puedes ejecutar en el PowerShell de Windows.
Se que se pueden borrar idiomas, listarlos con el comando:
Get-WinUserLanguageList

Lo que no se si desde el PowerShell hay un comando para el speechlanguage que si no me equivoco sería el de la voz.

Otra cosa no se me ocurre...

Saludos

Re: Instalar nuevas voces WIndows 10 automáticamente

Publicado: 26 Feb 2020, 14:11
por Zarzaparro
Pues te cuento... ¡al final lo he conseguido!

Y todo gracias a tus consejos. ¡Gracias infinitas!

Lo que hice, por si le sirve a alguien en el futuro son varias cosas.

1-Copiar la carpeta de archivos del directorio donde los instala en un pc donde ya estén instalados. Es decir, copiar lo de %windir%\Speech_OneCore\Engines\TTS\ del PC 1 al PC nuevo

2-Exportar el registro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\IDIOMAQUESEA y modificarlo a mano para que quede así [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\IDIOMAQUESEA] y conseguir un .reg moficiado, que ya se puede integrar en el registro.

Haciendo estas dos cosas, por fin se puede seleccionar que voz quieres (por ejemplo, ejecutando el archivo sapi.cpl que está en C:\Windows\System32\Speech\SpeechUX).

Todo eso lo he automatizado con un .bat que ha quedado tal que así (ejemplo del idioma finlandés) con los archivos metidos en la raíz de un pendrive:


:: Copiar archivos de idioma
SETLOCAL
SET ORIGEN=%~dp0
SET DESTINO=C:\Windows\Speech_OneCore\Engines\TTS
)
CLS
XCOPY /s /c /i /Y "%ORIGEN%\fi-FI" "C:\Windows\Speech_OneCore\Engines\TTS\fi-FI"
:_FIN
ENDLOCAL

:: Modificar registro para añadir los datos del idioma

SETLOCAL
SET ORIGEN=%~dp0
)
CLS
REGEDIT /S %ORIGEN%\finlandes.reg


...Y VOILÁ! Tras un reinicio ya se pueden seleccionar. ¡¡Gracias de nuevo!!