Domanda:
Come utilizzare i valori predefiniti per impostare un elemento di un array di un array in un file delle preferenze?
FTNomad
2015-06-03 20:17:31 UTC
view on stackexchange narkive permalink

Sto cercando di aumentare la velocità della sintesi vocale sul mio Mac. Il riquadro delle preferenze della GUI arriva al massimo a 360 parole al minuto. Faccio sviluppo dell'accessibilità e questo è in realtà un po 'lento per me.

Ho trovato il file delle preferenze per le impostazioni vocali: com.apple.speech.voice.prefs.plist

e conosco la chiave: VoiceRateDataArray

Tuttavia, quando leggo la preferenza ottengo un array di array.

Allora come scrivo il comando della riga di comando per sovrascrivere l'elemento specifico dell'array per velocizzare la voce in OS X.

Non riesco a trovare un esempio per gestire gli array e il comando defaults.

Una risposta:
William T Froggard
2015-06-04 00:41:27 UTC
view on stackexchange narkive permalink

ATTENZIONE: sebbene questo faccia quello che stai chiedendo, ha dimostrato di rendere il sintetizzatore vocale del sistema incredibilmente instabile e bloccarsi costantemente, al punto da renderlo inutilizzabile. Lo posto qui per riferimento futuro in merito all'impostazione di array annidati, ma non consiglio a nessuno di provare effettivamente ciò che viene mostrato qui.

Ho provato a modificare questa impostazione manualmente, ma sembrerebbe che il sintetizzatore vocale non parlerà più velocemente di 360. Ecco come puoi vederlo da solo:

  1. Per prima cosa, dobbiamo ottenere il tasto "VoiceRateDataArray", al fine di impostare le cose che non dovrebbe cambiare, tornando ai valori originali, quando apportiamo le nostre modifiche

      i valori predefiniti leggono com.apple.speech.voice.prefs VoiceRateDataArray  

    Il l'output dovrebbe essere simile a questo: defaults output

  2. Quindi, possiamo apportare le nostre modifiche. Per prima cosa, dobbiamo costruire il comando defaults, contenente la voce che non desideriamo modificare, e la versione modificata della voce che facciamo. Per questo esempio, cambierò la seconda voce. La sintassi di base è -array '(item1, item2, item3)' '(item1, item2, item3)' . Questo crea un array, con due array annidati al suo interno, in base al mio esempio:

      defaults write com.apple.speech.voice.prefs VoiceRateDataArray -array '(1835364215, 200, 205)' '(1886745202, 184844493, 400)'  

    Come puoi vedere, l'ultimo elemento del secondo secondo array è cambiato da 271 a 400.

  3. Ora devi riavviare il sintetizzatore vocale:

      killall com.apple.speech.speechsynthesisd  


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...