Correggere gli errori di pronuncia nel comando 'Pronuncia' nel terminale

4

Ho difficoltà a correggere la pronuncia nel comando 'say', usando 10.9.

Ho provato ad aggiungere nuove pronunce attraverso:

Preferenze di sistema > Dettatura e discorso > Apri le preferenze di accessibilità > Apri Utility VoiceOver > Discorso > Pronuncia > +

Dopo aver aggiunto una nuova voce l'ho provato sia in Terminal che in TextEdit e nessuno dei due ha pronunciato correttamente:

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

Anche se non ha funzionato in TextEdit (Modifica > Speech > Start Speaking), voglio essere in grado di farlo nel terminale.

Qualcuno ha idea di come posso fare questo?

    
posta user75350 10.04.2014 - 16:50
fonte

2 risposte

2

Ecco qua:

# 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

Questo script di shell legge le sostituzioni da replacements.txt e usa il comando say per leggere il contenuto dei file dopo aver sostituito ciò che è stato definito in replacements.txt .

replacements.txt : una riga per la sostituzione, <search> <replace> .

Ci scusiamo per il brutto codice ... Odio lo scripting bash.

    
risposta data 11.04.2014 - 22:34
fonte
3

In base a questo thread 2007 su discussioni.apple.com l'utilità VoiceOver corregge solo le pronunce in VoiceOver stesso, non in text-to-speech.

Quindi, se vuoi ottenere say per pronunciare correttamente le parole, devi eseguire una ricerca e una sostituzione sul file di testo per ogni parola pronunciata in modo errato. Probabilmente c'è un buon modo per farlo in un solo passaggio con uno script , ma se vuoi semplicemente farlo una volta puoi:

  1. Apri il file in Text Edit (o qualsiasi editor di testo che preferisci, mi piace Text Wrangler)
  2. Trova (ad esempio) "donne" e sostituisci tutto con "wimmen" (Situato in Edit > Find > Find and Replace... in Modifica testo)
  3. Passa alla parola successiva che vuoi correggere trovando e sostituendo tutto finché non hai corretto tutte le errate pronunce.
  4. Esegui say sul file di testo ora scritto in modo errato.
risposta data 10.04.2014 - 19:55
fonte

Leggi altre domande sui tag