wav2gsm

В телефонии, и конкретно в системе 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