1 votos

¿Cómo puedo hacer que el comando 'say -v PersonalVoice' guarde la salida en un archivo?

Gracias a esta respuesta, pude otorgar permiso a las aplicaciones Terminal e iTerm2 para usar una Voz Personal con el comando 'say'; por ejemplo,

say -v MiVoz "¡Hola, mundo!"

El comando say tiene varias opciones, incluyendo -o output.aiff que escribe el texto hablado en un archivo AIFF.

say -v Alex -o test.aiff "Hola mundo"
afplay test.aiff

Sin embargo, no puedo hacer que funcione para mi voz personal:

say -v MiVoz -o test.aiff "Hola mundo"
afplay test.aiff

no produce nada más que un momento de silencio.

Al parecer, lo más probable, juzgando por la cantidad de problemas que he tenido jugando con la función de Voz Personal, es que esto sea un error, pero tal vez haya pasado por alto algo.

2voto

Geo Puntos 11

Parece ser otra restricción de Apple en lugar de un error. Aunque en la página de man dice que no todas las voces son compatibles con todas las configuraciones de audio, probé muchas de las voces del sistema al azar y todas se pueden escribir en archivo. Así que, parece ser una cuestión de restricción/privacidad que necesitamos construir una herramienta para superar. (Después de todo, Apple dice que debemos usar nuestra voz personal estrictamente para uso personal y podría estar tratando de protegernos de que se filtren huellas de nuestra voz).

Puedes verificar esto si revisas el registro de la consola al intentar esto con el comando "say":

No se puede utilizar AVSpeechSynthesizerBufferCallback con Voces Personales, se establece por defecto al canal de salida.

He pensado en hacer una herramienta desde que descubrí esta limitación. Publicaré un enlace a github aquí cuando esté listo, podría ser útil.

Editar: He publicado el código en github que permite guardar archivos de audio de voz personal utilizando el comando say

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