docs(ats): образцы звучания собираются из списка файлов AGI-харнесса + скрипт сборки (в ручном образце «в пятницу» вместо «сегодня»)
This commit is contained in:
parent
47b3ccf28f
commit
5a71fbceba
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
# Образцы звучания робота для владельца: собираются ТОЛЬКО из тех файлов и в том
|
||||
# порядке, который выводит AGI-харнесс (bash ss-dialog.agi с подставленными Setvar).
|
||||
#
|
||||
# Зачем правило: 15.09 образец собрали руками и в первый вариант (сегодняшний день)
|
||||
# подставили «в пятницу» вместо «сегодня» — владелец решил, что робот называет день
|
||||
# недели вместо «сегодня». Робот был прав, ошибочен был образец.
|
||||
#
|
||||
# Порядок фраз берём из вывода прогонов:
|
||||
# python3 /tmp/check_today_wording.py (слово «сегодня» для сегодняшнего дня)
|
||||
# python3 /tmp/agi_harness_dlv.py (сценарии доставки и самовывоза)
|
||||
# там в строках «играет:» перечислены реальные файлы.
|
||||
#
|
||||
# Запуск: bash make-samples.sh → mp3 в /root/robot_samples/ (отправить владельцу в чат).
|
||||
set -euo pipefail
|
||||
|
||||
W=${W:-/root/ss_wavs} # копии озвучек с АТС (tar с /var/lib/asterisk/sounds/ru)
|
||||
N=${N:-/tmp/dlv_frags} # новые фрагменты доставки
|
||||
OUT=${OUT:-/root/robot_samples}
|
||||
mkdir -p "$OUT"
|
||||
|
||||
mix () { # $1=имя результата, дальше — список файлов
|
||||
name=$1; shift
|
||||
args=(); for f in "$@"; do args+=(-i "$f"); done
|
||||
filt=""; for i in $(seq 0 $(($# - 1))); do filt="${filt}[$i:a]"; done
|
||||
ffmpeg -v error -y "${args[@]}" -filter_complex "${filt}concat=n=$#:v=0:a=1[out]" \
|
||||
-map "[out]" -ar 8000 -ac 1 -b:a 64k "$OUT/$name.mp3"
|
||||
printf "%-38s %5s КБ\n" "$name.mp3" "$(( $(stat -c%s "$OUT/$name.mp3") / 1024 ))"
|
||||
}
|
||||
|
||||
# 1. Самовывоз, звонок в пятницу по готовому заказу: сегодня / понедельник / вторник
|
||||
mix samovyvoz_pyatnica_segodnya \
|
||||
"$W/ss_pkp_intro.wav" \
|
||||
"$W/ss_pkp_menu1.wav" "$W/ss_pkp_d_today.wav" \
|
||||
"$W/ss_pkp_menu2.wav" "$W/ss_pkp_d_1.wav" \
|
||||
"$W/ss_pkp_menu3.wav" "$W/ss_pkp_d_2.wav" \
|
||||
"$W/ss_half_pkp.wav" "$W/ss_ok_first.wav" "$W/ss_tail_pkp.wav"
|
||||
|
||||
# 2. Доставка, заказ готов в пятницу: понедельник и вторник (в день готовности не возим)
|
||||
mix dostavka_pyatnica_pon_vt \
|
||||
"$N/ss_dlv_intro.wav" \
|
||||
"$N/ss_dlv_menu1.wav" "$W/ss_pkp_d_1.wav" \
|
||||
"$N/ss_dlv_menu2.wav" "$W/ss_pkp_d_2.wav" \
|
||||
"$W/ss_half_dlv.wav" "$W/ss_ok_first.wav" "$W/ss_tail_dlv.wav"
|
||||
|
||||
# 3. Доставка, заказ готов в четверг, звонок в пятницу: сегодня и понедельник
|
||||
mix dostavka_segodnya_ponedelnik \
|
||||
"$N/ss_dlv_intro.wav" \
|
||||
"$N/ss_dlv_menu1.wav" "$W/ss_pkp_d_today.wav" \
|
||||
"$N/ss_dlv_menu2.wav" "$W/ss_pkp_d_1.wav" \
|
||||
"$W/ss_half_dlv.wav" "$W/ss_ok_first.wav" "$W/ss_tail_dlv.wav"
|
||||
|
||||
# 4. Самовывоз, обычный день, окно подряд: сегодня / завтра / послезавтра
|
||||
mix samovyvoz_obychnyy_den \
|
||||
"$W/ss_pkp_intro.wav" \
|
||||
"$W/ss_pkp_day3.wav" \
|
||||
"$W/ss_half_pkp.wav" "$W/ss_ok_first.wav" "$W/ss_tail_pkp.wav"
|
||||
Loading…
Reference in New Issue