Sovint hem d'utilitzar locucions específiques que ens proporciona el client per les centraletes asterisk que instal·lem, ja sigui per locucions de benvinguda o per IVRs amb les diverses opcions que podem escollir. En aquests article us farem 5 cèntims de com convertir aquests sons en formats que asterisk pugui entendre.
Asterisk pot treballar amb arxius wav (8khz, pcm de 16bits, mono), amb arxius WAV (wav49, que és un format específic wav de Microsoft codificat en gsm), en gsm o bé en qualsevol dels códecs dels quals asterisk pugui fer transcoding (alaw, ulaw, g722, g729...). Malauradament, en la majoria dels casos, ens trobarem que l’arxiu d’àudio que hem d’utilitzar no es troba en cap d’aquests formats, sino que és un wav a la màxima qualitat possible. [root@veuipcat ~]# sox arxiu_benvinguda.wav -t wav -r 8000 -b 16 -s -c 1 arxiu_benvinguda_mod.wav
Ara tenim l'arxiu convertit a un format wav que asterisk pot entendre i transformar, per tant podrà fer transcoding pels diversos códecs que tingui instal·lats la nostra centraleta.
Depenent de la quantitat de trucades simultànies i de la potència de la nostra centraleta, el transcoding pot ser un problema. Ens interessarà disposar de l'arxiu en diversos códecs, per que asterisk seleccioni el que més s'escaigui al reproduir l'arxiu, en comptes de transformar-lo:
[root@veuipcat ~]# sox arxiu_benvinguda.wav -t gsm -r 8000 -b 16 -c 1 arxiu_benvinguda_mod.gsm
[root@veuipcat ~]# sox arxiu_benvinguda.wav -t raw -r 16000 -b 16 -s -c 1 arxiu_benvinguda_mod.sln16
Nota: Sln16 és un format d'arxiu raw, mostrejat a 16KHz i amb una resolució de 16 bits. Aquesta és una de les poques fonts de so que asterisk, a partir de la versió 1.6.1 i superiors, accepta a 16 KHz i que ens permetrà realitzar a una conversió a un códec HD, "d'alta definició", com g722.
No podrem utilitzar SOX per convertir a g722. Per tal de fer-ho, utilitzarem l'aplicació "file convert" d'asterisk de la següent manera:
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.sln16 arxiu_benvinguda_mod.g722"
En aquest cas, tal com hem explicat abans, utilitzem com a font l'arxiu en sln16 en lloc del wav de 8KHz per obtenir la màxima qualitat.
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.wav arxiu_benvinguda_mod.alaw"
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.sln16 arxiu_benvinguda_mod.alaw"
Nota: Com podeu observar per alaw, ulaw o g729, podem utilitzar tant l'arxiu wav (8KHz, 16bits, mono), com l'arxiu sln16 (16 KHz, 16bits, mono) com a fonts. La diferència vindrà bàsicament en el temps de conversió que triga asterisk en fer el transcoding.
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.wav arxiu_benvinguda_mod.ulaw"
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.sln16 arxiu_benvinguda_mod.ulaw"
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.wav arxiu_benvinguda_mod.g729"
[root@veuipcat ~]# asterisk -rx "file convert arxiu_benvinguda_mod.sln16 arxiu_benvinguda_mod.g729"
Digium ha posat a disposició de la comunitat una aplicació on-line per tal que poguem convertir locucions als formats wav 8 KHz, slin 8KHz, g729 i gsm.
Només cal que entrem a http://www.digium.com/en/products/ivr/audio-converter.php, seleccionem l’àudio que volem convertir i el format de destí. Aquesta eina ens serà molt útil en cas de necessitar arxius en g729 i no disposar de llicències per fer transcoding.
Amb això ja podem tenir els nostres arxius convertits als formats adequats pel nostre asterisk i més utilitzats: wav, alaw, ulaw, gsm, g722, g729 i sln16.
Referències:
http://blogs.digium.com/2011/04/19/asterisk-sound-files-101/
http://blogs.digium.com/2011/06/28/asterisk-sound-files-101-part-2/
http://www.voip-info.org/wiki/view/Convert+WAV+audio+files+for+use+in+Asterisk

www.veu-ip.cat de http://www.veu-ip.cat està subjecta a una llicència de Reconeixement-NoComercial-CompartirIgual 3.0 Espanya de Creative Commons