А точно ли в наши дни обязательно уметь писать? Какую пользу это несет? Сократ считал, что запись ухудшает память, знаем мы это, впрочем, лишь потому что его ученик Платон это записал. Оставим этот вопрос ученым, мы практики — если что-то можно автоматизировать, значит нужно!
Несколько лет назад вышел Whisper — open-source модель для распознавания речи с нормальной всеязычной транскрипцией и знаками препинания. И для меня это реально изменило всё.
Сначала написал свой сервер для транскрибации. Он OpenAI v1 transcriptions совместим, умеет streaming, авто выбор модели, очередь, web-морда и lazy+ttl загрузка моделей. Таких куча: 1, 2. Но у меня еще lib-а клиента с авто fallback на локальную транскрипцию. Потом туда добавился CUDA-брокер. На компе много проектов на gpu, например распознавание речи и распознавание картинок, теперь они могут договариваться между собой — кому сейчас грузиться, кому подождать, у кого выше приоритет.
Зачем?
На iPhone, Mac и Android уже есть встроенная диктовка, какой смысл?
Да, она есть. Да, она даже офлайн. Прекрасно.
Но она хуже.
-
Хуже распознаёт.
-
Хуже работает с длинной речью.
-
Ей нужно диктовать, а не говорить, по словам, внятно
-
Переключать языки
-
Уметь в знаки препинания. (как вы заметили это не про меня)
А здесь просто говоришь — и получаешь нормальный всеязычный текст, готовый к отправке. Именно поэтому я поставил это везде.
Это было только начало.
Транскрипции в Telegram? Telegram-бот. Кидаешь голосовое/звук/видео — получаешь текст.
Следующий шаг — суммаризация/перевод видео. Правда выяснилось, почти всегда можно вообще не тратить свои вычисления: субтитры на видео-платформах уже есть, скачиваются как и ролики через yt-dlp .

На Mac сделал маленькую программу: нажимаешь клавишу Fn, как в Codex, говоришь — текст транскрибируется и вставляется туда, где стоит курсор. (Ура не надо тянуться к F5!). Работает чуть быстрее Codex, зато:
— не требует бубна если ваш корпоративный фаервол не пускает к OpenAI;
— конфиденциально;
— поддерживает любой OpenAI v1 transcriptions endpoint;
— оригинальный OpenAI api;
— свой сервер
— и почему-то вставка текста работает стабильнее, чем у Codex. Почему — не вникал. Кодекс у меня всегда не вставляет текст, а попадает в историю буфера обмена предпоследним.
На iPhone это делается ещё проще через Быструю команду. Искренне не понимаю, почему Apple до сих пор не даёт нормально скидывать такие штуки как обычный файл.
На Android сложнее. Самое простое решение, насколько я понял, — Tasker. Но Tasker — это стороннее приложение, а встроенного нативного способа я пока не нашёл.
P.S на iOS/Mac наконец-то нормально работает «Управление голосом» на русском. Это очень круто. Жаль нельзя base_url поменять. Ужасно, что нельзя настраивать синонимы команд, ведь «пролистать вниз страницу 2 раз» вместо нормального «свайп вниз», и «коснуться» вместо «нажать» это надмозг божественного уровня. А почему обязательно «<количество> раз» — отдельный разговор. (Может я не разобрался, буду рад помощи)
Tasker
Trigger: Quick Settings Tile / Volume Long Press / Floating ButtonActions: Record Audio → /sdcard/Tasker/dictate.3gp HTTP Request: POST BASE_URL/v1/audio/transcriptions multipart/form-data: file = /sdcard/Tasker/dictate.3gp model = whisper-1 / твоя модель headers: Authorization: Bearer <key> JSON Read: $.text → %DICTATED_TEXT Set Clipboard: %DICTATED_TEXT Notify: %DICTATED_TEXT
А если вам нужна просто маленькая готовая штука без всей этой инфраструктуры — можно использовать Codex App. Он тоже хорошо работает.
ссылка на оригинал статьи https://habr.com/ru/articles/1055038/