Linux Fu: Говори з системою

Ілюстрація до статті про Linux Fu
Ілюстрація до статті про Linux Fu

Здається, людям не подобається друкувати. Як свідчать фільми та телешоу, майбутнє за спілкуванням з комп’ютерами. Колись розпізнавання мовлення було складним і не дуже якісним. Але зараз навіть наші скромні телефони досить непогано справляються з розпізнаванням мови. Звісно, одна з проблем полягає в тому, що ваш телефон, ймовірно, насправді не виконує розпізнавання мови. Він надсилає його до великої компанії на ваш вибір для інтерпретації. Я використовую Handy — систему розпізнавання мови, яка добре працює для мене. Я також розглядав деякі, які не спрацювали.

Зрештою, іноді приємно диктувати комп’ютеру, і було б ще краще, якби ви могли зберігати свої дані локально. На Windows, як не дивно, є добре розвинена функція мовлення, про яку, наскільки я можу судити, майже ніхто не говорить або не використовує. Одне відео оцінює, що 99% користувачів її не використовують. Linux, звісно, має багато варіантів, але історично їх було важко налаштувати або вони були примхливими.

Звичайно, гарна новина полягає в тому, що багато інструментів Linux є відкритими, а моделі досить хороші. Це означає, що інші люди мали свободу створювати форки інструментів і робити їх простішими у використанні, принаймні теоретично. Ліцензування самих моделей може відрізнятися, але їх у будь-якому разі буде важко модифікувати, і вони зазвичай працюють добре. Найбільші проблеми в Linux — це не сама технологія, а величезна різноманітність систем і налаштувань.

Припустимо, ви хочете написати програму перетворення мови на текст. Чи буде вона працювати на ARM? З якими робочими столами вона інтегруватиметься? Чи може вона використовувати GPU? Якого типу? Що щодо спеціалізованих інструкцій у деяких ЦП? Потім виникає ситуація з примусовим введенням: введення тексту в довільні програми, як тільки ви дізналися, що сказав користувач. На X11 це легко, але Wayland потребує іншого підходу.

Швидкий шлях

Я думав про використання свого телефону з KDE Connect, яка є чудовою програмою. Вона дозволяє використовувати телефон як клавіатуру та мишу для вашого комп’ютера Linux. На жаль, вона призначена для введення символів по одному, і я ніколи не знаходив способу змусити її працювати з голосом.

До того ж, телефон передає всі дані до “хмари”. Ймовірно, ви набираєте речі, які б краще не транслювати в ефір.

Я раніше розглядав Speech Note, але це, скоріше, блокнот для розпізнавання мови. Я не знайшов його бездоганним, і він все одно погано працював на моїй системі. Vocalinux виглядає добре, але швидкий тест постійно скаржився, що мої розширення Intel недоступні. Логічно, оскільки у мене процесор AMD. Хоча документація стверджувала, що це має працювати, мені так і не вдалося цього досягти.

Легкий спосіб

Виявляється, програма, яка легко працювала на моїй машині, — це Handy. Пам’ятайте, Handy — це просто ще один інструмент, який використовує одну з кількох доступних моделей, разом з іншими інструментами з відкритим кодом. Вам може знадобитися встановити деякі інструменти для роботи з вашою системою, такі як xdotool або dotool, але вони, ймовірно, вже встановлені. Це не применшує цінності Handy. Це — ну, власне — handy (зручно). Вам не потрібно завантажувати та налаштовувати моделі, встановлювати купу системних хуків або інсталювати купу бібліотек. Ви встановлюєте її, і вона працює.

Ви можете налаштувати її. Найкраща модель для вас, наприклад, може залежати від вашої машини та мов, якими ви розмовляєте. Ви можете налаштувати гарячі клавіші та спосіб введення тексту програмою на ваш комп’ютер. Але вона виконує всю роботу з завантаження та конфігурації.

Без хмари, якщо тільки…

Моделі працюють на вашому комп’ютері, і ви можете переконатися, що вони використовують ваше обладнання. Однак є необов’язкова альтернативна гаряча клавіша, яка бере вашу мову, обробляє її до тексту, а потім надсилає до обраного вами AI-двигуна для очищення.

Звісно, ви можете запускати власний AI-двигун, але зазвичай ви надсилатимете його кудись інде з підказкою. Ви можете налаштувати підказку або створити власну, але за замовчуванням вона починається так: “Очистити цей транскрипт: 1. Виправте помилки в орфографії, капіталізації та пунктуації. 2. Перетворіть слова-цифри на цифри (двадцять п’ять → 25, десять відсотків → 10%, п’ять доларів → 5 доларів). 3. Замініть вимовляні знаки пунктуації символами (крапка → ., кома → ,, знак питання → ?). 4. Видаліть слова-заповнювачі (ем, е, як заповнювачі)…”

Вам потрібен API-ключ, але доступні безкоштовні варіанти. Для експериментів я зайшов на OpenRouter, згенерував ключ і прив’язав його до однієї з кількох безкоштовних моделей, які вони мають. Приємно те, що ви можете експериментувати з різними моделями, зберігаючи той самий ключ.

Якщо ви шукаєте “безкоштовно” в полі моделей, ви знайдете кілька варіантів, включаючи openrouter/free, яка просто вибирає безкоштовну модель, яка не надто зайнята. Це може бути важливим, оскільки деякі моделі вводитимуть довгий час очікування у вашу транскрипцію.

З іншого боку, ви можете створити нову підказку, скопіювати оригінальну, видалити частину про збереження мови, додати інструкції для перекладу вихідних даних французькою, і це спрацює, принаймні більшу частину часу. Отже, є багато можливостей.

Замість того, щоб розповідати вам про це, ми б заохотили вас встановити її та спробувати або подивитися оглядове відео нижче.

Особлива згадка

Хоча Handy є моїм першим вибором для повсякденного використання транскрипції, є ще один проєкт з відкритим кодом, який варто згадати. Nerd Dictation — це дуже легка обгортка навколо моделі Vosk. Вона вимагає трохи налаштування, а потім надає інструмент командного рядка, який може розпочинати та зупиняти диктування. Звісно, ви можете призначити їх на макроклавіші. Однак є також перемикач, який дозволяє просто виводити дані в stdout. Це відкриває багато можливостей для написання програм або навіть скриптів оболонки, які реагують на голос.

Щоб побачити, що можливо, запустіть nerd-dictation begin –help. Це покаже вам, як виводити дані в stdout, встановлювати таймаут і обробляти інші параметри.

Звісно, очевидним проєктом була б друкарська машинка з голосом. Багато згаданих тут інструментів або покладаються на OpenWhisper, або можуть його використовувати, і, звісно, ви також можете використовувати його, якщо створите власний код.

  1. Oracles каже: 15 вересня 2026 року о 9:04 ранку

    Я думав, що навпаки: люди ненавидять говорити, тому текстові повідомлення віддають перевагу телефонним дзвінкам…

    Reply

    1. JohnU каже: 15 вересня 2026 року о 9:25 ранку

      Це залежить.

      Коли я хотів запитати імпортера/дистриб’ютора інструментів, яка різниця між двома дуже схожими інструментами в їхній пропозиції, я надіслав їм електронного листа.

      Коли я вирішив, який вибрати, я зателефонував їм, щоб запитати, чи продають вони приватним особам. Відповідь була “можливо”, але під час розмови хлопець на тому кінці нагадав мені про магазин інструментів у моєму місті, де є багато їхніх інструментів на місці. Я сів на велосипед, і через годину я мав те, що мені було потрібно.

      Якби ми почали обмінюватися електронними листами, все залишилося б дуже формальним, і зрештою мені, ймовірно, довелося б замовити річ онлайн, оскільки імпортер не дуже охоче спілкується з приватними особами; тоді як той місцевий магазин інструментів не дуже добре індексується в Google, тому я б його не знайшов. Здійснивши дещо веселий і неформальний телефонний дзвінок (просто двоє хлопців з різних міст розмовляють про інструменти), ми знайшли рішення приблизно за 5 хвилин.

      Reply

  2. BT каже: 15 вересня 2026 року о 10:20 ранку

    Я не хочу і не маю наміру розмовляти з комп’ютером або мати в кімнаті пристрій, який постійно слухає і надсилає все, що він вибере, з того, що він почув, хтозна-куди.

    Я серйозно задумався, чи не стане це тим, що перетворить мене на старого, який не зможе користуватися сучасними технологіями в недалекому майбутньому (мені 62, я на пенсії після життя на тодішньому передовому рівні).

    Reply

    1. Al Williams каже: 15 вересня 2026 року о 10:24 ранку

      Ми приблизно одного віку. Мені подобається розмовляти з моїм для деяких речей, але не писати. Але я диктую багато текстів тощо.

      Reply

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *