Corrección de errores de pronunciación en el comando 'Diga' en la terminal

4

Tengo dificultades para corregir la pronunciación en el comando 'decir', usando 10.9.

Intenté agregar nuevas pronunciaciones a través de:

Preferencias del sistema > Dictado y Discurso > Abrir preferencias de accesibilidad > Abrir la utilidad VoiceOver > Discurso > Pronunciación > +

Después de agregar una nueva entrada, la probé tanto en Terminal como en TextEdit y ninguna la pronuncié correctamente:

$ say -v "Samantha" -f filename.txt -o audiofile.aiff

Aunque no funcionó en TextEdit (Edit > Speech > Start Speaking), quiero poder hacerlo en Terminal.

¿Alguien tiene alguna idea de cómo puedo hacer esto?

    
pregunta user75350 10.04.2014 - 16:50

2 respuestas

2

Aquí tienes:

# read.sh <file-to-read> [name-of-voice]
#!/bin/bash

textToRead=$(cat $1)

IFS=$'\n'
while read rep; do
        IFS=" "
        repArray=( $rep )
        textToRead=${textToRead//${repArray[0]}//${repArray[1]}}
done < replacements.txt

if [ -z $2 ]; then
        echo "$textToRead" | say
else
        echo "$textToRead" | say -v $2
fi

Este script de shell lee los reemplazos de replacements.txt y usa el comando say para leer el contenido de los archivos después de reemplazar lo que está definido en replacements.txt .

replacements.txt : una línea por reemplazo, <search> <replace> .

Lo siento por el código feo ... Odio los scripts de bash.

    
respondido por el Max Ried 11.04.2014 - 22:34
3

Según este hilo de 2007 en Discussions.apple.com la utilidad VoiceOver solo corrige las pronunciaciones en VoiceOver, no en texto a voz.

Entonces, si desea que say pronuncie correctamente las palabras, debe ejecutar una búsqueda y reemplazo en el archivo de texto por cada palabra mal pronunciada. Probablemente hay una buena manera de hacer esto en un solo paso con un script , pero si solo quieres hacerlo una vez, puedes:

  1. Abra el archivo en Text Edit (o cualquier editor de texto que prefiera, me gusta Text Wrangler)
  2. Busca (por ejemplo) "mujeres" y reemplaza a todos con "wimmen" (ubicado en Edit > Find > Find and Replace... en Edición de texto)
  3. Muévase a la siguiente palabra que desea corregir, busque y reemplace todo hasta que haya corregido todas las declaraciones erróneas.
  4. Ejecute say en el archivo de texto ahora incorrectamente escrito.
respondido por el dwightk 10.04.2014 - 19:55

Lea otras preguntas en las etiquetas