htsengine(1)

πŸ’– htsengine β€” HMM-based speech synthesis engine πŸ’–

okay bestie, welcome to the htsengine(1) manual page, General Commands Manual edition. this is the one that makes your computer literally speak, and we're gonna walk through it together. grab a strawberry πŸ“ and let's go.


✨ NAME ✨

hts_engine β€” HMM-based speech synthesis engine

like. it synthesizes speech. from HMMs. main character energy fr fr πŸ‘‘


🌸 SYNOPSIS 🌸

hts_engine [options]  [infile]

that's it. that's the whole vibe. options go in, optionally an infile goes in, speech comes out πŸ¦‹


πŸ’… DESCRIPTION πŸ’…

so this manual page documents the hts_engine command, briefly. quick little rundown, no yapping.

ngl this page was written for the Debian distribution because the original program does not have a manual page. not me showing up to write the docs nobody else wrote 😭 instead, it has documentation in the GNU Info format β€” see below (iykyk).

hts_engine is a program that synthesizes a speech waveform from HMMs trained by the HMM-based speech synthesis system (HTS). that's the whole point. that's the gig. it takes trained models and turns them into actual audible words. iconic.


πŸŽ€ OPTIONS πŸŽ€

a summary of options is included below. here's the full menu, no skips, no cuts:

  • -m htsvoice β€” HTS voice files. this is your voice model bestie, the whole personality lives here.
  • -od s β€” filename of output label with duration
  • -om s β€” filename of output spectrum
  • -of s β€” filename of output Log F0
  • -ol s β€” filename of output low-pass filter
  • -or s β€” filename of output raw audio (generated speech)
  • -ow s β€” filename of output wav audio (generated speech)
  • -ot s β€” filename of output trace information
  • -vp β€” use phoneme alignment for duration
  • -i i f1 .. fi β€” enable interpolation & specify number(i), coefficient(f)
  • -s i β€” sampling frequency [auto][1--]
  • -p i β€” frame period (point) [auto][1--]
  • -a f β€” all-pass constant [auto][0.0--1.0]
  • -b f β€” postfiltering coefficient [0.0][0.0--1.0]
  • -r f β€” speech speed rate [1.0][0.0--]
  • -fm f β€” add half-tone [0.0][--]
  • -u f β€” voiced/unvoiced threshold [0.5][0.0--1.0]
  • -jm f β€” weight of GV for spectrum [1.0][0.0--]
  • -jf f β€” weight of GV for Log F0 [1.0][0.0--]
  • -z i β€” audio buffer size (if i==0, turn off) [0][0--]
  • infile β€” label file

and the tea on the output files πŸ«–: the generated spectrum, log F0, and low-pass filter coefficient sequences are saved in natural endian, binary (float) format. so don't go opening those in a text editor and expecting a cute little readable file, okay? that's not what they are. πŸ’€


🌈 EXAMPLE 🌈

if you installed hts-voice-nitech-jp-atr503-m001 in the current directory, the following command lets you make a voice file from input.lab:

% hts_engine -s 48000 -p 240 -a 0.55 \
-m nitech_jp_atr503_m001.htsvoice \
-ow output.wav \
input.lab

see how the backslashes keep the command going across lines? that's the move. output.wav walks out the door and it's literally talking. obsessed. πŸ”₯


πŸ‘‘ AUTHOR πŸ‘‘

this manual page was written by Koichi Akabe <vbkaisetsu@gmail.com> for the Debian system (and may be used by others). permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

on Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. go read it if you want the full lore, it's giving required reading πŸ“š


and that's the whole page bestie!! this was the htsengine(1) manual, General Commands Manual, and yes the footer really is just htsengine(1) again β€” no version number, no date, just the name doing a little encore. periodt. πŸ’œβœ¨