Задача проекта заключалась в обработке длительных аудиопотоков с последующей транскрибацией и AI-анализом.
Основная сложность состояла в том, что источник аудио нельзя было держать подключённым бесконечно долго. Приходилось регулярно переподключаться к потоку, а любое переподключение создавало риск потерять часть речи или, наоборот, получить дублирование данных.
Требовалось построить систему, которая могла бы работать с длинными потоками без потери информации и формировать на выходе единый связный текст.
Был реализован сервис на Go, который подключался к аудиопотоку, выделял фрагменты для обработки, отправлял их на транскрибацию и далее в AI-пайплайн.
Для борьбы с потерей данных при переподключениях использовались перекрывающиеся интервалы обработки. Это позволяло гарантированно захватывать речь на границах сегментов. После этого система автоматически находила и устраняла дублирующиеся участки текста, сохраняя целостность результата.
Отдельное внимание уделялось порядку обработки, синхронизации этапов пайплайна и корректной сборке итогового текста из большого количества независимых фрагментов.
На выходе система формировала единый читаемый текст из длинного непрерывного аудиопотока.
Удалось решить проблему потери данных на границах сегментов и проблему дублирования текста при переподключениях к источнику. После обработки пользователь получал не набор сырых фрагментов транскрибации, а цельный текст, разбитый на абзацы и логические части.
Даже при длительной работе потока сохранялась последовательность информации, не возникало разрывов между соседними фрагментами и не появлялись повторяющиеся участки текста.
В результате из многочасового потока автоматически формировался аккуратный текст, пригодный для дальнейшего чтения, публикации.