Есть режим рации, и он построен на одном решении: сам голос никогда не покидает ваше устройство. Зажали кнопку, сказали — речь распознаётся на телефоне, а едет обычное текстовое сообщение. На другой стороне оно проговаривается вслух с именем отправителя. Два человека с телефонами в карманах разговаривают, не доставая рук, — а по сети на самом деле прошла фраза, не запись.
Почему текст в проводе
- Он помещается везде. Фраза — это несколько сотен байт: она одинаково легко едет через интернет, локальную сеть или кадр LoRa. Голосовой канал по радио на таких битрейтах физически невозможен — а разговор возможен.
- Это остаётся разговором. Всё сказанное в режиме рации ложится в пространство обычными сообщениями — их можно искать, цитировать, прочитать позже тем, кто присоединился после. Ничто не существует только как звук в эфире.
- Нечего перехватывать дважды. Распознавание происходит на устройстве; аудио никуда не выгружается, облачных сервисов речи нет. Модель живёт на вашем телефоне.
Как это ведёт себя
- Зажми и говори — отпустили, и распознанная фраза отправлена от вашего имени. Распознавание держит ритм разговора: меньше секунды на короткую фразу на среднем телефоне, и по-русски, и по-английски.
- Входящее проговаривается — «nika: мы дошли до лагеря» — системным голосом, сначала имя, так что телефон в кармане работает приёмником.
- Заблокированный экран считается. Сообщение, пришедшее при погашенном экране, всё равно проговаривается. Телефон в куртке на тропе ведёт себя как рация, которой притворяется.
Честные края
Ворота здесь — качество распознавания: локальная модель хорошо держит повседневную речь на RU/EN, но это транскрипция, и она изредка склеивает слова — что сказано, то и видно, а что видно, то и уехало. Через LoRa режим работает потому, что текст есть текст; молодая часть — сам радиопуть, о чём прямо сказано на странице о радио.