Ga naar de inhoud
Home » VoIP Asterisk taal sounds toevoegen

VoIP Asterisk taal sounds toevoegen

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