Усередині чотирьох конвеєрів перекладу, на яких працює InterMIND

В InterMIND не існує єдиного «перекладу». Є чотири конвеєри — голос, чат, нотатки, документи — кожен зі своїм рушієм, бюджетом затримки та межами якості. Ось що насправді відбувається між моментом, коли ви говорите, і моментом, коли учасник іншою мовою вас розуміє.

The Mind.com Team

  • Чотири конвеєри, а не один рушій. Голос, чат, нотатки та документи працюють кожне на власному рушії, з власним бюджетом затримки та власним рівнем якості. Спільний у них лише вибір мови.
  • Різні завдання, різні рушії. Голос перекладається окремо для кожної цільової мови в кімнаті на нашому власному рушії у Франції, а документи йдуть до Document API від DeepL: 23 та 30 мов.
  • InterMIND зберігає всю зустріч мовою кожного учасника: голос, чат, нотатки та файли, а якість для кожної пари мов публікується щомісяця. Гості приєднуються за посиланням безкоштовно й без облікового запису, а ви платите лише за активних учасників.
Усередині чотирьох конвеєрів перекладу, на яких працює InterMIND

Усередині чотирьох конвеєрів перекладу, на яких працює InterMIND

Стара сторінка /product/overview/how-it-works на mind.com відстала від продукту на кілька великих релізів. Вона описує єдиний «рушій перекладу», як це роблять більшість сторінок вендорів: одна велика стрілка від «ви говорите» до «вони чують». Ще два роки тому така картинка була спрощенням. Сьогодні вона просто хибна.

Насправді InterMIND працює на чотирьох окремих конвеєрах перекладу. Кожен розв'язує свою задачу, має свій рушій, свій бюджет затримки та свій рівень якості. Вони мають спільний вибір мови, але не мають спільного рушія.

Це оновлена відповідь на запитання «як це працює».

Супутній матеріал: «Скільки мов ви підтримуєте?» розповідає, що кожен конвеєр покриває (23 / 23 / 30 / 17). Ця стаття розповідає, що кожен конвеєр робить і чому це окрема річ.


Чому «один рушій для всього» — це неправда

Платформа для живих зустрічей має виконувати щонайменше чотири завдання одночасно, і вони тягнуть у несумісні боки:

  1. Голос у реальному часі — звук на вході, перекладений звук на виході, поки мовець ще говорить, і кожен глядач чує власною мовою. Головне обмеження — затримка.
  2. Текст чату в реальному часі — короткі повідомлення, швидко, зі збереженням редагувань, цитат і HTML-структури.
  3. Спільні нотатки в реальному часі — колаборативний набір символ за символом зі структурною ієрархією (списки, заголовки, чекбокси), яка має пережити переклад.
  4. Асинхронні файли документів — 40-сторінковий PDF, скинутий у чат. Бюджету затримки немає. Головне обмеження — точність відтворення: форматування, таблиці, номери сторінок, шрифт.

Можна зробити один гігантський виклик LLM, який намагається робити все чотири. Ми пробували. Він поганий у всіх чотирьох. Бюджет затримки для голосу означає, що модель не може «думати», а вимога точності для документів означає, що має. Редагування в чаті потребує diff мовою глядача, а 40-сторінковий PDF потребує збереження формату, якого не дає жодна модель із потоковою видачею токенів.

Тому ми запускаємо чотири. Ось кожен із них.


Конвеєр 1: Переклад голосу в реальному часі

Задача: учасник говорить французькою. Інший приєднався німецькою, третій бразильською португальською, четвертий японською. Кожен має почути мовця своєю мовою, у своєму навушнику, із затримкою, достатньо короткою, щоб зоровий контакт лишався можливим.

Бюджет: слухач ніколи не повинен на це чекати. Щойно перекладена мова відстає настільки, що люди починають говорити поверх неї, зустріч скочується до «давайте просто перейдемо на англійську».

Як насправді рухається звук

Конвеєр перекладу голосу: браузер мовця надсилає звук через WebRTC на наш власний рушій — медіасервер Mind API в OVH, Франція, — який виконує ASR і перекладає на кожну цільову мову, присутню в кімнаті; кожен глядач отримує власну перекладену аудіодоріжку, а ws-server отримує слова транскрипту для підсумку.

Кілька речей варто назвати прямо:

  • ASR працює на медіасервері. Звук мовця йде через WebRTC на наш власний рушій — Mind API в OVH, Франція — і розпізнається там, на тому самому сервері, що несе дзвінок; браузер лише надсилає звук і отримує слова назад. Ніякого окремого мовленнєвого вендора й жодного зайвого переходу, перш ніж може початися переклад. (Голосові нотатки в чаті — виняток: їхнє перетворення мовлення на текст працює на Azure AI Speech, мовленнєвому сервісі шлюзу ШІ за замовчуванням.)
  • Переклад — це не єдине розгалуження. Рушій перекладає для кожної цільової мови, присутньої в кімнаті, а не для кожного глядача: переклад на мову починається, коли перший слухач нею запитує перекладений потік, троє учасників, які обрали німецьку, ділять один німецький переклад, а якщо ніхто не слухає арабською, то й арабською нічого не перекладається. Саме тому зустріч із чотирма мовами коштує так само, як зустріч із сорока, з поправкою на те, хто реально прийшов: ми ніколи не перекладаємо мовами, якими ніхто з учасників не слухає.
  • Синтезоване мовлення — для кожного глядача окремо. Кожен учасник отримує власну перекладену аудіодоріжку, змікшовану з відео оригінального мовця. Вони дивляться не якусь головну «перекладену зустріч», а ту саму зустріч, зі своїм особистим аудіоканалом, перекладеним на обрану мову. Ось чому двоє людей в одній фізичній кімнаті можуть вдягнути навушники й чути різні мови.

Чому це важливо, коли зустріч іде не за планом

У 60-хвилинному дзвінку з вісьмома мовами все ламається цікавими способами: розриваються WebSocket-з'єднання, ASR тимчасово помиляється у власній назві, у когось нестабільна мережа. Описана архітектура дає змогу ізолювати збої: збій аудіо в одного глядача не впливає на решту сімох, бо рушій перекладу ніколи не створював «того самого перекладу» — він створив вісім, паралельно, і відновлюватися доводиться лише постраждалому.

Сам рушій наш, він розміщений на нашій власній інфраструктурі. Ми не пропускаємо голос у реальному часі через сторонні LLM загального призначення. Бюджет затримки їх виключає; питання резидентності даних виключає їх для регульованих клієнтів, яким це справді важливо.

Що ми публікуємо про якість голосу: /benchmark щомісяця проганяє продакшн-конвеєр голосу на реченнях FLORES-200 для кожної опублікованої пари мов. Суддю названо (основний — Gemini 3.7 Flash, резервний — Claude Sonnet 5). Повний розподіл — медіана, p10, p90, мінімум, максимум, розмір вибірки — є на сторінці. Дивіться методологію, щоб зрозуміти, що ці числа вимірюють, а що ні.


Конвеєр 2: Переклад чату в реальному часі

Задача: кожне повідомлення чату на зустрічі перекладається для кожного учасника його мовою, щойно його надіслано. Плюс редагування, і вони мають виглядати як редагування, а не як повторний переклад.

Бюджет: вільніший, ніж у голосу. Повідомлення чату може з'явитися іншою мовою з невеликою паузою, і нікого це не обходить. Людей цікавить, чи переклад правильний і чи редагування мають сенс.

Що насправді робить конвеєр чату

Кожне повідомлення проходить через той самий рушій перекладу, що й голосовий конвеєр, але з іншою попередньою та подальшою обробкою:

  • HTML-структура зберігається. Чат підтримує форматований текст (абзаци, списки, цитати, жирний, курсив). Ми перетворюємо його на простий текст для моделі, перекладаємо, а потім загортаємо результат в оригінальні теги. Модель ніколи не бачить HTML — вона бачить чисту прозу.
  • Цитати перекладаються незалежно. Якщо ви відповідаєте на повідомлення й цитуєте його, блок [QUOTE]…[/QUOTE] і нова частина перекладаються як окремі одиниці, щоб модель не могла їх сплутати.
  • Довгі повідомлення розбиваються на частини. Ми ділимо за межами абзаців по 1000 символів на частину. Кожна частина — окремий виклик перекладу. Ми не згодовуємо моделі 4000-символьні «романи» за раз: збої (обрізання, втрачені абзаци, обриви посеред речення) надто бридкі.
  • Переклад ледачий. Ми використовуємо IntersectionObserver: повідомлення перекладається лише тоді, коли воно прокручується у видиму область глядача. Раніше перемикання мови в довготривалому каналі повторювало всі виклики API перекладу з історії. Тепер ні.

Цікава частина: редагування як diff

У v1.2 ми змінили, як редагування в чаті поводяться для глядачів іншою мовою. Раніше було так: хтось редагує повідомлення, ми перекладаємо його повністю наново, ви бачите свіжий абзац і мусите самі шукати, що змінилося.

Нова поведінка:

  1. Оригінальне повідомлення вже було перекладене вашою мовою.
  2. Коли відправник редагує, ми перекладаємо нову версію.
  3. Ми обчислюємо diff між вашим попереднім перекладом і вашим новим перекладом вашою мовою.
  4. Ми показуємо цей diff у тексті — так, як Git показує, що змінилося.

Тож коли «review by Tuesday» англійською стає «review by Thursday», ваш іспаномовний колега бачить виділене martes → jueves, а не переклеєний абзац, який треба перечитувати.

Це вимагало розглядати конвеєр чату як станову кеш-пам'ять для кожного глядача, а не як безстановий ендпоінт «переклади на запит». Документам і голосу цього не потрібно. Чату — потрібно.


Конвеєр 3: Переклад спільних нотаток у реальному часі

Задача: ведучий відкриває панель спільних нотаток і починає друкувати. Кожен учасник бачить нотатки своєю мовою, символ за символом, зі збереженою структурою документа: заголовками, вкладеними списками, чекліcтами, блоками коду.

Бюджет: той самий, що й у чату, але з двома додатковими обмеженнями:

  • Те, що перекладається, змінюється під час перекладу. Ведучий ще друкує. Наївна система, що перекладає «весь документ» при кожному натисканні клавіші, спричиняє мерехтіння та спалює бюджет API. Ми перекладаємо на рівні зміненої одиниці, а не всього документа.
  • Структура має вціліти. Якщо попросити модель перекладу перекласти markdown-блок із трьома вкладеними списками, ви отримаєте щось, що виглядає як оригінал, але з непомітно сплощеною ієрархією, перенумерованими пунктами чи зсунутими відступами. Ми не даємо моделі бачити весь блок.

Чим конвеєр нотаток відрізняється від чату

Головне — збереження структури. Ми перекладаємо кожен пункт списку незалежно, а не як один документ. Модель бачить:

«Перевірка відповідності вимогам — результати Q2»

— а не:

"# Project plan\n## Quarter\n- Compliance review — Q2 deliverables\n- Vendor scoring\n - Tier 1 vendors..."

Обгортковий документ — <ul>, заголовки, відступи — відбудовується на стороні клієнта за тією самою структурою, яку мав оригінал, а кожен кінцевий вузол замінюється своїм перекладом. Модель ніколи не отримує змоги «покращити» ієрархію.

Нотатки також використовують ту саму модель diff для кожного глядача, що й редагування в чаті: якщо ведучий змінює рядок, глядачі іншими мовами бачать виділені змінені слова, а не свіжий абзац.


Конвеєр 4: Асинхронний переклад документів

Задача: хтось скидає в чат 40-сторінковий PDF, документ Word, презентацію PowerPoint або таблицю Excel. Кожен учасник може запросити копію своєю мовою. Перекладений файл має виглядати як оригінал: ті самі шрифти, ті самі таблиці, ті самі номери сторінок, ті самі колонтитули, ті самі діаграми на своїх місцях.

Бюджет: обмеження реального часу немає. Хвилина — нормально. Дві хвилини — нормально. Обмеження — точність відтворення: якщо перекладений PDF не схожий на оригінал, отримувач йому не довірятиме.

Чому цей конвеєр не ділить рушій із голосом

Загальна LLM, навіть дуже хороша, поверне вам перекладений текст документа. Вона не поверне перекладений PDF з тим самим макетом. Модель не має поняття «розрив сторінки, який має збігатися з джерелом» чи «комірка таблиці, що має зберегти ширину стовпця».

Для цієї поверхні ми напряму використовуємо DeepL Document API. Він створений для перекладу файлів як файлів, а не прози, видобутої з файлів. DeepL обробляє:

  • PDF (зі збереженням макета)
  • DOCX, DOC
  • PPTX
  • XLSX

Документ завантажується в конвеєр DeepL, перекладається на стороні сервера зі збереженням форматування й повертається в тому самому форматі. Потім ми завантажуємо результат у наше об'єктне сховище й показуємо його в чаті як вкладення, яке можна завантажити.

Скільки це коштує і чому ми цього не приховуємо

DeepL виставляє рахунок щонайменше за 50 000 символів на документ — приблизно один долар США за файл на тарифі Pro, незалежно від того, одна в документі сторінка чи тридцять. Ми покриваємо ці витрати самі, а не беремо плату за файл; вони відображаються у використанні перекладу на зустрічі як оплачувані символи, переведені в одиниці слів, що відповідають тому, як решта продукту звітує про активність перекладу.

Ми обрали DeepL для цієї поверхні, бо переклад файлів як файлів — саме те, для чого його створено, і ми не намагалися зробити кращий. Навпаки це не працює: DeepL не має конвеєра живого голосу того типу, який ми побудували для зустрічей. Різні задачі, різні інструменти. Чесна відповідь на запитання «що лежить в основі перекладу InterMIND» — це «правильний рушій для кожного конвеєра», а не «наш рушій усюди».

Мови, які покриває цей конвеєр, а голос — ні

Конвеєр документів охоплює 30 мов проти 23 для голосу. Серед додаткових: болгарська, грецька, естонська, індонезійська, литовська, латвійська, словацька, словенська. (Арабська теж у цьому списку й належить до додаткових: її вилучено з вибору мови для реального часу, поки якість її голосу нижча за нашу планку, а оцінки для її пар мов лишаються публічними на /benchmark — саме ці числа повернуть її назад. Для гінді асиметрія йде в інший бік: вона доступна для голосу, але ще не для файлів.)

Ця асиметрія реальна. Вона означає, що французький учасник зустрічі може запросити PDF договору естонською, хоча слухати зустріч естонською не може. Ми позначаємо це у виборі мови, а не маскуємо єдиним числом. Міркування викладено в статті про кількість мов.


Де конвеєри зустрічаються

Чотири конвеєри працюють не в ізоляції. Кімната зустрічі — це місце, де вони торкаються один одного, і шви мають значення:

  • Повідомлення в чаті з вкладеним документом запускає конвеєр чату для тексту та конвеєр документів для файлу. Учасник іншою мовою одразу бачить перекладене повідомлення, а переклад вкладення надходить асинхронно як файл для завантаження.
  • Спільна нотатка, що цитує рядок транскрипту, перетинає нотатки ↔ голос. Транскрипт — це те, що голосовий конвеєр створив мовою відправника; переклад нотатки створює для кожного глядача копію цієї цитати мовами всіх інших зі збереженим зазначенням джерела.
  • Транскрипт, експортований після зустрічі, проходить текстовим конвеєром у стилі чату по всій розмові й створює файл кожною мовою, який учасники можуть завантажити. Це той самий шлях коду, що й переклад чату, просто пакетний.

Вибір мови — це один елемент інтерфейсу. Інфраструктура під ним — це чотири конвеєри, що розмовляють між собою.


Чого ми свідомо не пробуємо

  • Жодної «єдиної моделі перекладу». Ми не будуємо одну модель, яка робить голос, чат, нотатки й документи. У компромісі між затримкою та точністю відтворення немає переможця. Ми використовуємо правильний рушій для кожної поверхні.
  • Жодного тихого перенаправлення. Якщо конвеєр файлів сьогодні не може перекласти гінді, ми не відкочуємося мовчки на голосовий рушій, вдаючи, що все спрацювало: вибір мови для файлів позначає прогалину, а не ховає її.
  • Жодного «ми перекладаємо 200 мовами». Наш рушій видає 24. Живі поверхні підтримують 23, документи — 30, і замість одного маркетингово-зручного числа якість для кожної пари мов, яка має витримати погляд аудитора, опублікована на /benchmark, разом зі слабшими парами.

Спробуйте самі

Чотири конвеєри, чотири рушії, одна кімната зустрічі. Це чесна заміна старій сторінці how-it-works.

— Команда Mind.com


Джерела: DeepL — підтримувані мови, DeepL — облік використання та виставлення рахунків (мінімум 50 000 символів на файл), FLORES-200; внутрішні факти про конвеєри перевірено за випущеним кодом, станом на серпень 2026 року.

Більше в розділі «Живий переклад»

Усі публікації в розділі «Живий переклад»
Англійська — для першого контакту. Угода відбувається мовою партнера
Живий переклад

Англійська — для першого контакту. Угода відбувається мовою партнера

Де закінчується англійська в експортній угоді, етап за етапом: запит, комерційна пропозиція, переговори, рекламація, наступне замовлення. Скільки експортний відділ платить за мову партнера сьогодні — з цінами та джерелами — і що залишається з угодою після її завершення.

The Mind.com Team

Турецький голосовий перекладач: безкоштовний застосунок, який говорить в обидва боки
Живий переклад

Турецький голосовий перекладач: безкоштовний застосунок, який говорить в обидва боки

Перекладайте турецьку голосом у справжній розмові: один телефон на двох, торкніться, говоріть — і кожен чує співрозмовника своєю мовою. InterMIND Translator безкоштовний на iPhone та Android, 40 хвилин на день, без облікового запису. Що турецьке дієслово робить із будь-яким перекладачем, що зберігає застосунок і де його можливості закінчуються.

The Mind.com Team

Синхронний перекладач: людина, RSI-платформа чи AI — що потрібно вашій багатомовній зустрічі (2026)
Живий переклад

Синхронний перекладач: людина, RSI-платформа чи AI — що потрібно вашій багатомовній зустрічі (2026)

«Синхронний перекладач» — це професія, а більшість запитів насправді шукають мовлення, яке надходить іншою мовою під час того, як його вимовляють. Цей посібник розрізняє кабіну, RSI-платформу та AI-синхронний переклад, порівнює інструменти за їхньою документацією — Interprefy, KUDO, Wordly, DeepL Voice, Zoom, Teams, Google Meet, InterMIND — і ставить питання, яке порівняння оминають: яка частина зустрічі справді повертається вашою мовою та де обробляються дані.

The Mind.com Team

Отримуйте нові публікації та оновлення продукту на email

Один лист на місяць із новими публікаціями та оновленнями продукту. Скасувати підписку можна будь-коли.