Я пишу тысячи слов каждый день. Электронные письма, документация, сообщения в нашем корпоративном приложении, комментарии к коду (не так много). Мои руки иногда болят.. не совсем.. но я продолжаю ловить себя, говоря на экран, когда пишу, как мой мозг хочет диктовать, но мои пальцы не позволят это. Так что я попробовал очевидные инструменты. Windows Speech Recognition убил мой немецкий. Google Docs голосовое введение работало в порядке, но мне пришлось открыть браузер, и каждое слово, которое я сказал, шло прямо на серверы Google. Программное обеспечение коммерческого диктанта требовало ежемесячной подписки на что-то, что мой GPU должен справляться локально. API OpenAI Whisper был точным, но потоковый каждый S То, что я действительно хотел: нажмите кнопку, говорите, текст появляется прямо там, в любом окне, которое я использую. Нет вкладки браузера, нет учетной записи, нет ключа API. Просто мой голос, мой GPU и текстовый курсор.Я не мог найти ничего, что сделало именно это, поэтому я построил его. Это называется (https://github.com/TryoTrix/whisper-type), и это один файл Python, который превращает ваш GPU NVIDIA в локальный диктант. Тип шепота Чтобы использовать тип Whisper: Нажмите CTRL+ALT+D, поговорите, и текст появится в любом приложении, которое вы используете. Мне не нравится так много двигаться, поэтому я поставил сокращение CTRL+ALT+D на гиперсшифрованный клавиш мыши Razer+клик мыши Проблема голосового диктанта в 2026 году Голосовое распознавание получилось невероятно хорошим. Whisper large-v3 может обрабатывать акценты, фоновую музыку и смешанные языковые входы с почти человеческой точностью. Технология есть. Но модель доставки застряла в 2015 году. Почти каждый инструмент дикции либо работает в облаке (отправляя ваш аудио на чужой сервер), блокирует вас в конкретное приложение, или стоит периодическую плату. Между тем, GPU среднего диапазона с 2022 года может переписать речь в 10x в реальном времени. Аппаратное обеспечение, сидящее на вашем столе, более чем способно. Простое программное обеспечение не поймало. Есть также угол конфиденциальности. Я диктую рабочие электронные письма, разговоры с клиентами и личные Что делает типичный шепот Вы нажимаете на клавишу «CTRL+ALT+D». Тонкая красная строка освещается в верхней части экрана, и появляется анимированная орбита, так что вы знаете, что запись активна. Вы говорите. Вы нажимаете на горячий клавиш снова. Спустя пол секунды транскрипированный текст вставляется в любое окно, в котором вы работаете. Под капотом происходит пять вещей: Аудиозапись через записи «звукового устройства» в массиве NumPy при 16 кГц. Ни один файл WAV не попадает на диск. Whisper large-v3 проходит через `faster-whisper` (CTranslate2 backend) на вашем GPU с `float16` точностью. Фильтрация VAD (Silero Voice Activity Detection) пропускает тишину, поэтому Whisper обрабатывает только сегменты с фактической речью. Пост-обработка заменяет разговорную пунктуацию («значка вопроса» становится «?») и фильтрует известные галлюцинации. Clipboard paste вводит текст в любое приложение с фокусом. Один файл Python, около 600 строк. Технические решения Почему быстрее висят над оригиналом OpenAI Вы говорите предложение, подождите несколько секунд, а затем получите результат. Эта задержка убивает рабочий процесс. более быстрый whisper использует CTranslate2, который преобразует модель в оптимизированный формат вывода. Такие же весы, такая же точность, но в 4 раза быстрее на том же оборудовании. Вот что я измерил на моем RTX 4060: What I Said Audio Length Transcription Time Speed A few words 2-4s ~0.5s 4-6x real time One or two sentences 4-10s ~1s 5-10x real time A full paragraph ~55s ~5s 11x real time A long monologue 73s 7.7s 9.5x real time Несколько слов 2-4 с 0 0 5С 4 x реальное время Один или два предложения 4-10С 1С 5-10x в реальном времени Полный абзац 55С 5С 11x реальное время Долгий монолог 73С 7.7 С 9.5x Реальное время Для типичного диктанта (одно предложение или два), транскрипция заканчивается, прежде чем вы переместите руку обратно на клавиатуру. Тип компьютера , Для точности и Таким образом, шепот не теряет циклов на молчании. `float16` `beam_size=5` `vad_filter=True` The no_speech_prob Ловушка Это обошлось мне одним днем. Шпиль присваивает а значение для каждого транскрипированного сегмента — балл уверенности в том, что сегмент действительно содержит речь. Что звучит достаточно разумно. no_speech_prob 0.6 За исключением немецкого, этот балл доверия полностью нарушен. У меня были чёткие, громкие, хорошо сформулированные предложения, обозначаемые как : “no speech” with 97% confidence SKIP (no_speech=0.97): Yeah, das sieht cool aus. SKIP (no_speech=0.97): Die Animation beim Mikrofon klappt auch super. SKIP (no_speech=0.97): Ich werde nun die lange Sprachnachricht probieren. Восемь из девяти сегментов молча отбрасывались. Я просто поймал его, потому что у меня был включен дневник дебюта и заметил, что выход подозрительно короткий.Решение состояло в том, чтобы полностью отключить фильтр `no_speech_prob` и полагаться на Silero VAD для обнаружения молчания. Если вы строите что-либо с помощью Whisper для неанглийских языков: Вместо этого используйте VAD. do not trust `no_speech_prob`. Галюцинационный фильтр Когда Whisper получает тишину или шум окружающей среды, который проходит мимо VAD, он иногда галлюцинирует. Классические: "Спасибо за просмотр!", "Подпишитесь на мой канал", "Untertitel von..." (немецкий для "Подзаголовки по..."). Это известное поведение модели, и это тревожно, когда фантомный текст появляется в вашем проекте электронной почты. Решение состоит из простого блочного списка: pythonHALLUCINATION_PHRASES = [ "Untertitel von", "Untertitelung", "Copyright", "Abonniere", # ... more patterns] Каждая транскрипция проверяется против этого списка перед вставкой.Не элегантно, но эффективно. Список растет со временем, когда я сталкиваюсь с новыми галлюцинациями в дикой природе. Запись Overlay Я хотел непонятную визуальную обратную связь, когда микрофон горячий.Иконка системного ящика, меняющая цвет с зеленого на красный, не была достаточной, слишком легко пропустить. Таким образом, покрытие имеет две части: тонкий красный бар через верхний край каждого подключенного монитора и анимированную микрофонную орбу с электрическими плазменными кольцами. Кольца используют смещение 2D-пикселей, чтобы имитировать эффект "Fe DisplacementMap". Все 90 анимационных кадров предварительно отображаются при запуске, параллельно с загрузкой модели. Во время записи он просто переворачивается через предварительно вычисленные изображения. Был ли плазменный эффект строго необходим для инструмента диктанта?Нет, но это меня радует. Getting Started Вам нужно : Windows 10 или 11 GPU NVIDIA с поддержкой CUDA (тестировано на RTX 4060, должно работать на RTX 3060+) Python 3.12 и выше Около 3 ГБ дискового пространства для модели (однократная загрузка) bashgit clone https://github.com/TryoTrix/whisper-type.gitcd whisper-typeinstall.bat Инсталлятор проверяет вашу систему, устанавливает зависимости, скачивает Whisper large-v3, создает скорость автостарта и запускает инструмент. После этого он автоматически запускается на каждом входе в Windows. Икона ящика становится зеленой, когда модель загружена и готова. Три вещи, которые я узнал Разрыв между "модель ИИ работает" и "инструмент ИИ используется" огромен. Получение Whisper для транскрипции звука заняло, может быть, час. Сделать все это похоже на врожденную функцию ОС, мгновенный отклик на горячий ключ, иконку ящика, визуальное перекрытие, автостарт, восстановление ошибок, одноименный мутекс, все это заняло недели. Транскрипция может быть 10% кода. Остальные 90% делают его исчезающим в вашем рабочем процессе. Локальный ИИ действительно готов к реальной работе. 300-долларовый GPU с 2022 года запускает Whisper large-v3 быстрее, чем в реальном времени, с точностью, которая соответствует облачным API. Круглый поход к локальному GPU измеряется в миллисекундах. Облачный API-звонок добавляет сетевую задержку, потенциальное время остановки и счетчик, работающий на фоне. Для задач, таких как дикция, где вам нужен мгновенный ответ и обработка чувствительного текста, локальный строго лучше. Инструменты для одного файла используются, многофайловые проекты бросаются. Whisper Type - это один файл Python. Нет конфигурации, нет структуры проекта, нет шага построения. Хотите настроить список гал Ограничения Только для Windows: горячие клавиши, интеграция клипборда, икона тарелки и перекрытие все используют Windows API. двигатель Whisper является кросс-платформенным, поэтому порт Linux возможен, но потребует нового слоя интеграции. Требуется NVIDIA GPU. Нет AMD, нет Intel, нет Apple Silicon. CUDA является жесткой зависимостью. Нет потоковой передачи в режиме реального времени. Вы записываете кусочек, а затем он транскрибирует. Для большинства диктантов это ощущается мгновенно (менее одной секунды для предложения), но это не непрерывный потоковый процесс. Числа иногда форматируются непоследовательно, например, «140» становится «140 000» на немецком языке. Что будет дальше? Я использую Whisper Type ежедневно в течение нескольких недель. Это один из тех инструментов, которые изменяют то, как вы работаете, как только вы привыкаете к нему. Есть вещи, которые я хочу построить дальше: порт Linux (двигатель Whisper готов; это интеграция ОС, которая нуждается в работе), аудио-реактивные визуальные изображения на орбе (инфраструктура уже там; `audio_level` отслеживается, но еще не подключен к анимации), и, возможно, способ прокачивать дикцию непосредственно в командные терминалы. Если у вас есть GPU NVIDIA и вы проводите свой день, попробуйте Whisper Type. Построенный по Я строю веб-инструменты и программное обеспечение для повышения производительности на основе ИИ. Даниэль Геттер