Contenido
[ IMPORTANTE : Parcialmente roto a partir de MacOS Sonoma (14): No se reconocen muchas voces instaladas, y la voz predeterminada no se enumera con -l ]
voices es una CLI de MacOS para cambiar la voz predeterminada de TTS (texto a voz) y para imprimir información sobre y/o hablar de texto con múltiples voces .
voices complementa la utilidad estándar say por:
say simple que admite texto con instrucciones integradas para cambiar el texto medio de voz (por ejemplo, [[voice alex]] ), suponiendo que tenga instalado PowerShell, vea este comentario.Advertencias :
A partir de MacOS 10.12 (Sierra), no hay una forma programática documentada de cambiar la voz predeterminada. Por lo tanto, esta utilidad hace uso de los internales del sistema indocumentado, lo que, desafortunadamente, significa que la compatibilidad futura de esta característica es incierta. Comentarios bienvenidos.
Actualmente, voices solo admiten plenamente las voces proporcionadas por Apple . El soporte para voces de terceros como Infovox Ivox se limita a hablar con ellos, y los servicios de MacOS documentados a continuación no funcionarán con ellos .
Además, a partir de MacOS 10.15, las voces Siri no son compatibles con la falta de soporte de API (ver esta pregunta de desbordamiento de pila).
Consulte los ejemplos a continuación, información de uso conciso a continuación, o lea el manual.
Además, se ofrecen dos servicios de MacOS :
Nota: Si tiene Alfred con su paquete de potencia, considere Workflow Speak. Awf como una alternativa superior.
# List all active voices; add -a to list all installed ones.
voices -l
# Print information about the default voice and speak its demo text.
voices -d -k
# Print information about voice 'Alex'.
voices alex
# Make 'Alex' the new default voice, print information about it, and
# speak text that announces the change.
voices -k ' The new default voice is Alex. ' -d alex
# List languages for which at least one voice is active.
voices -L
# List active French voices.
voices -l fr
# Print information about all active voices and speak
# their respective demo text.
voices -l -k
# Print information about all active Spanish voices and speak their
# respective demo text.
voices -k -l es
# Say "hello", first with voice Alex, then with Jill, suppressing printed
# output.
voices -k " hello " -q alex jillPlataformas compatibles
Verificado para trabajar desde OS X 10.8 (Mountain Lion) hasta MacOS 10.12 (Sierra).
La característica de cambio de cambio de cambio utiliza las partes internas del sistema indocumentado, por lo que su compatibilidad futura es incierta. Avíseme si encuentra la función rota en una versión futura de MacOS.
Nota: Incluso si no usa Node.js, su Administrador de paquetes, npm , funciona en todas las plataformas y es fácil de instalar; Pruebe curl -L http://git.io/n-install | bash
Con Node.js instalado, instale el paquete de la siguiente manera:
[sudo] npm install voices -g
Nota :
sudo depende de cómo instaló Node.js / io.js y si ha cambiado los permisos más adelante; Si recibe un error EACCES , intente nuevamente con sudo .-g garantiza la instalación global y es necesaria para poner voices en $PATH de su sistema. voices .chmod +x voices .$PATH , como /usr/local/bin . Encuentre información de uso conciso a continuación; Para una documentación completa, lea el manual en línea o, una vez instalado, ejecute man voices ( voices --man si se instala manualmente).
$ voices --help
Get or set or speak with the DEFAULT VOICE:
voices [<options>] [-d [<newDefaultVoice>]]
LIST INFORMATION about / speak with voices:
voices [<options>] <voice>...
List / speak with ALL VOICES, optionally FILTERED BY LANGUAGES:
voices [<options>] -l [<lang>...]
LIST LANGUAGES among voices:
voices -L [-a]
MANAGE VOICES in System Preferences:
voices -m
Shared options (synopsis forms 1-3):
-a target all installed voices (default: only active ones)
-k speak demo text with all targeted voices
-k"<text>" speak specified text
-k- speak text provided via stdin
-b output format: print voice names only
-i output format: print voice internals
-q quiet mode: no printed output
Standard options: --help, --man, --version, --home
Este servicio, que utiliza una copia integrada de voices , es útil si usa texto a voz en dos o más idiomas y desea cambiar rápidamente la voz predeterminada entre múltiples voces designadas cíclicamente, en combinación con el servicio de texto seleccionado con hablar incorporado.
Cada vez que se invoca el servicio, la próxima voz designada se convierte en la voz predeterminada, y se habla del nombre localizado del lenguaje de la nueva voz para confirmar el cambio (esto es configurable).
Puede invocar el servicio desde el menú Services estándar de cualquier aplicación, la categoría General , o asignarle un atajo de teclado a través de System Preferences > Keyboard > Shortcuts > Services .
Switch Default Voice.workflow en la misma carpeta.Switch Default Voice.workflow y elija Install cuando se le solicite: esto colocará el paquete en ~/Library/Services/ .Done cuando se le solicite y continúe con la personalización a continuación. Services > Switch Default Voice .System Preferences > Keyboard > Shortcuts , Services de categoría, desplácese a subcategoría General en la lista a la derecha, seleccione Switch Default Voice y haga clic justo dentro del borde derecho del elemento de la lista.~/.SwitchDefaultVoice-rc en su editor de texto. Este servicio proporciona una alternativa para cambiar la voz predeterminada: habla de texto seleccionado en la aplicación frontmot con una voz alternativa fija, que permite que se use junto con el servicio de texto seleccionado con hablar incorporado, que siempre usa la voz predeterminada (ver System Preferences > Dictation & Speech > Text to Speech ).
Por lo general, usaría este servicio para hablar de texto seleccionado con una voz que habla un idioma diferente .
Puede invocarlo desde el menú Services estándar, Text de la categoría, cada vez que el texto se selecciona en la aplicación frontmost, o asignarle un atajo de teclado a través de System Preferences > Keyboard > Shortcuts > Services ; Por ejemplo, ⌥` (Opt -`) para paralelo al atajo predeterminado para el servicio incorporado, ⌥⎋ (OPT-SESC).
Invocar el servicio nuevamente mientras el mensaje de texto de una invocación anterior todavía se habla de hablar.
Advertencia : Esto solo funciona si el texto, cualquier texto, se selecciona en la aplicación Activate en el momento en que el servicio se invoca nuevamente.
Si lo desea, puede duplicar el servicio para poder hablar con una de las múltiples voces alternativas:
Una vez instalado, duplicado ~/Library/Services/Speak With Specific Voice.workflow en Finder, dale un nombre significativo y personalice el duplicado como se describe a continuación.
Speak With Specific Voice.workflow en la misma carpeta.Speak With Specific Voice.workflow y elija Install cuando se le solicite: esto colocará el paquete en ~/Library/Services/ .Open in Automator cuando se le solicite y continúe con la personalización a continuación. # ------- BEGIN: CUSTOMIZE y # ------- END: CUSTOMIZE .System Preferences > Keyboard > Shortcuts , Services de categoría, desplácese a subcategoría General en la lista a la derecha, seleccione Speak With Specific Voice.workflow y haga clic justo dentro del borde derecho del elemento de la lista.~/Library/Services/Speak With Specific Voice.workflow en Automator.~/Library , active Finder, mantenga presionada la tecla de opción al seleccionar el menú Go y seleccionar Library ; A partir de ahí, navegue hasta Services de subcarpeta y el paquete abierto Speak With Specific Voice.workflow .Copyright (c) 2015-2018 Michael Klement [email protected] (http://same2u.net), publicado bajo la licencia MIT.
Este proyecto depende agradecidamente de los siguientes componentes de código abierto, de acuerdo con los términos de sus respectivas licencias.
Las dependencias de NPM a continuación tienen sufijos opcionales que denotan el tipo de dependencia; La ausencia de un sufijo denota una dependencia de tiempo de ejecución requerida: (D) denota una dependencia de solo tiempo de desarrollo , (O) una dependencia opcional y (P) una dependencia de pares .
El verso cumple con Semantic Versioning (SEMVER).
V0.3.4 (2018-03-21):
V0.3.3 (2018-03-08):
awk , para evitar un comportamiento inesperado derivado de las versiones instaladas por el usuario en/USR/Local/Bin llamado.V0.3.2 (2017-01-03):
voices -m ahora funciona en MacOS Sierra.V0.3.1 (2015-11-03):
V0.3.0 (2015-10-27):
-i para informar Voice Internals ahora informa un BundleID variable adicional como el último elemento, es decir, la identificación del paquete de la voz.V0.2.3 (2015-09-20):
voices ahora tiene una página de manual (si está instalada manualmente, usa voices --man ); voices -h Ahora solo imprime información de uso conciso.V0.2.2 (2015-09-15):
V0.2.1 (2015-07-30):
V0.2.0 (2015-07-29):
voices ahora honra las tarifas de habla personalizada cuando se les solicita que hable con la opción -kSwitch Default Voice.workflow ahora está basado en archivos de configuración y admite más de 2 voces para conmutación cíclica; El texto de confirmación predeterminado que se habla en la conmutación es ahora el nombre localizado del idioma de la nueva voz.Speak With Specific Voice.workflow permite hablar un texto seleccionado con una voz alternativa fija.V0.1.9 (2015-07-28):
V0.1.8 (2015-07-28):
V0.1.7 (2015-07-28):
-k opción de voices no honra las tasas de habla personalizada debido a una limitación en la utilidad say .V0.1.6 (2015-07-28):
V0.1.5 (2015-07-27):
V0.1.4 (2015-07-27):
V0.1.3 (2015-07-06):
--version simplificada.V0.1.2 (2015-07-01):
V0.1.1 (2015-06-30):
V0.1.0 (2015-06-29):