Информация
- В рейтинге
- 602-й
- Зарегистрирован
- Активность
Специализация
Десктоп разработчик, Фулстек разработчик
Ведущий
От 280 000 ₽
Git
Python
PostgreSQL
Docker
ООП
Разработка программного обеспечения
Системное администрирование
Администрирование серверов
Системы виртуализации
Сетевые технологии
Спасибо за отзыв. Как я уже отмечал, Android — это дополнительная возможность. В основном я использую систему распознавания Windows на компьютере. Поддержка Android добавлена лишь для удобства работы с телефона. Это надстройка над основным функционалом, а не его основа. Главная цель — использование на компьютере, что позволяет существенно ускорить и упростить процесс написания текстов.
Если говорить откровенно, Android-версию я разработал и интегрировал исключительно по одной причине: моя мама захотела использовать это приложение. Поэтому я использовал как Telegram, так и Android. Распознавание речи на телефоне было необходимо в первую очередь ей, а также некоторым сотрудникам, с которыми я работаю. Им было бы удобно использовать Telegram и Android для этой цели.
Я полностью согласен с тем, что на Android существуют локальные решения, однако, как мы знаем, они не всегда показывают лучший результат, особенно если речь идет не просто о диктовке текста. Есть официальные встроенные решения, но в моем случае ситуация иная. Я часто диктую текст с помощью CGPT, постоянно печатаю код и выполняю рабочие задачи, требующие структурирования текста и исправления ошибок. Это занимало значительное время.
Я реализовал приложение таким образом, чтобы оно было удобным. В нем используется искусственный интеллект, который позволяет структурировать текст и выявлять ошибки в зависимости от выбранных параметров. Также есть возможность структурировать предыдущее введенное сообщение, что упрощает работу. Локальные решения, как правило, более стабильны, чем тот же CGPT, который может работать только до 10 минут, в то время как иногда требуется диктовать гораздо больше.
Приложение быстро загружается и выключается, и существует множество способов для реализации распознавания речи. Можно выбрать нужную модель и запустить распознавание. Удобство использования также играет важную роль: автозапуск, включение и выключение, перезагрузка, а также интерфейс, который позволяет видеть, что вы диктуете в течение определенного времени.
Кроме того, приложение поддерживает интеграции и обработку файлов, например, преобразование видео в текст. Важно также наличие истории работы с приложением и возможность настройки интерфейса: изменение размера, выбор светлой или темной темы, а также настройка расположения панели записи. Язык интерфейса можно выбрать как английский, так и русский. Окно, которое всплывает, достаточно компактное, но информативное.
Все кнопки и функции приложения основаны на моем личном опыте, что и стало причиной его создания. Главная особенность заключается не только в распознавании речи, но и в качестве этого распознавания. Важно отметить, что приложение может работать с искусственным интеллектом, что является значительным преимуществом. Пользователи могут настраивать промпты, отправляемые на обработку, что позволяет учитывать специфические термины, используемые в вашей команде.
В дальнейшем был создан сервер, который позволяет работать не только локально, но и глобально, а также проект FreeAI, предоставляющий бесплатные API с возможностью проверки в заданные промежутки времени. Android-приложение служит интерфейсом для взаимодействия. Я согласен с мнением комментаторов, что распознавание можно сделать быстрее, но нейронные сети, используемые в приложении, достаточно удобны.
Обновления происходят автоматически, без необходимости дополнительной загрузки. Если меня что-то не устраивает, я постоянно адаптирую приложение под свои нужды, учитывая комментарии пользователей. Важно также, что вы можете выбрать модель распознавания, а не просто место, где оно будет происходить. Все эти аспекты в совокупности предоставляют значительные преимущества по сравнению с другими приложениями, которые я смог найти, включая те, которые упоминались в комментариях. Возможно, некоторые из них удобнее, но с такой же логикой работает встроенное распознавание текста в Windows.
Здравствуйте! Наткнулся на ваш проект практически случайно — искал на Хабре свой и увидел, что вы решаете очень похожую задачу. Посмотрел репозиторий, поставил звезду. Было очень интересно посмотреть на другой подход.
Причём статья заставила меня задуматься над несколькими вещами, которые у себя я пока вообще не учитывал. В частности, над настройкой CPU-режима и историей с UIPI при вставке текста в приложения, запущенные от администратора. С последним я даже не успел столкнуться, а проблема действительно неприятная: со стороны пользователя всё просто выглядит как «ничего не произошло». Так что за этот момент отдельное спасибо.
Насчёт сужения окна энкодера и monkey patch внутренностей faster-whisper у меня пока есть сомнения. Я понимаю, зачем это сделано и почему для CPU это даёт такой выигрыш, но связка получается достаточно хрупкой: само сужение окна, отключение таймкодов, обработка повторов и зависимость от внутренней реализации faster-whisper. Возможно, для проекта, ориентированного именно на CPU, это вполне оправданный компромисс. У себя я бы сначала попробовал ограничиться более простыми вещами вроде beam_size и количества потоков.
Если интересно, можете посмотреть и мой вариант:
https://habr.com/ru/articles/1068152/
Задача похожая, но немного другой акцент. Там это не только голосовой ввод: после Whisper можно подключить языковую модель, которая уже приводит распознанную речь в нормальный вид — убирает слова-паразиты и оговорки, исправляет часть ошибок распознавания, расставляет пунктуацию, умеет сохранять технический жаргон и при необходимости переписывать устную речь в более аккуратный или деловой текст. Есть ещё свой словарь терминов, чтобы и Whisper, и нейронка лучше понимали специфические названия.
Сама логика работы тоже немного отличается: модель может выгружаться из памяти при простое и начинает загружаться обратно уже в момент начала диктовки, пока человек говорит первую фразу. Есть проверка тишины, контроль аудиопотока и аварийное дораспознавание.
И ещё, если вам когда-нибудь понадобится API для языковой модели, а поднимать или оплачивать отдельный сервис не хочется, у меня есть ещё проект FreeAI — он собирает бесплатные AI API за OpenAI-совместимым интерфейсом. Если захотите что-то протестировать, могу помочь с подключением. Возможно, пригодится либо в вашем проекте, либо просто для каких-то других экспериментов.
В любом случае спасибо за статью. Особенно понравилось, что вы подробно описали не только то, что получилось, но и те места, где Windows и Whisper начинают вести себя совсем не так, как ожидаешь. Несколько вещей после прочтения я точно пошёл проверять у себя.
Также хотелось бы упомянуть качество самого распознавания. Встроенное распознавание речи может работать, однако качество в данном приложении будет выше, поскольку используется Whisper Large третьей версии, у которого меньше проблем. Как я говорил ранее, это приложение в первую очередь сделано для компьютера, но есть возможность добавить, например, телефон. Кроме того, в Telegram есть бот, которому вы передаёте токены: всё работает через компьютер, через сервер, а далее — через Telegram или приложение на телефоне.
Также хотел бы оставить небольшой комментарий: вы можете дополнительно настраивать сам промпт прямо в приложении. У вас написаны IT-жаргон и англицизмы, а стандартные нейросети хорошо справляются с такими вещами. Тем более, если вы современный программист, у вас наверняка есть нейросеть.
Если нет — в комментарии выше я описывал одну из систем, которая позволяет получать бесплатные API из доступных. Это простой проект; при необходимости я могу предоставить к нему доступ для вашего личного теста. Он пока находится в тестировании (в бета-версии), но тем не менее получает бесплатный доступ к нейросетям в рамках их лимитов. Если лимиты закончились или какая-то из нейросетей не отвечает, система автоматически переключается на другую, выполняет по ним автосканирование и периодически обновляется. Поэтому, по сути, там есть постоянный доступ, что может помочь вам в работе.
Это не просто система распознавания речи — она также позволяет улучшать текст с помощью внутренних ресурсов. Например, если у вас есть подписка на Claude Code, на Claude или на ChatGPT, можно просто подключить Codex или Claude Code, и их возможности будут использоваться для улучшения текста внутри приложения.
Также можно подключить внешний ИИ — например, через провайдера. По результатам тестов расход на это небольшой: не более 100 рублей, даже если диктовать много.
Кроме того, пока в демоверсии есть небольшой проект — FreeAI, посмотреть его можно на GitHub. Подобные системы есть и у других, но здесь система сама сканирует провайдеров, в том числе бесплатных. У разных провайдеров есть разные модели, поэтому можно выбрать подходящие модели или подключить свою — система будет распределять запросы по бесплатным лимитам.
Этого более чем достаточно для личного использования, если развернуть систему у себя. При необходимости я могу это протестировать. Интересно здесь то, что платить вообще не придётся.
Со своей стороны, это скорее не разработка приложения в том смысле, в каком её понимаете -- каждый уважающий себя программист, — например, парсер, как вы говорите, или систему распознавания речи. У меня было наоборот: я вернулся к проекту и сделал его более-менее аккуратным и более-менее устойчивым, а также улучшил распознавание речи.
Я пользуюсь этим проектом самостоятельно на постоянной основе. Мои близкие, которым я его дал, пользуются им на постоянной основе, но очень довольны всем, что есть, поэтому у меня есть некоторая обратная связь от них. Соответственно, я планирую и дальше развивать этот проект по мере обнаружения багов.
По сути, весь основной функционал уже есть и, на удивление, работает очень хорошо. Если появляются какие-то баги, я сразу же их исправляю.
В день я в среднем диктую по 70–100 сообщений, а то и больше, и многие из них достаточно большие.
Поэтому, да, действительно, как вы и говорите: раньше каждый уважающий себя программист писал парсер, а теперь — систему распознавания речи. Хотя это не совсем система распознавания речи — это система распознавания с возможностью структурирования с помощью нейронных сетей.
Для примера: то, что я сейчас сказал, тоже надиктовано с помощью этого приложения и структурировано им же.
Я полностью согласен. То же самое можно сказать даже о встроенном распознавателе речи Google в Android: он не выполняет структурирование текста — не убирает ошибки, не структурирует и так далее. Это одна из важных функций и возможностей данного приложения.
Соглашусь с вами только частично. Основное отличие – это возможность ИИ модернизации текста. Часто приходится работать с коллегами и заказчиками, диктуя им текст и структурируя его, что занимает время. Данное приложение позволяет выполнять эту операцию полностью автоматически одним нажатием.