mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-07-25 21:31:03 +02:00
46 lines
2.1 KiB
Text
46 lines
2.1 KiB
Text
#compdef espeak
|
|
|
|
local curcontext="$curcontext" state line expl ret=1
|
|
typeset -A opt_args
|
|
|
|
_arguments -C \
|
|
'(1 --stdin)-f+[specify file to speak]:text file:_files' \
|
|
'(1 -f)--stdin[speak from stdin]' \
|
|
'(-q)-a+[specify amplitude]:amplitude (0-200) [100]' \
|
|
'(-q)-g+[specify pause between words]:pause (10ms) [1]' \
|
|
'-k[capital letter indication]:integer:((1\:sound 2\:the\ word\ "capitals"))' \
|
|
'-l[specify line length below which clause is ended]:length' \
|
|
'(-q)-p+[specify pitch adjustment]:adjustment (0-99)' \
|
|
'(-q)-s+[specify speed]:speed (words per minute) [175]' \
|
|
'(-q)-v+[voice]:voice name:->voices' \
|
|
'(--stdout -q)-w+[write speech to wav file]:wav file:_files -g "*.wav(-.)"' \
|
|
'-b+[specify input encoding]:encoding:((1\:UTF-8 2\:8-bit 3\:16-bit))' \
|
|
'-m[interpret SSML markup, ignore other XML]' \
|
|
'(-a -g -p -s -v -w -z --split --stdout)-q[quiet, no sound output]' \
|
|
'(-x --ipa)-x[output phoneme mnemonics]' \
|
|
'(-X --ipa)-X[output phoneme mnemonics and translation trace]' \
|
|
'(-q)-z[suppress final sentence pause at the end of the text]' \
|
|
'--compile=-[compile pronunciation rules and dictionary]::voicename or debug' \
|
|
'(-x -X)--ipa=-[output phonemes using International Phonetic Alphabet]::options:((1\:use\ ties 2\:use\ ZWJ 3\:separate\ with\ _))' \
|
|
'--path=[specify espeak-data path]:path:_files -/' \
|
|
'--pho[output mbrola phoneme data]' \
|
|
'--phonout=[output filename for -x/-X/--ipa]:filename:_files' \
|
|
'--punct=-[speak names of punctuation characters]::characters' \
|
|
'(-q --stdout)--split=[periodically start new wav file]:period (minutes)' \
|
|
'(-w -q --split)--stdout[output speech to stdout]' \
|
|
'--voices=-[list available voices]::language code:->languages' \
|
|
'(-)'{-h,--help}'[display help information]' \
|
|
'(-)--version[display version information]' && ret=0
|
|
|
|
case $state in
|
|
voices)
|
|
_wanted voices expl voice compadd \
|
|
${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c22)}%% *} && ret=0
|
|
;;
|
|
languages)
|
|
_wanted languages expl language compadd \
|
|
${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c4)}%% *} && ret=0
|
|
;;
|
|
esac
|
|
|
|
return ret
|