Точность живого перевода во многом определяется ещё до работы модели, местом микрофона. Возьмите звук с микшерского пульта, а не с места в двенадцатом ряду, распознайте его один раз, и ошибка станет одной строкой, которую кто-то может исправить для всех.
Встроенные в телефоны приложения для перевода — настоящее достижение. Они часто работают на модели распознавания речи, достаточно компактной, чтобы поместиться на устройстве и не слишком расходовать батарею (некоторые отправляют звук на сервер, когда есть соединение). Для коротких, чётких, бытовых фраз они справляются: спросить дорогу, прочитать меню, поговорить через прилавок.
Зал, полный людей, которые слушают одного говорящего, — совсем другая задача. Именно то, с чем хуже всего справляется небольшая модель, и встречается в живой речи: редкие слова и имена, слова, которые звучат похоже («their» и «there», «sail» и «sale»), технические термины, акценты, люди, которые говорят одновременно, и фоновый шум. В яхт-клубе модель, которая услышала «sale», сделала разумную догадку и уверенно ошиблась.
Две вещи заставляют небольшую модель гадать чаще большой. Её сжали, чтобы она помещалась в телефон, поэтому она знает меньше слов и меньше способов их произнести; фамилию, с которой она не встречалась, она приближённо восстанавливает только по звучанию. Кроме того, живое распознавание должно выбрать слово раньше, чем придёт остальная часть предложения, и модель не может воспользоваться тем, что решило бы выбор между «sail» и «sale»: следующими словами или сценарием, в котором сказано, о чём выступление. В распознавании речи контекст — это именно эти две вещи: окружающие слова и то, что известно заранее.
Когда модель не уверена, она угадывает. Перевод строится на догадке, а читающий не может этого знать. Никто в зале не видит, что строка была неверной, и тем более не может её исправить. А зал — это не один слушатель, а пятьдесят.
Телефон слышит зал, а не говорящего. Причина в расстоянии: петличный или настольный микрофон находится в нескольких сантиметрах от рта, а телефон в двенадцатом ряду — в десяти метрах и дальше, и большая часть звука до него доходит, сначала отразившись от стен, потолка и спинок кресел. Отражённый звук приходит с запозданием и размазанным. Сверх того телефон записывает кашель человека двумя рядами дальше, шёпот соседа и то, что громкоговорители делают с голосом по пути через зал. Каждое место получает немного другую запись, поэтому и расшифровка у каждого немного своя.
Телефон к тому же переводит только для одного человека. Пятьдесят слушателей с пятьюдесятью телефонами дают пятьдесят независимых расшифровок одного и того же выступления, с пятьюдесятью разными наборами ошибок. Два человека, которые сравнивают записи после, не согласятся, что было сказано. А докладчик тем временем обращается к стене поднятых телефонов, и читать такую аудиторию трудно.
Для некоторых людей в зале это больше, чем неудобство: от этого зависит, смогут ли они вообще следить за выступлением. Слушателю с нарушением слуха или тому, кто слушает на третьем языке, нужен один верный общий текст, а не пятьдесят лучших попыток. Значит, говорящего нужно распознать один раз и дать всем один и тот же результат. Однократное распознавание окупается, только если сделано хорошо, а это начинается с того, откуда берётся звук.
Расшифровка настолько хороша, насколько хорош звук, из которого она сделана. Поэтому первое решение — не какую модель использовать, а какой сигнал подать на вход. Второе — что сказать модели до начала.
Живая расшифровка берёт звук оттуда, где уже есть чистый сигнал:
VocalStack сам забирает поток по URL, поэтому с вашей стороны ничего не запускается. RTMP-поток работает наоборот: ваш энкодер передаёт его сам. Язык говорящего определяется автоматически, и он может переключаться в любой момент. Если вы знаете язык, а запись шумная или с сильным акцентом, его указание повышает точность.
Чистый звук устраняет ошибки, которые вызывает помещение. На ошибки, связанные со словарным запасом, он не влияет, и для них нужна другая помощь.
Телефон не знает, кто говорит и о чём выступление, поэтому название продукта или фамилия для него — просто звук, который нужно приблизительно угадать. Трансляции же можно заранее сообщить, чего ожидать.
Если добавить сценарий или слайды до начала, имена и термины из них перевешивают то, что движок расслышал неверно. Во время записи вкладка Script следует за говорящим, как телесуфлёр. Для такой речи, которая наполняет конференции и лекции и насыщена собственными именами и лексикой, которую общие модели слышали недостаточно часто, это самый большой прирост точности.
Чистый звук и глоссарий устраняют большую часть ошибок. Вопрос в том, что происходит с оставшимися.
Даже при хорошем звуке и сценарии часть строк выйдет неверной. Разница в том, что происходит дальше.
В телефоне — ничего. Неверная строка уплывает вверх, а перевод, построенный на ней, уплывает вместе с ней.
В трансляции строка, которая слишком неясна, чтобы её показывать, скрывается от слушателей с пометкой «Audio unclear», а не выдаётся за факт.
Есть ещё ведущий, у которого есть вкладка Fix: слова, в которых движок был не уверен, можно выделить цветом и подчеркиванием, щелчок открывает строку для проверки, а любое слово или строку можно переписать, пока расшифровка ещё идёт. Каждый слушатель видит исправление на своём языке. Каждая правка помечена, и её можно отменить.
Дело не в том, что сервер никогда не ошибается. Дело в том, что ошибка видна, принадлежит кому-то из зала и исправляется один раз для всех.
Исправления меняют то, что читают слушатели. Тем, кто предпочёл бы слушать выступление, достаётся тот же исправленный текст, но озвученным.
Слушатель, который предпочитает слушать, а не читать, может получать каждую переведённую строку в озвучке. По умолчанию каждому говорящему назначается свой стандартный голос того же пола, так что панель по-прежнему звучит как панель. Можно назначить голос каждому говорящему или отключить звук у одного из них.
С согласия говорящего можно пойти дальше и клонировать его голос по тридцати секундам речи — загруженным клипом или взятым прямо из записи, где говорит этот человек; несколько минут дадут лучший результат. Тогда перевод звучит голосом самого говорящего на каждом языке. Говорящего с сохранённым голосом можно распознать и в следующих записях, хотя система скорее оставит говорящего безымянным, чем назовёт не того человека.
Два правила здесь намеренные. Клонированный голос — это биометрические данные: его создают только с явного согласия говорящего, и его можно удалить в любой момент. А голос произносит только расшифровку или её перевод; его нельзя заставить сказать то, чего его владелец не говорил.
Всё сказанное до сих пор происходит, пока говорящий говорит. Последняя разница проявляется после того, как он замолчал.
Пятьдесят расшифровок с телефонов исчезают, когда приложения закрываются. Трансляция сохраняет запись в вашей библиотеке: звук и расшифровку со всеми исправлениями и переводами. Её можно воспроизвести строка за строкой, искать на любом языке и экспортировать; что умеет библиотека, описано в статье Одна ссылка — все языки. Слушатели ничего не стоят, сколько бы их ни было. Вы платите за расшифрованный звук: $0.60 в час за живую транскрибацию, с минимумом 5 минут на каждую транскрибацию, а ставки указаны на странице цен.
Телефон в каждой руке — хороший запасной вариант для разговора в коридоре. Но если залу нужно понимать одного говорящего вместе, его стоит распознать один раз, из источника, с человеком, который может исправить ошибки. Как это выглядит, можно увидеть в интерактивной демонстрации на главной странице.