AMBE-вокодер на сервере: цифровой звук DMR без донгла

Категория: ОсновыСложность: ★★☆~9 минут

Когда говорят «в DMR голос цифровой», за этим стоит конкретный кодек — AMBE+2. Понимание, как он работает и почему его сложно «подружить» с телефоном, объясняет половину архитектурных решений в любой современной сети. Разберём без воды.

Что такое вокодер и почему AMBE+2

Вокодер — это кодек речи: он сжимает голос в очень узкий поток (у DMR это ~2,45 кбит/с полезных данных плюс защита от ошибок). DMR использует AMBE+2 от компании DVSI. Рация оцифровывает ваш голос в AMBE, гонит по эфиру всего несколько байт на кадр (20 мс), а на приёме другой вокодер разворачивает это обратно в звук. Именно поэтому DMR помехоустойчив и экономен по спектру — сравнение режимов и их вокодеров в разборе DMR/D-STAR/C4FM/NXDN.

Зачем вообще «переводить» звук

Между двумя рациями переводить нечего: обе говорят на AMBE, поток идёт сжатым от начала до конца. Проблема появляется, когда в сеть нужно завести что-то не-DMR:

Вот эта операция PCM ⇄ AMBE и называется транскодинг, и делает её вокодер.

Почему раньше нужен был донгл

AMBE+2 — проприетарный и запатентованный (DVSI). Долгое время единственным «честным» способом получить AMBE из произвольного звука был аппаратный AMBE-донгл — USB-стик с фирменным чипом. Один донгл — один-два голосовых потока; на сеть с десятками абонентов это превращается в стойку донглов и кучу проводов. Именно поэтому многие проекты обходят телефон/SIP стороной: «дорого и громоздко».

Где зарыт «зоопарк» Связки вроде «DMR ↔ Analog_Bridge ↔ донгл ↔ SIP» работают, но это набор посредников: отдельные сервисы, отдельное железо, отдельные точки отказа. Чем их меньше — тем стабильнее сеть.

Программный вокодер на сервере

Существуют программные реализации MBE/AMBE-вокодера (open-source, на основе библиотеки mbelib и родственных) — они кодируют и декодируют AMBE+2 чисто в софте, без чипа. Если поставить такой вокодер на сервер рядом с мастером, происходит важное:

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

Про патенты — честно Сам алгоритм AMBE+2 запатентован DVSI; программные реализации — это независимый (clean-room) код. Для радиолюбительского и исследовательского применения это обычная практика, но для коммерческого продукта патентные риски стоит оценивать отдельно.
Итого Вокодер — это «переводчик» между обычным звуком и сжатым AMBE+2 эфира. Раньше для этого нужен был донгл, теперь хватает программного вокодера на сервере — и сеть получает телефон, приложение и голосовые сервисы без посредников. Связанное: устройство сети и мосты между сетями.