Linux/Ubuntu

espeak-ng TTS

구차니 2026. 9. 7. 15:00

claude에게 festival로 한글 발음 해달라고 시키니 추천해준 프로그램

[링크 : https://discuss.pytorch.kr/t/espeak-ng-100-espeak-fork/4272]

[링크 : https://github.com/espeak-ng/espeak-ng]

 

teensy 4.0 보드를 위한 (cortex-M7@600Mhz) 포트가 있다고 하는데.. 아니 그 가격(5만원)이면 라즈베리 에서 돌리는게 쌀지도?

[링크 : https://github.com/vindar/espeak-ng_T4/]

    [링크 : https://forum.pjrc.com/index.php?threads/espeak-ng-tts-library-ported-to-teensy-4.77001/]

 

근데 -v ko 있나 없나 영어식 발음인건 여전한데...?

-p 50 -s 175 이 기본이고

-p 는 0~99 사이값.

-s는 분당 단어 갯수라 딱히 제한은 없는듯?

$ espeak-ng "hello"
$ espeak-ng "안녕하세요"
$ espeak-ng -v ko "안녕하세요"
$ espeak-ng -v ko -p 70 -s 300 "안녕하세요"

 

$ espeak-ng --help

eSpeak NG text-to-speech: 1.50  Data at: /usr/lib/x86_64-linux-gnu/espeak-ng-data

espeak-ng [options] ["<words>"]

-f <text file>   Text file to speak
--stdin    Read text input from stdin instead of a file

If neither -f nor --stdin, then <words> are spoken, or if none then text
is spoken from stdin, each line separately.

-a <integer>
   Amplitude, 0 to 200, default is 100
-d <device>
   Use the specified device to speak the audio on. If not specified, the
   default audio device is used.
-g <integer>
   Word gap. Pause between words, units of 10mS at the default speed
-k <integer>
   Indicate capital letters with: 1=sound, 2=the word "capitals",
   higher values indicate a pitch increase (try -k20).
-l <integer>
   Line length. If not zero (which is the default), consider
   lines less than this length as end-of-clause
-p <integer>
   Pitch adjustment, 0 to 99, default is 50
-s <integer>
   Speed in approximate words per minute. The default is 175
-v <voice name>
   Use voice file of this name from espeak-ng-data/voices
-w <wave file name>
   Write speech to this WAV file, rather than speaking it directly
-b    Input text encoding, 1=UTF8, 2=8 bit, 4=16 bit 
-m    Interpret SSML markup, and ignore other < > tags
-q    Quiet, don't produce any speech (may be useful with -x)
-x    Write phoneme mnemonics to stdout
-X    Write phonemes mnemonics and translation trace to stdout
-z    No final sentence pause at the end of the text
--compile=<voice name>
   Compile pronunciation rules and dictionary from the current
   directory. <voice name> specifies the language
--compile-debug=<voice name>
   Compile pronunciation rules and dictionary from the current
   directory, including line numbers for use with -X.
   <voice name> specifies the language
--compile-mbrola=<voice name>
   Compile an MBROLA voice
--compile-intonations
   Compile the intonation data
--compile-phonemes=<phsource-dir>
   Compile the phoneme data using <phsource-dir> or the default phsource directory
--ipa      Write phonemes to stdout using International Phonetic Alphabet
--path="<path>"
   Specifies the directory containing the espeak-ng-data directory
--pho      Write mbrola phoneme data (.pho) to stdout or to the file in --phonout
--phonout="<filename>"
   Write phoneme output from -x -X --ipa and --pho to this file
--punct="<characters>"
   Speak the names of punctuation characters during speaking.  If
   =<characters> is omitted, all punctuation is spoken.
--sep=<character>
   Separate phonemes (from -x --ipa) with <character>.
   Default is space, z means ZWJN character.
--split=<minutes>
   Starts a new WAV file every <minutes>.  Used with -w
--stdout   Write speech output to stdout
--tie=<character>
   Use a tie character within multi-letter phoneme names.
   Default is U+361, z means ZWJ character.
--version  Shows version number and date, and location of espeak-ng-data
--voices=<language>
   List the available voices for the specified language.
   If <language> is omitted, then list all voices.
--load     Load voice from a file in current directory by name.
-h, --help Show this help.