модем GSM, запись звука, помощь в экспериментах

И ТАК, как оказалось данные с порта берутся не правильно.
а ответ валялся на поверхности.
текущие параметры звука можно узнать по команде:
AT^CVOICE?
ответ:
^CVOICE: 0, 8000, 16, 20
что означает:
0 - голос поддерживается
8000 - частота
16 - битность
20 - 20mc блок

узнаем сколько байт весит 1 сек звука:
16 бит = 2 байта/герц.
8000 * 2 = 16000 байт/сек.
20 мс / 1000 = 0,02 сек. - задержка между блоками.
16000 * 0,02 = 320байт - размер блока.

сделал небольшой скрипт на питоне который открывает "${DATA_PORT}" и получает данные порциями по 320 байт каждые 0,02 сек и звук пошел )))

ВОПРОС: есть ли консольная программа которая может получать данные кусочками?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
есть ли консольная программа которая может получать данные кусочками?
Да наверно почти любой плеер, это же размер стартового буфера вроде как...(типа ffplay -probesize $var) Ну конечно свободного времени у вас многовато, отпуск?)
Ошибки в тексте-неповторимый стиль автора©
indeviral
отпуск?)
уволился недавно...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Попробовал вставить более точный заголовок (правда не все, не понятно какой на самом деле должен быть формат) ... такого типа
hexdump -C -n 48 record.wav
00000000  52 49 46 46 0c 58 00 00  57 41 56 45 66 6d 74 20  |RIFF.X..WAVEfmt |
00000010  10 00 00 00 01 00 01 00  40 1f 00 00 80 3e 00 00  |........@....>..|
00000020  04 00 10 00 64 61 74 61  01 00 ff ff fa ff fa ff  |....data........|
вот что говорит file
file record.wav
record.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
но звучит один шум - такое впечатление, что это не голосовое сообщение модема, а просто его шум. Чтобы понять, нужно знать точно, что за формат.

PS - чтобы понять, что это - или шум или голосовое сообщение, нужно знать формат записываемого голосового сообщения.
Ошибки не исчезают с опытом - они просто умнеют
nafanja
сделал небольшой скрипт на питоне который открывает "${DATA_PORT}" и получает данные порциями по 320 байт каждые 0,02 сек и звук пошел )))
Вот это я пропустил ... то есть звук ты сейчас слышишь всегда??? ... имею ввиду не записанный или слышишь и записанный???
В части 320 байт каждые 0,02 сек ну это вроде везде и пишут ... и есть скрипты, в которых это учитывается.

Но мне не понятно другое - в старых статьях про GSM встречалось такое
... голос по gsm передается пакетами 320 байт в формате slin каждые 20 мс ...
точнее говоря ранее использовался кодек slin, сейчас вроде бы упоминаний о нем нет, но есть упоминание о кодеке GSM 06.10 ... и мне не понятно - либо сейчас сжатие не используется, то есть в заголовке должно быть 0х0100 (PCM, несжатые данные) или все таки данные сжатые, а это полностью меняет картину прослушивания записанного файла. В связи с чем повторю вопрос - удалось прослушать записанный файл???
Ошибки не исчезают с опытом - они просто умнеют
off top
как то уже писал, что самый лучший способ хранить свои важные пароли, не доверяя никаким утилитам, а прятать их или в аудио или видео файлы - музыка играет, видео смотрится, а если и утащат, то никогда не узнают .... но нужно хорошо знать формат файлов, чтобы не испортить его ....
Как пример, спрятал в файле wav пароль password
hexdump -C -s 93 -n 8 ~/TTT/test.wav ... или hexdump -C -s 0x5d -n 8 ~/TTT/test.wav
0000005d  70 61 73 73 77 6f 72 64      |password|
Ошибки не исчезают с опытом - они просто умнеют
В части кодеков, упомянутых выше - погуглил и как пишут - все зависит от конкретного модема и может ли он передавать/принимать голосовой сигнал из линии в цифровом виде и какие у него поддерживаемые кодеки ... то есть, как я понимаю, о кодеках заботиться не нужно, в MODEM-VOICE все должно быть учтено ... но так и не понял, какой формат должен быть у записанного файла (а вот это можно узнать сохранив файл указанной ниже прогой)

nafanja, когда гуглил попалась следующая статейка ... одно но - платная ... но поддерживаются модемы Huawei E1550
Ошибки не исчезают с опытом - они просто умнеют
vasek
удалось прослушать записанный файл???
да

странно что с помощью cat "${DATA_PORT}" > record.raw получаются битые файлы.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Не понял как записал файл ... и интересно посмотреть его заголовок, лучше побольше, например байт 128 - hexdump -C -n 128 <file>
Ошибки не исчезают с опытом - они просто умнеют
https://transfiles.ru/d8yc5
MD5 5d5c606975af48d315a7e9286daa1095

вот такой файл легко импортируется
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.