De nederlandse sounds (opgeslagen onder /var/lib/asterisk/sounds/nl) zijn niet helemaal compleet. Je kunt deze aanvullen. Om er achter te komen welke je mist (en ook gebruikt worden) kun je de log van asterisk (/var/log/asterisk/full) doorspitten. Met de hand of een script. Een voorbeeld van zo’n script:
#!/bin/bash LOG=/var/log/asterisk/full SOUNDS=/var/lib/asterisk/sounds WANTEDLANG=nl NEEDED=/tmp/needed$$.txt NLSOUNDS=/tmp/availnl$$.txt EYECATCHER=Playing OUTPUT=/tmp/RaspbxMissingSound$$.txt TELEGRAM=false # # Error informatie # show_error () { echo "Onbekende optie of onvolledige commando regel."; } # # Het afhandelen van alle opties op de commando regel # # opties met argument is bv a: ipv a en heeft shift 2 ipv shift # OPTIONS=$(getopt --options t --longoptions telegram -- "$@") RC=$? if [ "$RC" != "0" ]; then { show_error exit 1 } fi eval set -- "${OPTIONS}" while true do case "$1" in -t) TELEGRAM=true shift ;; --) shift break ;; *) show_error exit 1 ;; esac done sudo grep "${EYECATCHER}" "${LOG}" | \ sed "s/${EYECATCHER}/\$${EYECATCHER}/" | \ cut -f2 -d '$' | \ cut -f1 -d '(' | \ sed -e "s/${EYECATCHER} //" -e "s#'##g" | \ cut -f1 -d . | \ sort -u | \ grep -v "^custom/" > ${NEEDED} sudo chmod 755 ${NEEDED} cd ${SOUNDS}/${WANTEDLANG} find . -type f -print | sed "s#^./##" | cut -f1 -d . | sort -u > ${NLSOUNDS} touch ${OUTPUT} while read SOUND do grep "^${SOUND}$" ${NLSOUNDS} 2>/dev/null 1>/dev/null RC=$? if [ ${RC} -ne 0 ] ; then { echo ${SOUND} >> ${OUTPUT} } fi done < ${NEEDED} FOUND=$(cat ${OUTPUT} | wc -l) if [ ${FOUND} -ne 0 ] ; then { if ${TELEGRAM} ; then { /usr/local/bin/telegramsend "Nederlandse Sounds die missen op PBX" /usr/local/bin/telegramsend ${OUTPUT} } else { cat ${OUTPUT} } fi } fi sudo rm -f ${NEEDED} rm -f ${NLSOUNDS} ${OUTPUT} exit 0
Misschien een beetje eng om je eigen stem op te nemen. Probeer een ander slachtoffer te vinden die het wel wil inspreken. Vinden die het ook eng , of zijn ze gewoon duur … probeer dan AI. Een voorbeeld hiervan is https://elevenlabs.io/ Maar er zijn er vast en zeker nog wel meer.
Heb je de opnames buiten FreePBX (gewoon in mono!!!) dan moet je ze nog copieren naar /var/lib/asterisk/sounds/nl. Asterisk houd van excentrieke formaten (.g722). Converteren naar .g722 vanuit b.v. .wav kun je als volgt doen:
for f in $(ls *.wav | cut -f1 -d .)
do
ffmpeg -i ${f}.wav -ar 16000 -acodec g722 -b:a 64k ${f}.g722
done
abc