В телефонии, и конкретно в системе Asterisk, иногда нужно использовать аудио-формат файлов GSM для воспроизведения звуковых треков, например при выдачи звукового сообщения. Для конвертации из WAV в GSM в Linux есть замечательная утилита sox.
Скрипт wav2gsm.sh ниже конвертирует все файлы в текущей папке из WAV в GSM:
#!/bin/bash for i in *.wav do sox $i -r 8000 -c 1 $(basename $i .wav).gsm resample -ql -g done
Без ключика -g получаем ненастоящий GSM-файл:
RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
А при использовании ключика -g получаем:
RIFF (little-endian) data, WAVE audio, GSM 6.10, mono 8000 Hz
В Windows есть программа для редактирования GSM-файлов: WavePad Audio Editor от компании NCH Software (http://www.nch.com.au/wavepad).
$ sox filename.gsm -r 44100 -a filename.wav $ sox filename.wav -r 8000 -c 1 -s -w filename.wav resample -ql