2 votos

¿Cómo accedo a MacOS Sonoma Personal Voice desde la línea de comandos?

He terminado el entrenamiento de MacOS 14.0 en mi Voz Personal ("Yo mismo"), y el Discurso en Vivo habla correctamente frases en mi voz utilizando la interfaz de Discurso en Vivo. En Terminal, el comando say -v '?' lista correctamente mi voz, pero el comando say -v Myself "¡Hola, Mundo!"; echo $? no produce sonido y indica finalización normal (echo $? => 0).

He intentado reiniciar. ¿Es esto un error? ¿Hay un paso adicional necesario?

3voto

Geo Puntos 11

El comando "say" funciona bien con la voz personal, pero no realiza las tareas necesarias para solicitar que se otorguen los permisos a la aplicación Terminal.

El problema es que Mac OS Sonoma no te permite agregar manualmente una aplicación a la lista de aplicaciones autorizadas, aunque haya un signo "+" en Ajustes - Accesibilidad - Voz personal - Permitir que las aplicaciones usen tu voz personal.

Para solucionar esto, puedes compilar y ejecutar una herramienta de línea de comandos en objective-c que solicite permisos la primera vez que se ejecute desde el terminal, luego el terminal obtendrá los permisos de Voz Personal y "say" (y cualquier otra herramienta de línea de comandos que use síntesis de voz personal) funcionará.

Una implementación muy pequeña sería: (Requiere Xcode 15 o las últimas Herramientas de Línea de Comandos)

#import 

int main(){
  [AVSpeechSynthesizer requestPersonalVoiceAuthorizationWithCompletionHandler:^(AVSpeechSynthesisPersonalVoiceAuthorizationStatus status){
     // ahora debería verse el popup de autorización
  }];
  [[NSRunLoop currentRunLoop] run];
  return 0;
}

Guárdalo como: mysay.c

y puedes compilarlo en la línea de comandos con:

gcc -x objective-c -framework AVFoundation -framework Foundation mysay.c -o mysay

y ejecutarlo como

./mysay

Mac OS debería mostrar un mensaje pidiendo que se otorguen permisos a Terminal. Después de aceptar esto, say -v TuNombreDeVoz "Hola mundo" debería funcionar

enter image description here

1voto

thesebas Puntos 11

En Crear una Voz Personal en Mac - Soporte de Apple se dice que

La Voz Personal solo se puede usar con la Voz en Directo y con aplicaciones de terceros que permitas, como aplicaciones de Comunicación Aumentativa y Alternativa (CAA).

y en realidad funciona con la Voz en Directo (tuve que reiniciar antes del primer uso). En la página de configuración de la Voz Personal hay una lista de permitidos que no se puede editar, pero tal vez el comando say debería ser añadido a esta lista primero.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X