header


Мы сделали бесплатного телеграм-бота, который переводит аудио в текст. В отличие от нашего бесплатного публичного решения для транскрибации длинных аудио, этот бот скорее настроен для удобства работы с короткими голосовыми сообщениями, заметками и аудио средней длины (несколько минут).


Боту можно послать аудио как напрямую, так и добавить в группу. В группе бот будет реагировать на все аудиофайлы (но сообщения об ошибках выводиться не будут). Более подробно об ограничениях и особенностях работы можно узнать в методах /help и /faq.


Основная UX фишка работы бота — проработанный и удобный формат чтения и навигации по распознанным сообщениям и заметкам (а не стена текста).


Как воспользоваться


Нужно просто пройти по ссылке или просто открыть страницу бота @silero_audio_bot в Телеграме. Затем:


  • Введите команду /start для старта;
  • /help и /faq помогут понять основные допущения и ограничения в работе;

Мы тщательно протестировали основные ограничения и свели список основных проблем и краевых кейсов в вышеописанные команды. Если вы найдете новые краевые кейсы, там указаны прямые контакты, можете написать нам. Мы не прячемся и не кусаемся.


Ключевые особенности и отличия от существующих решений


Сразу чтобы вы понимали — мы разрабатываем алгоритмы, а не просто перекладываем ваши персональные данные в "джейсончики" в АПИ корпораций. Все алгоритмы и разработки, участвующие в работе бота, наши собственные.


Мы гордимся тем, что:


  • Бот работает на основе наших систем детекции речи (кстати ее скоро ждет огромное обновление!), распознавания речи, простановки знаков препинания и заглавных букв;
  • Наша система распознавания как минимум не уступает решениям корпораций (вопрос дискуссионный, по нашим исследованиям на примерно 20 разных доменах наша система была лучшей на большинстве из них, кроме ряда ярких исключений, типа звонков в банки);
  • Бот "пытается" быть максимально удобным с точки зрения UX и читабельности в рамках возможностей Телеграма;

Мы НЕ делаем следующих вещей:


  • Мы НЕ собираем данные о пользователях;
  • Мы НЕ занимаемся "продажей аудитории" инвесторам или третьим лицам;
  • Мы НЕ шлем ваши данные в АПИ корпораций или компаний, аффилированных с олигархическими структурами;
  • Мы НЕ присваиваем себе чужих достижений, все наработки наши собственные;

Безопасность и ограничения


Ограничение 20 мегабайт на файл для Телеграма мы не стали снимать, потому что в нормальном аудио формате в 20 мегабайт можно уместить достаточно длинное аудио для данного UX-сценария и повторюсь, что есть отдельный сервис для "длинных" аудио, который будет развиваться отдельно. С точки зрения удобства пользователя странно в мессенджере решать десктопные юзкейсы.


У каждого пользователя есть лимит, мы блокируем ботов и пресекаем нецелевое использование доступными нам методами.


Мы полностью шифруем весь трафик и данные. Мы не "дарим" ваши персональные данные корпорациям или олигархическим (или аффилированным с ними) структурам.


Дальнейшее развитие


Так же, как и наше решение для транскрибации длинных файлов, мы будем развивать и улучшать наше решение, если оно будет полезно народу. В каком-то смысле судьба бота и наличие независимого инструмента в ваших руках.


Мы постарались сделать все по красоте, но если будут какие-то баги и проблемы, мы будем благодарны комьюнити за помощь. В первое время возможны небольшие перебои с работой при раскатке фиксов, но мы надеемся, что мы уже отладили 95% всех краевых случаев, а оставшиеся 5% можно будет быстро поправить или понять и простить.


Обновления по горячим следам


  • FAQ с самыми актуальными вопросами для тех, но не нашел его в самом телеграме — https://habr.com/ru/post/591563/#comment_23749573
  • Важно — я настроил вроде бота, чтобы его не нужно было делать админом в группе (пишите в комментариях или в личку про свой опыт)
  • Важное обновление — баг с "затором" в боте пофикшен
  • Остался баг с пересылкой файлов с мобильных клиентов и / или из вотсаппа и / или из музыкальной библиотеки телеграма.

Обновления по горячим следам 2


  • Баг с пересылкой файлов пофиксили, все оказалось проще — дело было в отсутствующем MIME-типе;
  • Еще раз пофиксили баги с заторами, вроде дело было в том, что если ответить 500 телеге, то она начинает копить сообщения, и потом это приводит к затору;
  • Навесили try/catch в несколько ключевых мест;

Комментарии (56)


  1. Elsajalee
    25.11.2021 15:51
    +7

    Это фича была бы крайне полезна уже встроенной в мессенджеры. Чтобы под голосовым сообщением появлялся toggle "речь в текст". А иногда ещё и перевод. p.s. В некоторых случаях "с русского на русский" :)


    1. snakers4 Автор
      25.11.2021 16:00
      +4

      Одна из основных UX фишек бота состоит в том, что если его добавить в группу, то он будет распознавать все аудио в этой группе.


      А насчет самих мессенджеров — я думаю, что рано или поздно все приложения работающие с "богатыми" форматами данных научатся делать с ними что-то полезное, но это будет процесс долгий и итерационный.


      Есть только риск так называемого "research siloing", когда корпорации стремятся де-факто иметь монополию на алгоритмы (на фоне видимой "открытости"). Но для этого и нужны такие люди как мы.


      А то зачастую в самых свободных местах свободы почему-то очень мало. За нее всегда нужно бороться.


      1. Elsajalee
        25.11.2021 16:35
        +1

        Я просто про желаемый UI написал, даже без отношения к Telegram.

        Правильно понимаю: вы делаете open source, допустимо для коммерческого использования и всё с обученными моделями?


        1. snakers4 Автор
          25.11.2021 16:51
          +2

          Я бы сформулировал иначе — все, что для коммерческого использования идет по коммерческим условиям.


          Но часть вещей выложены для общего или некоммерческого использования, например те же боты для обычных пользователей, публичные модели синтеза или тот же VAD.


          У каждого продукта своя логика разделения на открытую и коммерческую части.


      1. tgx
        26.11.2021 07:36
        +1

        research siloing

        Откуда это выражение?


        1. snakers4 Автор
          26.11.2021 07:59

          Откуда оно пошло не знаю, но используется в связи с накоплением знаний кем-то и построением "стены" вокруг этих знаний


      1. domix32
        26.11.2021 13:18
        +1

        Было бы неплохо сделать возможность триггерить бота на реплай с командой, тогда не придется процессить все звуки.


        1. snakers4 Автор
          26.11.2021 13:22

          это потребует хранения состояния в настройках пользователя
          пока хотелось бы оставить все максимально простым — хочешь используешь как бота напрямую
          хочешь — добавляешь в группу


          это по сути смесь сценариев, бот вроде и в группе, но триггерится руками


      1. vrnvorona
        26.11.2021 20:27
        +1

        А из лички переслать боту аудио можно?


        1. snakers4 Автор
          26.11.2021 21:49

          Почему нет


    1. efcadu
      26.11.2021 10:11
      +1

      Возможно, недолго ждать осталось. Whatsapp уже пилит такую фичу: https://wabetainfo.com/whatsapp-is-working-on-voice-message-transcription/


  1. zelcam
    25.11.2021 16:10
    +5

    да вы же натуральные боженьки. это то, чего я хотел все эти долгие годы.


  1. Balmer57
    25.11.2021 16:54
    +1

    А почему бот не имеет доступа к сообщениям по умолчанию? Это какое-то принципиальное решение?
    Если добавить его в группу и сделать админом будет тот же эффект, вот только не во всех группах такое возможно, например в обычных, а не "супергруппах", т.к. в этом случае при назначении админа группа автоматически конвертируется, а это нежелательный эффект.


    1. snakers4 Автор
      25.11.2021 16:57

      Если я все верно понимаю, то это решение архитекторов телеграма


      Насчет групп и супер-групп я помню, что когда их вводили, вроде для обычных кейсов разницы между ними особой не было


      1. Balmer57
        25.11.2021 17:09
        +1

        Это можно сконфигурировать у @Botfather: /mybots - (bot) - Bot Settings - Group Privacy - Turn off После этого нужно передобавить бота в чат, чтобы обновились настройки.

        Для обычных кейсов разницы, действительно, почти нет, но некоторые нюансы различаются (хранение истории, доступ к ней, отсутствие админских логов, возможность писать у некоторых пользователей...)


        1. snakers4 Автор
          25.11.2021 17:41

          Уточню у коллег, кто лучше с телеграмом разбирается, есть ли какие-то последствия другие


          Пока вижу только то, что в теории так доступ к аудио бот может получить без явного согласия администратора группы, что наверное не факт что хорошо


          1. snakers4 Автор
            25.11.2021 17:46
            +2

            Botfather: /mybots — (bot) — Bot Settings — Group Privacy — Turn off

            Я попробовал это сделать, вроде работает
            Пока не понимаем, какие последствия это может вызвать


  1. pythoned195
    25.11.2021 16:59
    +2

    Так , про сбор голосов для создания на их базе дипфейков для взятия кредитов по биометрии в сбере указан ?
    Нет , так и запишем - занимаемся.
    А если серьезно - спасибо , буду пользоваться , полезная штука , если не тяжело - подскажите где гелия подешевле купить


    1. snakers4 Автор
      25.11.2021 17:03

      Качественный голос мы как правило можем сделать даже на 15 минутах аудио, но при совпадении звезд:


      • Качество должно приближаться к идеальному или студийному;
      • Голос должен быть похож на имеющиеся;
      • Голос должен быть "ровным";

      То, при каких обстоятельствах и как люди обычно записывают голосовые сообщения + тот факт, что мы не сохраняем кто послал нам какое именно аудио, делают массовое создание голосов пользователей уже совсем научной фантастикой, даже если бы мы хотели этим зачем-то заниматься.


      1. snakers4 Автор
        25.11.2021 17:07
        +2

        Вот послушайте голос меня, который мои коллеги сделали, чтобы меня потроллить после нашего недельного созвона. Меня можно узнать, но звучит мягко говоря не очень, как будто говорю в ведро.



        1. domix32
          26.11.2021 13:21
          +1

          Интересно как оно на картавых реагирует.


          1. snakers4 Автор
            26.11.2021 13:22

            картавый инпут = картавый аутпут
            но больше шума и кривизны


  1. mihmig
    25.11.2021 17:24
    +1

    Подскажите, (может это уже где-то реализовано)
    можно ли скинуть ссылку на подкаст и, через необязательно короткое время получить текстовую расшифровку?

    Бывает часовой подкаст, а ценного там - на пару фраз... Глазами быстрее пробежать.


    1. snakers4 Автор
      25.11.2021 17:40
      +1

      Насчет ссылки не видел, не знаю, писать и поддерживать бесконечные парсеры тоже себе такое занятие.


      Но если вы сами скачаете аудио, можно попробовать залить сюда — https://audio-v-text.silero.ai/


      Одна беда, туда пока еще не встроили последний VAD и модель для знаков препинания и заглавных букв


  1. ACKONI
    25.11.2021 17:48
    +1

    Переслал сообщение из ватсап, телеграмм его воспроизводит, но бот говорит что формат файла не поддерживается


    1. snakers4 Автор
      25.11.2021 17:49

      Просто перешлите нам этот аудио файл в телегаме, мы посмотрим в чем дело
      Мы уже нашли один краевой кейс с онлайн-конвертилками видео на YouTube
      Там мешанина из разных форматов / mime-типов и кодеков
      Соберем какое-то число таких кейсов, отладим


  1. snakers4 Автор
    25.11.2021 19:03
    +2

    Понятно, почему у некоторых юзеров проблемы


    • Люди часто качают якобы MP3 через онлайн конвертеры, там по факту MP4;
    • Люди сначала добавляют бота в чат, а не начинают сначала с ним лично общаться несмотря на инструкцию;

    Обновил и дополнил FAQ, выложу его сюда в том числе для индексации:


    Самый популярный вопрос — возникают проблемы при добавлении бота в группу (иногда юзеры проходят капчу в группе).


    Убедитесь, что вы сначала ввели команду /start и прошли капчу при прямом общении с ботом, а не через группу или другого бота. Для верности можно пойти к боту напрямую, сделать /restart, ввести капчу, удалить и вернуть бота в группу. После этого должно заработать.


    У меня ничего не происходит при отправке файлов боту.


    Убедитесь, что вы сначала ввели команду /start и прошли капчу. Если вы не уверены в этом, попробуйте сделать /restart, потом /start и пройти капчу.


    Бот не работает в групповом чате.


    Убедитесь, что вы не только лично прошли капчу и добавили его, но и сделали его администратором. Иначе он не cможет читать сообщения. Поправка — после настроек это перестало быть нужным. Также в телеграме теперь напротив имени бота в чате явно отображается может ли он читать сообщения.


    У меня не работает интерактивная разметка аудио для навигации.


    Она работает только в некоторых приложениях (десктоп) и только для некоторых форматов файлов (например opus или ogg+opus).


    В групповом чате ничего не происходит, когда я посылаю аудио.


    В чатах мы не шлем сообщения с ошибками, чтобы не захламлять пространство. Попробуйте послать тот же файл напрямую.


    Я послал файл, но ничего не происходит.


    Возможно на данный момент очередь переполнилась. По достижении определенного порога мы удаляем старые запросы, чтобы очередь не застаивалась. Возможно это какой-то редкий краевой случай (такое часто возникает при использовании онлайн-конвертеров). Перешлите файл нам напрямую, мы разберемся.


    Бот распознает совсем не то.


    Распознавание речи не бывает на 100% точным. Но если вы видите, что это очевидно ошибка и что-то пошло не так при обработке файла, просто напишите нам.


    Мой формат аудио не поддерживается, файл слишком большой или длинный.


    В таком случае попробуйте воспользоваться сервисом https://audio-v-text.silero.ai/.


    Высказывания не оптимально разбиты на смысловые куски или неправильно проставлены знаки препинания.


    В устной речи всё работает несколько иначе, чем в письменной. Если человек делает относительно длинные паузы в местах, не соответствующих смысловому разделению его речи на части, или просто запинается, с этим нельзя ничего поделать.


    Неправильно проставлены знаки препинания.


    Расстановка знаков препинания и заглавных букв делается только для упрощения чтения.


    Неправильно обрабатываются числительные, даты, цифры, сокращения, аббревиатуры.


    Невозможно обработать все случаи в естественном языке. Но если на ваш взгляд какой-то очень массовый и важный кейс обрабатывается неверно — напишите нам напрямую.


    Прочие краевые случаи.


    Известные случаи, когда аудио распознается хуже: музыка или рэп; обилие редких слов, неологизмов и жаргонизмов; крик или разговоры на повышенных тонах; речь с очень сильным акцентом; разговор на смеси нескольких языков; несколько людей говорят одновременно или перебивают друг друга.


    У меня кончился лимит.


    Лимит обновляется раз в сутки.


    1. snakers4 Автор
      26.11.2021 16:08

      Важное обновление — баг с "затором" в боте пофикшен.
      Остался баг с пересылкой файлов с мобильных клиентов и / или из вотсаппа и / или из музыкальной библиотеки телеграма.


      1. snakers4 Автор
        27.11.2021 14:16

        Обновления по горячим следам 2


        Баг с пересылкой файлов пофиксили, все оказалось проще — дело было в отсутствующем MIME-типе;
        Еще раз пофиксили баги с заторами, вроде дело было в том, что если ответить 500 телеге, то она начинает копить сообщения, и потом это приводит к затору;
        Навесили try/catch в несколько ключевых мест;


  1. Two_Sheds
    25.11.2021 20:37
    +1

    Решил немного пощупать бот.

    Установил тестовую версию Aiseesoft Screen Recorder.

    Попробовал начитать коротенькие отрывки из Туве Янсон.
    Увы, бот пока угадывает в среднем два слова из трех.
    Вот типичный результат:

    Глубоко в сугроде, прикрывавшим ход в пещеру. Кто-то постелил Солон? На салоне стояла большая картонная коробка. Отверстия. Вот чудно удивился бельчонок. Прежде этой картинки здесь не было. Должно быть? Тут какая-то ошибка. Может, это совсем не та пища?

    Статье всё равно ставлю плюс, за полезность начинания.


    1. snakers4 Автор
      25.11.2021 20:49

      Ну выглядит вполне сносно. На мой взгляд (я не слышал оригинальное аудио) — тут процент ошибок в словах в районе 20%-25% из-за имен собственных.


  1. sunsexsurf
    26.11.2021 00:11
    +2

    А можете рассказать поподробнее - что внутри? Какие нейронки? Мы поднимали похожего бота на vosk.


    1. snakers4 Автор
      26.11.2021 00:16

      VAD и модель для капитализации например выложены в наших проектах silero-models и silero-vad.

      Остальное - не публично.


  1. mbait
    26.11.2021 07:52
    +1

    Работает хуже, чем встроенное распознавание от Гугла на Android, зачем-то разбивает даже короткие фразы на отдельные предложения. После прочтения статьи сразу появилась идея использовать как замена Google Keyboard на телефоне с LineageOS и OpenGapps, но быстрый тест показал, что пока ещё нельзя.


    1. snakers4 Автор
      26.11.2021 08:14

      Насчёт Гугла - я более менее уверен что их распознавание на русском в среднем хуже на всех доменах, но скорее всего оно лучше зафичено именно на частые данные пользователей которые вы ему дарите.

      Насчёт разделения - ну делит речь по заметным паузам. Я запустил их приложение для заметок - оно тоже делит по паузам.

      Но я не совсем понимаю как бот для заметок или сообщений может заменить клавиатуру, у него совсем другая цель и допущения.


      1. mbait
        26.11.2021 08:22
        +1

        Чем короткие заметки отличаются от сообщений, надиктованных на голосовой клавиатуре? Кстати, ещё одна особенность - если переслать сообщение, то временные метки не работают (не подсвечиваются как ссылки), даже если переслать и текст, и аудио. Это ограничение платформы?


        1. snakers4 Автор
          26.11.2021 08:45

          Подсветка кодов у самой телеги как-то странно работает, зависит от формата аудио и платформы.

          Насчет заметок - использование клавиатуры может сильнее модулировать поведение людей, чем кажется. Подразумевается что типовой сценарий у нас это когда люди просто свободно что-то говорят.

          Та же клавиатура будучи нативным приложением на подконтрольной платформе имеет сильно больше оптимизаций чисто с визуальной точки зрения.


  1. Beatle
    26.11.2021 11:16
    +1

    Блин, по распознаванию типичной записи телефонного звонка - очень фигово конечно.
    Если другие примерно так же до сих пор - мечты об автоконтроле операторов более менее работающем - преждевременны походу у меня :)


    1. snakers4 Автор
      26.11.2021 11:19

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


      Так что я даже хз что тут сказать. Чтобы это работало как продукт на звонках, требуется некая работа со стороны телефонистов и бизнеса.


      Могу привести пример из такси — там у нас WER < 10%, но там телефонисты сделали свою работу и там простой сценарий и модель доучили на нужный домен.


      1. Beatle
        26.11.2021 11:29

        у нас задача шире - "очень много разных доменов", выполнение не больших задач по несколько тысяч контактов для совершенно разного малого\микро бизнеса


  1. BestAlex
    26.11.2021 11:46
    +1

    Еще бы поддержку формата amr - он минимален по объему и в нем пишут обычные телефонные диктофоны.


    1. snakers4 Автор
      26.11.2021 11:53
      +1

      А можете в личку просто ваш файл прислать в телеграме, мы просто посмотрим что наш каскад библитек с ним сделает


  1. ZaitsXL
    26.11.2021 12:01
    +1

    что только не выдумают, лишь бы не пользоваться встроенным в телефон распознаванием речи


    1. uryevich
      09.12.2021 21:37

      Точно! Я десятки собеседников в рабочих чатах на распознавание на клавиатуре склонял, но они "не выдумывают". Хорошо, что один рабочий чат в телеге, с этим ботом реально легче.


      1. ZaitsXL
        10.12.2021 10:42

        слать голосовые сообщения в рабочем чате это еще и невежливо


  1. avdosev
    26.11.2021 15:06
    +1

    Насколько большая нагрузка на сервер из-за относительно массового использования бота и кто так сказать оплачивает банкет?


    1. snakers4 Автор
      26.11.2021 15:25
      +1

      Если вынести за скобки тот факт, что в боте сейчас есть пара тупых багов (банально забыли try-catch в паре мест при обращении к АПИ телеги — оно еще тормозит немного при ошибке и копится немного как снежный ком), которые в совокупности с тем, что очереди делают retry, где-то в районе обеда породили "затор" (я пока временно просто перезапустил бота пока не пофиксили), то на самом деле одновременно и не так мало и не так много. Что меня удивило — использование бота также породило бурный интерес к инструменту для длинных аудио.


      По статистике с начала этих суток (а вчера мы сами много трафика слали для тестирования) было где-то по 20,000 нормализованных по длине запросов и в телеграм бота, и в онлайн-бота на нашем сайте. То есть суммарно около 40,000. Затор думаю "убил" процентов 5-10% потенциального трафика. Думаю за сутки будет ну в районе 60к — 75к запросов. Ну может 100к, если ночью народ проснется опять на третью волну.


      И, обратите внимание (!), это все на фоне отсутствия фичеринга нашего решения со стороны СМИ то есть весь трафик органический из наших каналов, статей, Хабра.


      А насчет банкета — мы просто грамотно спроектировали архитектуру. У нас есть в обоих этих инструментах очереди и инструменты управления concurrency и некоторые "затычки" на случай слишком большого трафика (но мы конечно словили проблемы, но уже из-за других причин). Поэтому де-факто я смог повесить этих ботов на STT сервак с другим нашим проектом, и они почти даже не толкаются руками. Я наверное потом понижу уровень concurrency в боте для телеги, после того как пофиксим оставшиеся проблемы (в самые пиковые моменты толкаются немного).


      Я, конечно, после чтения комментариев на VC.ru и нахождения затора приуныл, но потом мы нашли его причину, мне написало в личку много людей с благодарностями, и настроение поднялось.


      1. avdosev
        26.11.2021 15:42
        +1

        Спасибо, а на чем бот написан если не секрет, Python?


        1. snakers4 Автор
          26.11.2021 15:42

          Да


  1. Color
    26.11.2021 15:30
    +1

    Эх, где вы были, когда я расшифровку своей кандидатской защиты писал...


  1. shukshinivan
    26.11.2021 15:38
    +1

    А какой хоть примерно лимит? Ну, чтобы понять, для чего вообще может быть это интересно, кроме попробовать послать пару файлов и забыть :)


    1. snakers4 Автор
      26.11.2021 15:42

      Лимит на юзера в сутки
      У сервиса для длинных файлов просто на сайте написано какой лимит (это меняется иногда)
      У бота лимит тоже есть, мы не афишируем его точное значение, чтобы не аггрить людей
      Но его достаточно для нормального использования


  1. Vinchi
    27.11.2021 22:51

    Закинул сразу голосовое сообщение телеги на полторы минуты, ответил что слишком длинное так как превышает лимит в 1200 секунд. Короче бот не работает.


    1. snakers4 Автор
      28.11.2021 07:26

      Я только что сделал то же самое, у меня все работает. Если есть желание разобраться что не работает, пишите в личку.

      Именно эту ошибка сейчас выводится в том числе когда формат аудио какой-то кривой или битый.


  1. Colorbit
    28.11.2021 22:55

    Возможно ли добавить бота в личный диалог?


    1. snakers4 Автор
      29.11.2021 04:48

      Мне кажется в диалоге 1-на-1 в телеграме в принципе возможно только использование inline ботов.

      А они в принципе принимают только текстовый вход.