Как захватить голосовые данные PCM через последовательный порт и обработать? - PullRequest
1 голос
/ 15 декабря 2011

У меня есть телефонный модем (SIM5320EVB), который передает голосовые данные на ttyUSB0 в виде PCM с 1600 байтами каждые 100 мс. Я могу просматривать данные на миникоме.Как захватить данные PCM в Linux (я использую Ubuntu) и услышать их вживую на лету или хотя бы сохранить и воспроизвести данные?Есть ли какое-либо приложение или API?Если предложен хотя бы такой подход, я постараюсь его разработать ..

Ответы [ 2 ]

1 голос
/ 15 декабря 2011
cat /dev/ttyUSB0 > my_cap_file
# make some noise for 5s for example, then hit ^C

затем получите Audacity и попробуйте открыть файл с ним, пробуя разные форматы ввода.Вы должны быть в состоянии услышать звук, который вы произвели, если угадаете правильный формат.

0 голосов
/ 25 марта 2016

Установите sox для команды play и используйте: play -r 8000 -c 1 -t raw -e signed-integer -b 16 /dev/ttyUSB0. То есть: скорость передачи данных 8 кГц, 1 канал (моно), необработанные данные (PCM), формат - целое число со знаком 16 бит, и данные могут быть считаны с ttyUSB0.

Для этого требуется sox, чтобы иметь возможность воспроизводить звук в вашей системе; У меня был успех с pulseaudio для базовой звуковой системы.

Возможно, вам придется изменить размер буфера для play. По умолчанию он буферизует данные, что создает небольшую, но очень заметную задержку.

...