Half-Life VOX/HEV presets (NetTTS VOX profile); docs

This commit is contained in:
Fisto
2026-09-21 11:17:30 +02:00
parent 4d1c31f1c9
commit 1cc18c812b
6 changed files with 200 additions and 0 deletions
+27
View File
@@ -23,6 +23,8 @@
# VESKSLOP_TTS_HUM_MS leading low hum in ms, 0 = off (default 80)
# VESKSLOP_TTS_HUM_HZ hum frequency, 30-200 (default 75)
# VESKSLOP_TTS_HUM_DB hum peak level, -80..-6 (default -48)
# VESKSLOP_TTS_PRESET vox | hev (Half-Life profiles, Keith Bell;
# vox also enables VOX prosody)
#
# Output: 48 kHz mono s16le WAV, trimmed, faded, loudness-normalized.
set -eu
@@ -55,6 +57,12 @@ WORDS=${VESKSLOP_TTS_WORDS:-0}
WORD_GAP=${VESKSLOP_TTS_WORD_GAP_MS:-120}
VOX=${VESKSLOP_TTS_VOX:-0}
VOX_CLEAN=${VESKSLOP_TTS_VOX_CLEAN:-0}
PRESET=${VESKSLOP_TTS_PRESET:-}
# The VOX preset is the Half-Life announcement voice: it implies VOX prosody
# unless the caller explicitly disables it.
if [ "$PRESET" = "vox" ] && [ -z "${VESKSLOP_TTS_VOX:-}" ]; then
VOX=1
fi
HUM_MS=${VESKSLOP_TTS_HUM_MS:-80}
HUM_HZ=${VESKSLOP_TTS_HUM_HZ:-75}
HUM_DB=${VESKSLOP_TTS_HUM_DB:--48}
@@ -179,6 +187,25 @@ if [ -n "$SPEAKER_GUID" ]; then
P_LOWER=40
P_EXPR=""
# Half-Life presets for Keith Bell (the game's announcement voice).
# "vox" is the approximated Valve VOX profile published by NetTTS
# (scripts/winetricks/nettts_flextalk_vox_profile.reg); "hev" is a starting
# point for the HEV suit voice, which has no published profile.
case "$PRESET" in
vox)
if [ "$ENGVOICE" = "Keith Bell" ]; then
P_PITCH=3; P_RATE=17; P_VOLUME=70
P_PROM=22; P_HEAD=52; P_LOWER=40
fi
;;
hev)
if [ "$ENGVOICE" = "Keith Bell" ]; then
P_PITCH=15; P_RATE=24; P_VOLUME=70
P_PROM=22; P_HEAD=52; P_LOWER=40
fi
;;
esac
if [ -n "$PROFILE" ]; then
OLDIFS=$IFS
IFS=','