Технічний контекст
Я якраз люблю такі задачі, де звичайна діарізація ламається на першій хвилині. Якщо в каналі говорять не по черзі, а починається барна какофонія, це вже не просто speaker diarization, а та сама cocktail party problem. Для нормальної AI integration у продукт тут замало прикрутити Whisper і сподіватися на диво.
Я б одразу розділив інструменти на два класи. Перший клас реально намагається зрозуміти, хто і коли говорить, навіть якщо голоси перетинаються. Другий клас спочатку розділяє аудіо за джерелами, а вже потім ви віддаєте результат в ASR або у свій ланцюжок AI automation.
З першого класу я б дивився на EEND, тобто End-to-End Neural Diarization. Це не старий пайплайн з VAD, ембедингів, кластеризації та молитви. Модель одразу вчиться працювати з невідомими спікерами, перетинами та онлайн-обробкою, а в ESPnet для цього вже є робочі рецепти та стрімінгові сценарії.
Ось тут я б справді зупинився і не витрачав тиждень на екзотику. Якщо потрібен realtime і немає заздалегідь відомих ембедингів спікерів, EEND та ESPnet зараз виглядають найбільш адекватним напрямком.
SAM Audio від Meta цікавий, я вивчив його логіку, і він хороший саме як шар source separation. Він вміє витягувати звуки з мішанини за підказками, але це не нативна діарізація і не система, яка акуратно поверне вам таймкоди невідомих людей у живій розмові.
SpeechBrain sepformer-wham теж корисний, але чесно: це скоріше про separation, а не про повне вирішення задачі. Я б використовував його як препроцесинг перед ASR або діарізацією, якщо перекриття голосів особливо жорстке.
Ідея змусити LLM розмітити вже готову транскрипцію за змістом звучить спокусливо, і я сам такі штуки тестував. Але це постобробка, не realtime, і на шумному перекритті вона швидше підправить структуру діалогу, ніж врятує розвалений аудіопотік.
Що це змінює для бізнесу та автоматизації
На практиці виграють ті, у кого є дзвінки, зустрічі, диспетчерські лінії, інтерв'ю та сапорт з кількома мовцями одночасно. Там точність не просто красива метрика, вона вирішує, чи зламається аналітика розмови, CRM-логіка та подальша automation with AI.
Програють команди, які будуватимуть продукт лише на ASR без separation або overlap-aware diarization. Помилка в тому, хто саме сказав фразу, потім б'є по самарі, пошуку по дзвінках і будь-якому AI agent, який повинен діяти за контекстом.
Я б збирав стек так: overlap-aware diarization через EEND або ESPnet, за потреби separation через SAM Audio або SepFormer, і лише потім ASR плюс LLM-шар для виправлення структури. Ми в Nahornyi AI Lab якраз такі вузькі місця й розбираємо вручну: якщо ваш аудіопайплайн втрачає сенс на перетинах, можна побудувати AI solution development під ваш потік, а не під усереднений демо-сценарій.