Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Prefiere el consumo de lo Hecho en México
BúsquedaHagamos que México crezca..
![]() Prefiere el consumo de lo Hecho en México Posts Recientes
Conversación |
Como cambiar de formato las voces pregrabadas en Asterisk Ej. de GSM a UlawHace unos días instalé un Conmutador de Voz sobre IP basado en Asterisk para un cliente, todo jaló bien, su tarjeta Digium de 4 Puertos FXO, su IVR, DISA, Grupos de Marcación, recepción y envío mediante fax virtuales, etc., pero al final había un solo detalle, las voces pregrabadas de Asterisk no se escuchaban bien, esas voces que te dicen que "la extensión no está disponible", "marcación incorrecta", etc, etc. se escuchaban bajas y con mucho ruido.
Al revisar los Teléfonos VoIP que estaban usando en la configuración noté que solo soportaban los códecs ulaw, alaw, g729 y g723, por lo que de ahí se derivaba el detalle, ya que las voces pregrabadas estaban en formato GSM, entonces asterisk al realizad transcoding de GSM a g711u(ulaw) al parecer el teléfono no lo aceptaba tan bien que por ello se generaba la poca calidad de las voces pregrabadas. Para esto no se me ocurrió más que convertir las voces de GSM a ulaw haciendo uso de asterisk mediante el comando :
rasterisk -x "file convert archivo_origen.gsm archivo_final.ulaw" Para esto hice un script en PHP que convirtiera al vuelo los más de 1000 archivos en formato gsm, para pasarlos a formato ulaw. El script es el siguiente:
#!/usr/bin/php5 <? //ejemplo de uso : astconvert.php *.gsm .ulaw /var/lib/asterisk/sounds/es if($argv[1]!=""){ $extension = $argv[1]; $extension_salida = $argv[2]; ($argv[3]=="")? $soundsDir = "/var/lib/asterisk/sounds/es_ulaw":$soundsDir = $argv[3]; $command = "find $soundsDir -iname \"$extension\" "; exec($command, $_result); $count=0; foreach($_result as $file){ $extension = str_replace("*", "", $extension); $out_file = str_replace($extension, $extension_salida, $file); $command = "rasterisk -x \"file convert $file $out_file\" "; echo $count++." : ".$command."\n"; exec($command); } } ?> Básicamente como se usa el script es de la siguiente forma
astconvert.php <*.FORMATO_A_BUSCAR> <.FORMATO_A_CONVERTIR> <DIRECTORIO_DONDE_BUSCAR> astconvert.php *.gsm .ulaw /var/lib/asterisk/sounds/es Con esto básicamente ya podremos convertir nuestros archivos GSM a ULAW, de tal forma que podría sacarnos de un apuro como el que me salió aquella mañana en las oficinas de mi cliente. Solo como recomendación es necesario tener permisos de escritura sobre el directorio dónde se va hacer la conversión de formato.
Fuentes XML de comentario: RSS | Atom
|
Nube de EtiquetasEventosEncuestaComentarios Recientes
|
Dejar un comentario