Práce se zvukovými soubory vhodnými pro asterisk

Jak nahrát hlášky do asterisku

Jsou dva způsoby, jak si je pořídit. Buď je nahraji pomocí telefonu, přičemž použiji aplikace record (v extensions.conf),

[studio2]
; nahraji hlášku pod zadanou číslicí
exten => _X!,1,Wait(1)
exten => _X!,n,Record(NAHREJ2/${EXTEN}:alaw)
exten => _X!,n,Wait(1)
exten => _X!,n,Playback(NAHREJ2/${EXTEN})
exten => _X!,n,Hangup
; pokud to začíná hvězdičkou, tak to přehraji
exten => _*.,1,Wait(1)
exten => _*.,n,Playback(NAHREJ2/${EXTEN:1})
exten => _*.,n,Hangup

nebo je nahraji pomocí své kvalitní zvukové karty a mikrofonu (nejlépe USB sluchátka nebo kvalitní mikrofon na kameře) a převedu do tvaru, kterému rozumí asterisk. Výhoda tohoto řešení je, že mohu záznam např. rozsekat a např. vizuálně vidím, jestli není překřičen. Odstřihnout mohu též zbytečně dlouhá prázdná místa a pod. Použít lze např. audacity, který má verzi pro Linux i Windows. Tam si též nainstaluji balíček sox a mohu pokračovat podle našeho návodu.

<iframe width=“860” height=“600” src=“http://www.youtube.com/embed/t4lSO4R5-h8?hl=cs&fs=1” frameborder=“0” allowfullscreen></iframe>

Pokud si soubor nahrajeme v audacity, může být dobré použít potlačení šumu Effects → Noise removal , dále zesílení zvuku na optimální (maximální) úroveň, ale tak aby zvuk nebyl překřičen Effects → Normalize. Pokud chci zesílit i za cenu překřičení nějakého okamžiku (clipped), mohu to docílit pomocí Effect → Amplify.

Pokud nahráváte více různých ale krátkých hlášek, které chcete potom uložit do více souborů (např. číslovky), můžete je nahrát v za sebou a potom rozdělit pomocí Analyze → Sound Finder a potom uložit File → Export Multiple https://fluent-forever.com/forums/topic/a-quicker-way-to-split-words-in-audacity/#.VaLbg0YpBGo Vyrábíme slin - neboli 16-bitový raw

x2raw

x2raw
#!/bin/bash
# Script to convert any mplayer supported audio file to RAW suitable for Asterisk IVRs.
file_name_without_extension="${1%.*}"
echo $file_name_without_extension
mplayer -ao pcm "$1" -ao pcm:file="$file_name_without_extension.wav"
sox -V "$file_name_without_extension.wav" -r 8000 -c 1 "$file_name_without_extension.raw"
rm "$file_name_without_extension.wav"

Délka souboru ve vteřinách

soxi -D out.wav

Pokud mám již wav file, tak stačí

soubor wav2raw

wav2raw
#!/bin/bash
sox -V "$1.wav" -r 8000 -c 1 "$1.raw"
wav2alaw
#!/bin/bash
sox -V "$1.wav" -r 8000 -c 1 -t al "$1.alaw"

wav2raw_all

wav2raw_all
#!/bin/bash
# využívá wav2raw a provede převod všech souborů v adresáři (prerekvizita: apt-get instlall parallel)
find  *.wav | parallel wav2raw {.}

Playraw

playraw
#!/bin/bash
play -t raw -r 8k  -b 16 -c 1 -L -e signed-integer $1

Playalaw

playalaw
#!/bin/bash
play -t raw  -r 8k -c 1 -e a-law $1
# jde take u-law a gsm

Otevření alaw v audacity

Pokud máme už vygenerovány hlášky v alaw, můžeme chtít zkontrolovat, zda-li jsou stále srozumitelné. Nebo je možné, že máme nějaké starší hlášky, s kterými chceme dále pracovat v audacity. (např. byly nahrány pomocí record, nebo monitor) V audacity můžeme otevřít soubor alaw pomocí Soubor→import → raw data a zde vybereme Kodování A-Law „bez indianness“ a rychlost vzorkování 8000 Hz. Soubory, s kterými pracuje asterisk, nemají žádnou informaci o tom, jak jsou v nich data uložena. Asterisk to rozlišuje pomocí koncovky, ale jiným programům to musíme exmplicitně zadat. Podobně by se otvíral soubor ve formátu gsm nebo slin.

alaw2wav
#!/usr/bin/ruby
# encoding: utf-8
Dir.glob(".") {|f| puts f}
#`sox -t raw -b -A -r 8000 old/$1.alaw -t wav -u -b new/$1.wav\n`;
# sox -t raw  -e a-law -r 8000 old/$1.alaw -t wav new/$1.wav
 
ivr/asterisk.txt · Last modified: 2019/02/07 16:55 (external edit)