![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проиграть на голосовом модеме файл формата GSM?
Mixan © (2003-02-16 00:58:00)Желательно пример.
Mixan (2003-02-17 19:35:00) [1]Ну раз вы не знаете, подниму последний раз и пойду к модемщикам спрашивать :((
Mixan (2003-02-16 23:36:00) [2]Ну мастера, ну хоть кто-нибудь!!!!!!!!!!!!!!!!
Mixan (2003-02-16 12:37:00) [3]Ну мастера, напрягитесь, помогите... В руководстве написано вот что:
1. Формат GSM
GSM - это кадровый (фреймовый) формат. Один GSM-фрейм содержит 160 PCM выборок с частотой 8КГц, что составляет 0.02 секунды звучания. Размер одного GSM-фрейма 33 байта. Для использования в модемах каждый GSM-кадр снабжается начальным и конечным словами (маркерами), а также в конец фрейма добавляется один нулевой незначащий байт. Итого один GSM-фрейм имеет размер в 38 байт. Выглядит это следующим образом:
0xB6 0xB6 [0 .. {GSM FRAME} .. 32] 0x00 0xA5 0xA5
или
0xFE 0xFE [0 .. {GSM FRAME} .. 32] 0x00 0xA5 0xA5
Кадры, начинающиеся с 0xB6B6 обозначают GSM-фрейм, который содержит голосовые данные, уровень громкости которых ниже порога тишины DSP. 0xB6B6 - это маркер того, что модем определяет тишину. Кадры, которые начинаются с 0xFEFE, содержат речевые данные с нормальным уровнем. Слово 0xA5A5 - означает конец фрейма.
Эти начальные и конечные слова должны обязательно использоваться, для записи и воспроизведения через модем. Они должны быть удалены, если декодирование GSM-кадров необходимо делать программным путем.
В голосовых модемах с протоколом x.2 есть возможность выбирать будут ли GSM-кадры снабжаться маркерами или нет. Это можно указать в регистре S41. Во время передачи голосовых данных, модем сам распознает вид кадров (с маркерами или без них). Во время приема голосовых данных модем передает кадры, тип которых установлен в регистре S41.
А про передачу:
3. Передача голосовых данных
После ввода команды #VTX и получения ответа CONNECT можно передавать в модем голосовые данные на устройство вывода, указанное командой #VLS в соответствующем формате (см. #VSM). Для передачи данных в формате GSM,
необходимо сформировать 38-байтовые GSM-кадры (как было указано выше) и передавать их в модем. Если передаваемые данные находятся в PCM-формате (например, обычный WAV-файл), то необходимо с помощью специального кодера перекодировать их в формат GSM.
Для того, чтобы окончить вопроизведение голосовых данных, необходимо послать в модем символьную пару <DLE><ETX>. После чего модем выдаст ответ (VCON) и возвратится в голосовой командный режим.
Но лично мне это ни о чем не говорит :((