<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Блог VerbaIDE: диктування й переклад на Mac</title>
    <link>https://verbaide.com/uk/blog/</link>
    <description>Нотатки команди VerbaIDE: що зробили, що виміряли, що прибрали і чому.</description>
    <language>uk-ua</language>
    <lastBuildDate>Tue, 13 Oct 2026 12:00:00 GMT</lastBuildDate>
    <atom:link href="https://verbaide.com/uk/blog/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Smart Keyboard: як він вирішує, чи міняти слово</title>
      <link>https://verbaide.com/uk/blog/smart-keyboard/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/smart-keyboard/</guid>
      <pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate>
      <description>Smart Keyboard виправляє чужу розкладку й прості одруківки просто на Mac. Як він вирішує, як ми це міряли і що вимкнули, бо воно шкодило.</description>
      <content:encoded><![CDATA[<p>Пишете фразу, підводите очі — а там «ghbdsn» замість «привіт». Розкладка лишилася англійською. Стираєте, перемикаєте, набираєте знову. Хто пише двома-трьома мовами, робить це багато разів на день. Тепер це може робити VerbaIDE. Функція називається Smart Keyboard.</p>
<h2 id="що-він-робить">Що він робить</h2>
<p>Коли слово закінчилося — пробілом, комою, крапкою, — Smart Keyboard на нього дивиться. Якщо воно набране не в тій розкладці, слово замінюється, а розкладка системи перемикається, щоб наступне вийшло правильним. «ghbdsn» стає «привіт», «руддщ» — «hello», а «тыльки», набране на російській розкладці, — «тільки». Ще він виправляє прості одруківки в правильній розкладці: «сьогдні» стає «сьогодні», «відповдь» — «відповідь». І те й інше водночас: «cmjulys», набране на англійській розкладці, — «сьогодні».</p>
<p>Виправив даремно — натисніть ⇧ двічі. Повернуться і слово, і розкладка, а це слово більше ніколи не виправлятиметься. Ще раз ⇧ двічі — виправлення знову на місці.</p>
<h2 id="правило-з-якого-почали">Правило, з якого почали</h2>
<p>Пропущене виправлення коштує вам одного повторного набору. Хибне — дорожче: його треба помітити, а іноді помічаєш, коли повідомлення вже пішло. Тому ще до першого рядка коду ми поставили межу: не більше однієї хибної заміни на 10 000 правильно набраних слів. Усе, що нижче, міряли за нею.</p>
<h2 id="як-він-вирішує">Як він вирішує</h2>
<p>Усе відбувається на вашому Mac. Smart Keyboard дивиться на три речі.</p>
<p><strong>Перевірка правопису macOS</strong> — той самий словник, що підкреслює слова червоним. Вона відповідає на питання «чи є таке слово». Своїх словників ми в застосунок не кладемо.</p>
<p><strong>Таблиці сполучень із трьох літер.</strong> Для кожної мови ми порахували, які трійки літер трапляються на початку, всередині й наприкінці слова і як часто. «ghb» на початку англійського слова майже не буває, а «при» на початку українського — на кожному кроці. Рахували на загальнодоступних фразах проєкту Common Voice. У застосунку лежать лише таблиці, 22–43 КБ на мову, самих фраз там немає.</p>
<p><strong>Списки частих слів</strong> — з тих самих фраз: 300 найчастіших коротких слів кожної мови і довгий частотний список, щоб обирати між варіантами виправлення одруківки.</p>
<p>Коротким словам знадобилося своє правило. Перевірка правопису вважає словом майже будь-яку літеру й багато пар на кшталт «cd» чи «bc», тому для однієї-двох літер ми віримо лише спискам частих слів. Одиночну латинську літеру на англійській розкладці Smart Keyboard сам по собі не чіпає ніколи: на перевірці це перетворювало «E», «C», «J» і «R» на кирилицю від 52 до 65 разів на 10 000 слів. Така літера виправляється лише разом із сусіднім словом.</p>
<p>З українською й російською окрема історія. Їхні розкладки різняться лише кількома клавішами: «і» та «ы», «є» та «э», «ї» та «ъ». Вирішують словники, але в російського словника macOS є діри: він може не знати «продавцы», а український водночас знає «продавці». Тому самої відповіді словника мало — з нею мають погодитися й таблиці літер. Слова, які є в обох мовах, як-от «ті» й «ты», вирішують сусіди, і потрібно два таких слова. З одним на змішаному українсько-російському тексті виходило 15 хибних замін на 10 000 слів.</p>
<p>Для одруківки варіанти — підказки перевірки правопису й слова, що відрізняються від набраного одним промахом: одна літера не та, пропущена чи зайва, або дві літери стоять місцями. Свої варіанти йдуть у рахунок, лише якщо вони є в частотному списку. Перемагає найчастіший — і лише якщо він більше схожий на мову, ніж те, що ви набрали.</p>
<h2 id="як-ми-міряли">Як ми міряли</h2>
<p>Частину фраз Common Voice ми відклали й нічого з них не будували: 111 373 правильно набрані слова англійською, російською й українською, плюс ті самі слова в чужій розкладці. Перевірка набирає їх клавіша за клавішею й питає справжню перевірку правопису macOS.</p>
<ul>
<li><strong>Чужа розкладка.</strong> Зі слів у п’ять літер і довших виправлено 99,2% (українських — 96,4%). Короткі слова складніші: з дволітерних — 65–78%.</li>
<li><strong>Хибні заміни.</strong> 10 із 111 373 правильних слів, 0,9 на 10 000. Усі десять — слова, у які перевірка навмисно додала одруківку. Правильно написані слова не зачеплено жодного разу.</li>
<li><strong>Англійське всередині української й російської.</strong> «Slack», «PR», «API», «GitHub», «to», «is» і ще 16 слів, вставлених в українські й російські фрази: 18 400 вставок, жодної заміни.</li>
<li><strong>Одруківки.</strong> На правильному тексті: 4 хибні заміни на 50 562 англійські слова, 3 на 39 664 російські й 1 на 15 760 українських. Виправлено приблизно 83% англійських одруківок, 66% російських і 40% українських.</li>
</ul>
<p>Потім ми перевірили правило одруківок на тексті, за яким його не підбирали: рядки інтерфейсу самого застосунку, фрази нашого перевірного набору для диктування і наші російськомовні робочі записи. Англійська й українська — жодної хибної заміни. Російська — одна на 22 756 слів: «нодах» стало «годах».</p>
<h2 id="що-ми-вимкнули-бо-воно-шкодило">Що ми вимкнули, бо воно шкодило</h2>
<p><strong>Суддя для одруківок.</strong> У VerbaIDE є маленька локальна модель — наша дотренована Qwen3-1.7B, яка вже перевіряє терміни зі словника в диктуванні. Ми дали їй переглянути виправлену одруківку, коли набрано наступне слово. Псувала вона частіше, ніж рятувала: у російській зіпсувала 67 слів і врятувала 23, в англійській — 58 і 53, в українській — 8 і 2. А до того, обираючи між кількома варіантами одруківки, вона помилялася в 23–29% питань. Вимкнено і те, і те.</p>
<p>Для слів у чужій розкладці, де таблиці літер вагаються, та сама модель лишилася. Там вона підняла частку виправлених довгих слів з 97,7% до 99,2% (українських — з 90,6% до 96,4%) ціною чотирьох зайвих хибних замін на 111 373 слова, і всі чотири — на словах із навмисною одруківкою. 95 відповідей зі 100 вкладаються в 34 мілісекунди.</p>
<p><strong>Одиночна «э», що ставала «є».</strong> На російській розкладці «э» стоїть на клавіші, яка в англійській дає лапки. Англійська фраза, що починалася з лапок не в тій розкладці, отримувала «Є» замість лапок — 20 разів на перевірці. Вимкнено.</p>
<p><strong>Сміливе налаштування одруківок.</strong> Воно виправляло 92% російських одруківок, але міняло 8,8 правильного російського слова на 10 000, а на відкладеному російському тексті — 71 слово. Ми взяли суворе: 66% виправлених і менше ніж одна хибна заміна на 10 000.</p>
<h2 id="що-лишається-на-вашому-mac">Що лишається на вашому Mac</h2>
<p>Усе. Натискання обробляються на вашому Mac. Для виправлення розкладки в пам’яті обробляється фактичний текст поля до курсора: до початку речення, максимум 16 384 одиниці UTF-16; потім знімок забувається. Останнє виправлення зберігається для скасування. Нічого з набраного не зберігається, не пишеться в журнал і нікуди не надсилається. Smart Keyboard використовує «Універсальний доступ», щоб слухати клавіші й друкувати виправлення, пропускає поля паролів і застосунки-винятки та призупиняє виправлення під час диктування.</p>
<p>Smart Keyboard — платна функція, вона входить у платний пакет і в пробний період на 30 днів. Що він виправляє, чого не чіпає і чого не впіймає — на <a href="/uk/for/layout/">сторінці Smart Keyboard</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Пробний період тепер місяць, а не два тижні</title>
      <link>https://verbaide.com/uk/blog/trial-is-a-month/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/trial-is-a-month/</guid>
      <pubDate>Sat, 10 Oct 2026 12:00:00 GMT</pubDate>
      <description>Від 10 жовтня пробний період після реєстрації в застосунку триває 30 днів замість 14. Що він відкриває і як його отримати.</description>
      <content:encoded><![CDATA[<p>Від сьогодні пробний період після реєстрації в застосунку триває 30 днів. Раніше було 14.</p>
<h2 id="чому-ми-це-зробили">Чому ми це зробили</h2>
<p>За два тижні багато хто не встигає перевірити переклад і запис зустрічі на справжній роботі. Потрібно кілька дзвінків, довгий документ, звичайний робочий тиждень, а не пара пробних фраз. Місяця на це вистачає.</p>
<h2 id="що-відкриває-пробний-період">Що відкриває пробний період</h2>
<ul>
<li>переклад;</li>
<li>стильові пресети;</li>
<li>живі субтитри;</li>
<li>переклад під курсором;</li>
<li>запис зустрічі.</li>
</ul>
<p>Диктування в пробний період не входить, бо воно й так безкоштовне назавжди: і коли ви тримаєте клавішу, і коли натискаєте її коротко та вмикаєте секретаря. Коли місяць мине, платні функції закриються, а диктування залишиться.</p>
<h2 id="як-його-отримати">Як його отримати</h2>
<p>Зареєструйтеся в майстрі першого запуску. Пробний період увімкнеться сам: просити його окремо не потрібно, картка не потрібна.</p>
<h2 id="якщо-ви-вже-на-пробному-періоді">Якщо ви вже на пробному періоді</h2>
<p>У вас нічого не змінюється: строк лишається попереднім. 30 днів отримують ті, хто зареєструється від сьогодні.</p>
<p>Докладніше про те, що безкоштовно і що відкриває план, — у розділі <a href="/uk/docs/account-and-plans/">акаунт і плани</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Менший суддя для термінів вашого словника</title>
      <link>https://verbaide.com/uk/blog/term-judge-finetune/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/term-judge-finetune/</guid>
      <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
      <description>Ми навчили маленьку модель вирішувати, чи замінить термін зі словника те, що почув розпізнавач. Результат майже як у удвічі більшої, але втричі швидше.</description>
      <content:encoded><![CDATA[<p>Розпізнавач пише незвичні слова так, як вони чуються. Скажіть «Redis» в українській фразі, і можна отримати «редіс». Для цього у VerbaIDE є словники термінів: списки назв і того, як їх зазвичай чують неправильно. Цього тижня ми навчили маленьку модель ухвалювати остаточне рішення, і вона виявилася майже не гіршою за модель, більшу за неї понад удвічі.</p>
<h2 id="що-робить-суддя">Що робить суддя</h2>
<p>Коли в розпізнаному тексті є щось схоже на термін з вашого словника, застосунок має вирішити: це справді термін чи звичайне слово? «Redis» і українське слово, що звучить так само, — різні речі, а заміна наосліп ламає фрази, які були правильні.</p>
<p>Тому застосунок питає невелику мовну модель, суддю. Вона читає фразу й слово-кандидата та відповідає «так» або «ні». Раніше ми з’ясували, що питати про кожного кандидата безпечніше, ніж вірити складеному вручну списку ризикованих. Заковика в часі: питання ставиться, поки ви чекаєте на свій текст.</p>
<h2 id="що-ми-виміряли">Що ми виміряли</h2>
<p>Чотири голоси прочитали набір тестових фраз із термінами. Для кожної моделі ми рахували два числа: фрази, які суддя виправив (термін став на своє місце), і фрази, які він зіпсував (правильне слово замінили). Підсумок — виправлені мінус зіпсовані. «+63» означає, що на 63 фрази стало краще більше, ніж стало гірше.</p>
<ul>
<li>Модель на 4 мільярди параметрів: виправлено 70, зіпсовано 5, підсумок +65.</li>
<li>Наша донавчена на 1,7 мільярда: 68 і 5, підсумок +63.</li>
<li>Та сама модель на 1,7 мільярда до нашого навчання: 77 і 23, підсумок +54. Вона відповідала «так» майже на все.</li>
<li>Донавчена на 0,6 мільярда: +58.</li>
</ul>
<p>Усі п’ять поломок у донавченої моделі прийшли з однієї спірної фрази, пастки, яку ми залишили навмисно. Слів-пасток ми до навчання не включали, тож вимір іде на словах, яких модель не бачила. На окремому списку з 25 незнайомих термінів частка правильних відповідей «ні» зросла з 20% до 96%.</p>
<p>За швидкістю: одне питання займає близько 0,07 секунди на моделі в 1,7 мільярда проти приблизно 0,20 на моделі в 4 мільярди. Файл — 1,7 ГБ проти 3,3 ГБ. Тому вона нам подобається.</p>
<p>Для навчання ми згенерували приклади фраз, де правильна відповідь відома з того, як вони влаштовані. «+63» — це вимір на нашому тестовому наборі, а не обіцянка для вашого мовлення.</p>
<h2 id="як-стоять-справи">Як стоять справи</h2>
<p>За замовчуванням вона не ввімкнена. Застосунок тепер уміє спрямовувати суддю на окрему модель через приховане налаштування, окремо від моделі стилів. 7 жовтня ми ввімкнули її на одному з наших Маків. На живому диктуванні ми її поки не міряли. Доки цього нема, у всіх інших лишається попередня схема, а коли це зміниться, ми напишемо про це тут.</p>
<p>Про моделі докладніше — на сторінці <a href="/uk/docs/languages-and-models/">мови та моделі</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Звіт про невдале диктування: єдиний випадок, коли звук іде з Мака</title>
      <link>https://verbaide.com/uk/blog/report-a-bad-dictation/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/report-a-bad-dictation/</guid>
      <pubDate>Sat, 03 Oct 2026 12:00:00 GMT</pubDate>
      <description>За ⌃⌥⌘B можна надіслати нам невдале диктування. Що саме ви вмикаєте, що йде і як довго ми це зберігаємо.</description>
      <content:encoded><![CDATA[<p>Розпізнавання й переклад у VerbaIDE працюють на вашому Маку, і мовлення до нас не потрапляє. Через це нам важко дізнатися, де розпізнавання помиляється. Тож ми додали один виняток: можна надіслати нам одне невдале диктування, але лише якщо ви самі так вирішили, крок за кроком.</p>
<h2 id="що-ви-вмикаєте-і-натискаєте">Що ви вмикаєте і натискаєте</h2>
<p>Спершу ви вмикаєте в застосунку галочку «Хочу допомагати покращувати розпізнавання мовлення». Вона стоїть поруч зі згодою на статистику, але окремо від неї й за замовчуванням вимкнена. Згода на статистику її не вмикає, а сама галочка нічого не надсилає.</p>
<p>Потім натискаєте Control-Option-Command-B. Відкривається вікно. У ньому одне з трьох ваших останніх диктувань: його можна прослухати, видно текст і, якщо диктування було з перекладом, переклад. Можна ще написати, що пішло не так. Це за бажанням.</p>
<p>Тоді натискаєте «Надіслати». До цього моменту з Мака не йде нічого.</p>
<h2 id="що-відбувається-до-і-після">Що відбувається до і після</h2>
<p>Доки ви не натиснули «Надіслати», звук трьох останніх диктувань лежить лише в пам’яті. На диск він не пишеться, а при виході із застосунку забувається.</p>
<p>Без галочки пункт меню прихований, поєднання клавіш мовчить, а надсилання заборонене. Якщо ви потім вимкнете галочку, вікно закриється, а тимчасовий звук зітреться.</p>
<p>Після «Надіслати» застосунок надсилає: запис цього одного диктування, розпізнаний текст, переклад, якщо він є, опис проблеми, вашу пошту, якщо ви її ввели, версії застосунку та macOS і анонімний номер встановлення. Номер — це відбиток ключа встановлення, а не ваш акаунт; він потрібен лише щоб обмежити, скільки звітів може надіслати одне встановлення. Звіт іде на api.verbaide.com. Входити в акаунт і погоджуватися на статистику для цього не потрібно.</p>
<h2 id="як-довго-ми-це-зберігаємо">Як довго ми це зберігаємо</h2>
<p>Наша політика приватності каже прямо: ми зберігаємо звіт, доки не видалимо його вручну. Автоматичного видалення поки немає. Якщо хочете, щоб звіт видалили раніше, напишіть на <a href="mailto:contact@verbaide.com">contact@verbaide.com</a>.</p>
<h2 id="навіщо-ми-про-це-просимо">Навіщо ми про це просимо</h2>
<p>Коли розпізнавання помиляється, єдине надійне свідчення — звук. З опису словами не зрозуміти, чи слово пробурмотіли, чи мікрофон був тихий, чи помилилася модель. Із записом ми можемо відтворити випадок і виправити його для всіх, хто каже те саме. Це єдине місце, де звук іде з вашого Мака, і лише коли ви натискаєте кнопку.</p>
<p>Повний перелік мережевих запитів — на сторінці <a href="/uk/docs/what-leaves-your-mac/">що йде з вашого Mac</a>, а наша обіцянка щодо мовлення — на сторінці <a href="/privacy-first/">приватність передусім</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Тримати чи натиснути: одна клавіша диктування, два способи</title>
      <link>https://verbaide.com/uk/blog/hold-or-tap/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/hold-or-tap/</guid>
      <pubDate>Fri, 02 Oct 2026 12:00:00 GMT</pubDate>
      <description>Тримайте клавішу диктування для однієї фрази, натисніть коротко для безперервного секретаря. Одна клавіша, нічого зайвого в меню; секретар безкоштовний.</description>
      <content:encoded><![CDATA[<p>Досі диктування мало дві окремі частини: клавішу, яку тримаєш, і секретаря, що слухає безперервно. У секретаря були своя клавіша, свій пункт меню і своя вкладка в налаштуваннях. Ми їх об’єднали. Тепер одна клавіша диктування, а що станеться, вирішує те, як ви її натиснули.</p>
<h2 id="як-це-працює">Як це працює</h2>
<p>Тримайте клавішу й говоріть. Відпустили — весь текст одразу з’являється в полі. Це миттєвий спосіб. Він може переписати текст у вибраному стилі, а обмеження за часом немає.</p>
<p>Натисніть клавішу коротко — запуститься секретар. Говоріть, скільки потрібно. Текст з’являється в полі шматками по ходу мовлення, а друге натискання його зупиняє. Якщо ввімкнено переклад, кожен шматок перекладається дорогою. Стилю секретар не застосовує.</p>
<p>Межа між двома способами — пів секунди. Коротше натискання — коротке. Довше — утримання. Обирати режим заздалегідь не треба: ви просто тиснете клавішу так, як вимагає момент.</p>
<h2 id="навіщо-ми-це-зробили">Навіщо ми це зробили</h2>
<p>Дві клавіші на одну справу змушували людей зупинятися й думати, яку обрати. Фраза для повідомлення в чаті просить утримання. Довга думка, лист чи потік нотаток просять короткого натискання. Це різниця в тому, як ви тиснете, а не в можливостях, тож і місце в застосунку має бути одне.</p>
<p>У секретаря були обмеження: 60 секунд і 15 хвилин. Обох лімітів більше немає, а сам секретар тепер безкоштовний, як і решта диктування. Окрему клавішу, пункт меню, вкладку в налаштуваннях, вигляд в історії та індикатор «батарейки» прибрано.</p>
<h2 id="довге-утримання-стилізується-частинами">Довге утримання стилізується частинами</h2>
<p>Пов’язана зміна для миттєвого способу. Коли ви довго тримаєте клавішу і ввімкнено стильовий пресет, текст раніше йшов у модель стилізації цілим. Довгий текст малій локальній моделі дається важко. Тепер застосунок ріже довге диктування на частини й стилізує кожну зі своїм запасом. Якщо стилізація однієї частини не вдалася, як сказано лишається тільки вона, решта все одно стилізується. Пробіли між частинами зберігаються.</p>
<h2 id="що-робити-після-оновлення">Що робити після оновлення</h2>
<p>Нічого. Клавіша диктування лишається там, де була. Тримайте її для фрази, натискайте коротко для секретаря. Подробиці — на <a href="/uk/docs/hotkeys/">сторінці гарячих клавіш</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Хто говорить: мітки мовців у записі зустрічі</title>
      <link>https://verbaide.com/uk/blog/who-is-speaking/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/who-is-speaking/</guid>
      <pubDate>Tue, 29 Sep 2026 12:00:00 GMT</pubDate>
      <description>Розшифровка зустрічі тепер нумерує голоси моделлю Nemotron 3 Diarization. Як ми перевірили на слух, що означають цифри і що не йде в мережу.</description>
      <content:encoded><![CDATA[<p>Розшифровку зустрічі важко читати, коли всі рядки виглядають однаково. Тепер застосунок позначає, хто говорить: решта учасників дзвінка стають «Співрозмовник 1», «Співрозмовник 2» і так далі. Функцію поки позначено як експериментальну.</p>
<h2 id="чому-ми-змінили-спосіб">Чому ми змінили спосіб</h2>
<p>Перший спосіб різав звук дзвінка на шматки й порівнював відбитки голосів. На справжньому записі він не впорався. Мікрофон і решта учасників приходять змішаними в одному каналі, і голоси різних людей потрапляли в одну групу. Виходом не стали й імена: ім’я, взяте з тексту, часто дістається не тій людині.</p>
<p>Новий спосіб — модель Nemotron 3 Diarization від NVIDIA. «Діаризація» означає розкладання запису за тим, хто і коли говорив. Модель розрізняє до восьми голосів на одній зустрічі. Російської та української в її навчанні немає, тому ми перевірили її самі.</p>
<h2 id="як-ми-перевіряли">Як ми перевіряли</h2>
<p>Узяли один справжній запис зустрічі: близько 72 хвилин, четверо людей. Нарізали 60 коротких шматочків по дві з половиною секунди з випадкових місць і послухали кожен. У 51 з них можна було впевнено сказати, хто говорить, їх ми й залишили.</p>
<p>Для кожного шматочка дивилися, який номер йому дала програма. Нова модель віднесла всі 51 до потрібної людини, тобто 51 із 51, і використала рівно чотири номери на чотирьох людей. Попередній спосіб дав 27 із 51, близько 53%, і розкидав голоси по семи номерах, у кожному з яких суміш людей.</p>
<p>До цього варто ставитися обережно. Це одна зустріч, невеликий набір шматочків, перевірка однією людиною і ті мови, якими йшов той дзвінок. На цілих рядках розшифровки, які довші за наші шматочки й інколи містять двох мовців, нова модель збіглася з нашим слухом у 47 випадках із 51. Інші записи ми поки не перевіряли.</p>
<h2 id="що-лишається-на-вашому-маку">Що лишається на вашому Маку</h2>
<p>Модель — завантаження приблизно на 100 МБ з huggingface.co. Вона завантажується лише за кнопкою у вкладці «Завантаження». Сама зустріч у мережу не ходить: мітки ставляться на вашому Маку після запису.</p>
<p>Голосів застосунок не запам’ятовує. Номери існують лише всередині однієї зустрічі й нікого не впізнають. «Співрозмовник 2» сьогодні ніяк не пов’язаний зі «Співрозмовником 2» завтра. Голосового профілю нема, тож і зберігати, і втрачати нічого.</p>
<p>Про те, що виходить із застосунку і коли, написано на сторінці <a href="/uk/docs/what-leaves-your-mac/">що йде з вашого Mac</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Диктування погіршало? Спершу перевірте мікрофон</title>
      <link>https://verbaide.com/uk/blog/quiet-microphone/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/quiet-microphone/</guid>
      <pubDate>Fri, 25 Sep 2026 12:00:00 GMT</pubDate>
      <description>Bluetooth-навушники лишили мікрофон на 27% гучності, і диктування почало плутати слова. Тепер панель попереджає про це; що перевірити самому.</description>
      <content:encoded><![CDATA[<p>Цього тижня один із нас помітив, що диктування робить значно більше помилок, а смужка рівня на панелі квола. Ми почали шукати причину в останніх змінах. Причина була зовсім не в коді.</p>
<h2 id="що-ми-знайшли">Що ми знайшли</h2>
<p>Системний вхід на Маку лишився на Bluetooth-навушниках, а гучність входу стояла на 27%. Ми виміряли гучність записаних фраз. Мовлення приходило приблизно на мінус 48 децибел. На звичайному мікрофоні та сама міра тримається між мінус 20 і мінус 35. Це дуже тихий запис, і розпізнавачу майже нема за що вхопитися.</p>
<p>У записах це видно за хвилину. Розбирати всі зміни довелося б годину.</p>
<p>Того ж дня вилізло друге. Після натискання клавіші диктування з’являлася панель, потім тиша, і лише потім звук початку запису. Журнал показував, що застосунок починав запис за 0,1 секунди після натискання, тож гальмував не він, а навушники. Коли Bluetooth-навушники відкривають мікрофон, вони перемикаються з режиму музики в режим гарнітури, і це забирає час. У режимі гарнітури звук до того ж гірший, ніж під час відтворення музики.</p>
<h2 id="що-робить-застосунок-тепер">Що робить застосунок тепер</h2>
<p>Кожне диктування тепер міряє гучність перших півтори секунди вашого мовлення. Якщо вона надто тиха, панель шість секунд про це каже: який мікрофон слухає і яка в нього гучність входу. Запис триває далі, ми вас не зупиняємо.</p>
<p>Поріг ми підібрали приблизно на півтори тисячі власних записаних шматків. Попередження ловить близько трьох чвертей тієї тихої години, що в нас була, і спрацьовує даремно менш ніж на одному відсотку звичайного мовлення. Це практичне правило, а не гарантія.</p>
<h2 id="що-можна-перевірити-самому">Що можна перевірити самому</h2>
<p>Якщо диктування раптом погіршало, насамперед гляньте на мікрофон.</p>
<ul>
<li>Відкрийте Системні параметри, потім Звук, потім Вхід. Скажіть щось і стежте за шкалою. Якщо вона ледве ворушиться, підніміть гучність входу.</li>
<li>Подивіться, який пристрій вибрано. Коли ви підключаєте навушники, macOS може перемкнути вхід на них без питань.</li>
<li>Якщо ви працюєте з Bluetooth-навушниками, чекайте короткої паузи, коли відкривається мікрофон, і гіршого звуку, поки він увімкнений. Вбудований мікрофон Мака позбавляє обох.</li>
</ul>
<p>Інші підказки є на <a href="/uk/docs/troubleshooting/">сторінці неполадок</a>.</p>
<p>Сьогодні: в налаштуваннях можна обрати для диктування окремий мікрофон.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Нова модель розпізнавання не встановлюється без запитання</title>
      <link>https://verbaide.com/uk/blog/model-updates-ask-first/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/model-updates-ask-first/</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 GMT</pubDate>
      <description>Раніше застосунок мовчки завантажував нові моделі розпізнавання. Тепер він питає: «Оновити» чи «Не зараз». Ось коли і як часто.</description>
      <content:encoded><![CDATA[<p>Раніше, коли ми викладали кращу модель, застосунок завантажував її сам: близько 600 МБ, без попередження. Вікно підтвердження ми обіцяли ще під час створення цієї схеми. Сьогодні воно з’явилося.</p>
<h2 id="що-робить-застосунок-тепер">Що робить застосунок тепер</h2>
<p>Коли доступна нова модель, застосунок показує вікно з двома кнопками: «Оновити» і «Не зараз». У вікні вказано розмір завантаження та сказано, що застосунок і далі працює на поточній моделі, доки ви не оновите. Відповідати швидко не потрібно, і поки ви думаєте, нічого не перестає працювати.</p>
<p>Частину рішень ми ухвалили свідомо:</p>
<ul>
<li>Вікно ніколи не з’являється, поки ви працюєте. Воно чекає, якщо йде диктування, секретар або живі субтитри.</li>
<li>Воно з’являється приблизно за п’ять секунд після запуску або коли ви відкриваєте розділ «Розпізнавання» в налаштуваннях, у вкладці «Компоненти».</li>
<li>Воно з’являється не частіше за один раз за запуск.</li>
<li>Після «Не зараз» застосунок чекає тиждень і лише тоді питає знову.</li>
<li>Після другого «Не зараз» він більше не питає про цю версію. Якщо ми виставимо новішу, лічильник почнеться з нуля.</li>
</ul>
<p>У кнопок немає клавіш швидкого вибору. Під час перевірки випадковий Enter, натиснутий в іншому вікні за мить до цього, погодився на завантаження 600 МБ. Тепер потрібно натискати кнопку мишею.</p>
<h2 id="що-завжди-можна-зробити-самому">Що завжди можна зробити самому</h2>
<p>Кнопка «Оновити модель» лишається в налаштуваннях, у «Компонентах», у розділі «Розпізнавання». Якщо ви двічі натиснули «Не зараз» і передумали, кнопка на місці. Якщо ви натиснули «Оновити» й закрили застосунок на півдорозі, завантаження продовжиться під час наступного запуску без повторного запитання.</p>
<h2 id="єдиний-виняток">Єдиний виняток</h2>
<p>Найперша модель встановлюється без запитання. Без моделі розпізнавання нічим диктувати, навіть у безплатному режимі, тож запитання лише заважало б. Це стосується тільки випадку, коли не встановлено взагалі жодної моделі.</p>
<h2 id="чи-йде-щось-нове-в-мережу">Чи йде щось нове в мережу</h2>
<p>Ні. Запитання спирається на той самий покажчик на поточну модель, який застосунок і так читав не частіше за раз на добу. Нічого про вас він не надсилає. Ваші відповіді зберігаються в налаштуваннях застосунку на вашому Маку, тому очищення кешу моделей питання не повертає.</p>
<p>Повний перелік того, що застосунок надсилає й коли, — у розділі <a href="/uk/docs/what-leaves-your-mac/">що залишає ваш Mac</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ми дотренували розпізнавач на власних записах</title>
      <link>https://verbaide.com/uk/blog/finetuning-parakeet/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/finetuning-parakeet/</guid>
      <pubDate>Sun, 20 Sep 2026 12:00:00 GMT</pubDate>
      <description>Що ми змінили в Parakeet, яка рецептура перемогла, які ідеї не допомогли і чому ми міряємо лише на голосах, яких модель не чула.</description>
      <content:encoded><![CDATA[<p>Розпізнавач у застосунку — Parakeet від NVIDIA. Він хороший і без доробок, але помиляється саме на тому, що ми диктуємо: назви продуктів, англійські слова посеред українського чи російського мовлення, числа. Тому ми донавчили його на записах, які зробили самі. Ось що вийшло.</p>
<h2 id="що-ми-зробили">Що ми зробили</h2>
<p>Дотренування — це коли беруть готову модель і продовжують її вчити на новому матеріалі. Ми робили це на Маку, без орендованих відеокарт. У моделі близько 627 мільйонів параметрів, один прохід по приблизно 80 хвилинах звуку займає близько 12 хвилин.</p>
<p>Записи наші: кілька людей читали вголос сотні фраз, зокрема фрази-пастки. Наприклад, «сафарі-парк», який модель полюбляє писати як «Safari Park», і речення, повні чисел.</p>
<h2 id="яка-рецептура-перемогла">Яка рецептура перемогла</h2>
<p>Ми порівняли варіанти на двох людях, яких модель не чула, по 100 нових фраз у кожного. Помилок на сто слів, менше — краще:</p>
<table>
<thead>
<tr>
<th>Варіант</th>
<th>Помилок</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parakeet у тому вигляді, як його випускає NVIDIA</td>
<td>40,1</td>
</tr>
<tr>
<td>Наша попередня версія</td>
<td>22,4</td>
</tr>
<tr>
<td>Суміш із вихідною моделлю 0,4</td>
<td>25,0</td>
</tr>
<tr>
<td>Суміш із вихідною моделлю 0,6</td>
<td>22,8</td>
</tr>
<tr>
<td>Без суміші</td>
<td>19,5</td>
</tr>
<tr>
<td>Спотворений звук, суміш 0,6</td>
<td>21,7</td>
</tr>
<tr>
<td>Спотворений звук, без суміші</td>
<td>18,2</td>
</tr>
</tbody>
</table>
<p>Переміг останній варіант: на 4,2 пункта краще за попередню версію.</p>
<p>Дві ідеї варто пояснити. «Спотворений звук» означає, що під час навчання ми додаємо до записів відлуння кімнати та іншу псування, щоб модель звикла до справжніх приміщень. «Суміш» означає, що дотреновану модель усереднюють із вихідною, щоб вона не забула попереднє. Якийсь час ми брали суміш 0,6, і вона виявилася шкідливою. Її підібрали на одному голосі та на першому наборі фраз, де мало складних випадків. Коли ми додали другий набір, де пасток і чисел удвічі більше, суміш лише забирала виграш.</p>
<h2 id="що-не-допомогло">Що не допомогло</h2>
<p>Більше даних того самого виду. Три версії, навчені на дедалі більшому обсязі, показали однаковий результат у межах шуму. Нові фрази від тих самих людей теж не допомогли, як і сильні спотворення: вони виявилися гіршими за помірні. Допомагають нові голоси та правильна рецептура.</p>
<h2 id="як-ми-міряємо">Як ми міряємо</h2>
<p>Лише на голосах, яких модель не чула, і на фразах, яких вона не бачила. Якщо голос був у навчанні, число виглядає приблизно на третину кращим, ніж буде в справжньої людини. Тому ми тренуємо окрему модель без кожного з перевірочних голосів і міряємо на ній.</p>
<p>Дотренована модель лежить на cdn.verbaide.com, і застосунок бере її звідти. Сьогодні: з 24 вересня застосунок питає, перш ніж ставити нову версію. Докладніше — про <a href="/uk/docs/languages-and-models/">мови та моделі</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Промпти стилів: приклади працюють краще за правила</title>
      <link>https://verbaide.com/uk/blog/style-prompts-examples-beat-rules/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/style-prompts-examples-beat-rules/</guid>
      <pubDate>Thu, 17 Sep 2026 12:00:00 GMT</pubDate>
      <description>Як ми налаштовуємо інструкції для стильових пресетів. Заборони «не роби так» погіршували результат, а пари «вхід → вихід» покращували.</description>
      <content:encoded><![CDATA[<p>Стильовий пресет переписує надиктований текст у потрібному тоні, наприклад офіційніше. Переписує мовна модель, і працює вона за письмовою інструкцією. Налаштовуючи цю інструкцію, ми дізналися те, чого не чекали: якщо сказати моделі, чого не робити, буде гірше.</p>
<h2 id="що-йде-не-так">Що йде не так</h2>
<p>Інколи модель робить щось неприємне. Починає зі слів «Звісно, ось неформальний варіант:». Копіює ваш текст дослівно. Відкриває відповідь словом «Привіт». Природна реакція — дописати в інструкцію рядок: не починай зі вступу, не кажи «привіт».</p>
<p>Ми так і робили та міряли це чотири рази на трьох пресетах, на живому диктуванні. Щоразу додані заборони погіршували результат:</p>
<ul>
<li>Заборона на вступ «Sure, here’s…» опустила результат нижче за той, з якого ми починали.</li>
<li>П’ять спроб поспіль заборонити привітання «Hey» провалилися.</li>
<li>Правило без прикладу зменшило кількість чистих випадків із 19 до 7.</li>
</ul>
<p>Наше припущення: модель чіпляється за самі ті слова, які їй веліли оминати, замість того щоб їх оминати.</p>
<h2 id="що-працює">Що працює</h2>
<p>Готова пара: фраза на вході та відповідь, яку ми хочемо отримати. Два такі приклади дали на дванадцять виправлених фраз більше і лише одну, що стала гіршою.</p>
<p>Не кожен приклад допомагає. Приклади, вигадані з голови, дали невеликий приріст. Помітний приріст дало інше: ми брали конкретні фрази, на яких модель схибила в попередньому прогоні, і писали до кожної правильну відповідь. Виходить цикл: прогнати тест, вибрати фрази, що провалилися, перетворити їх на приклади, прогнати знову.</p>
<p>Ще одне, про що легко не знати. Дві найгірші звички, вступ і дослівне копіювання, проявляються лише на довгих текстах із кількома думками. На коротких фразах з одного речення їх майже не видно. Тест із коротких фраз скаже, що все добре.</p>
<h2 id="як-ми-оцінюємо">Як ми оцінюємо</h2>
<p>У нас є постійний набір фраз, поділений на дві половини. Налаштовуємо ми на одній половині. Друга лишається закритою до самого кінця, як іспит, щоб не підганяти промпт під фрази, які ми бачимо.</p>
<p>Кожна відповідь проходить прості перевірки без моделі: чи вціліли числа, чи залишилося питання питанням, чи не з’явилися чужі літери. Далі друга мовна модель працює суддею й відповідає на п’ять постійних запитань про кожен результат. Якщо змінити суддю, змінюються всі числа, тому кандидата та його вихідний варіант завжди оцінює той самий суддя.</p>
<p>Так ми скоротили інструкцію для ділового тону з 1699 до 1490 токенів, а оцінка судді зросла з 264 до 271 з 282. Промпт коротший, оцінка вища, і жодної нової заборони.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ми пробували чистити звук перед розпізнаванням. Не допомогло</title>
      <link>https://verbaide.com/uk/blog/audio-cleanup-does-not-help/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/audio-cleanup-does-not-help/</guid>
      <pubDate>Tue, 15 Sep 2026 12:00:00 GMT</pubDate>
      <description>Ми перевірили вирівнювання гучності, шумозаглушення та фільтри перед розпізнаванням. Два способи погіршили результат, решта нічого не змінила.</description>
      <content:encoded><![CDATA[<p>Здається очевидним: прибрати шум, вирівняти гучність — і розпізнавач чутиме краще. Ми перевірили це на власних записах. Вийшло навпаки.</p>
<h2 id="що-ми-пробували">Що ми пробували</h2>
<p>Взяли записи чотирьох голосів, 1434 фрази, і пропустили кожну фразу крізь тринадцять варіантів обробки перед розпізнаванням. Потім порівняли кількість помилок із необробленим записом.</p>
<ul>
<li>Вирівнювання гучності: усі записи приводяться до одного рівня. Стало гірше, приблизно на два пункти більше помилок на сто слів. Англійські фрази одна за одною записувалися кирилицею.</li>
<li>Шумозаглушення RNNoise. На голосі, який і так був чистим, стало гірше.</li>
<li>Шумозаглушення GTCRN. Воно лише перемішало помилки: одні зникли, інші з’явилися, а російською стало трохи гірше.</li>
<li>Фільтр високих частот на 90 Гц, який зрізає низьке гудіння. Жодної різниці.</li>
</ul>
<h2 id="чому-так">Чому так</h2>
<p>Очищення звуку не дає розпізнавачу просто кращий запис. Воно змінює звук, а розпізнавач реагує на цю зміну так, як ми не очікували.</p>
<p>Найбільше здивувала гучність. Розпізнавач сам вирішує, якою мовою звучить мовлення, і гучність зсуває це рішення. Чим голосніший звук, тим сильніше модель тягне до російської, і англійська фраза з’являється кирилицею. Тихіший звук — модель відпускає, і вона повертається до мови фрази. Невеликий зсув на вході змінював абетку приблизно в 150 фразах із 1434.</p>
<p>Ми шукали й один ідеальний рівень гучності, але не знайшли. Підсилення звуку шкодило, а найкращий рівень у кожного голосу свій, і вони розходилися більш ніж на 15 дБ.</p>
<h2 id="що-допомогло-трохи">Що допомогло трохи</h2>
<p>Стабільний виграш дало лише одне: зробити звук тихішим на три децибели. Це прибрало приблизно півпункта помилок на сто слів, і жоден голос не став гіршим. Якщо зробити звук набагато тихішим (на 6 дБ і більше), з’являється нова біда: російська починає зсуватися в українське написання.</p>
<p>Виграш невеликий, тож ми додали його лише як експеримент. У налаштуваннях диктування є перемикач «Покращити розпізнавання (експеримент)», типово він вимкнений. На живі субтитри він не впливає.</p>
<p>Тому шумозаглушення перед розпізнавачем ми не ставимо. Якщо захочемо покращити результат для російської та української, дивитимемося, як модель обирає мову, а не на звук.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ми виміряли хмарні розпізнавачі й лишилися на пристрої</title>
      <link>https://verbaide.com/uk/blog/cloud-recognizers-measured/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/cloud-recognizers-measured/</guid>
      <pubDate>Tue, 15 Sep 2026 12:00:00 GMT</pubDate>
      <description>Розпізнавач OpenAI помилявся на 3–4 пункти рідше за наш на фразах з аркуша. Хмарний варіант ми все одно не робимо. Пояснюємо чому.</description>
      <content:encoded><![CDATA[<p>Два великі хмарні сервіси тепер заявляють розпізнавання з російською та українською: GPT-Transcribe від OpenAI і Gemini 3.5 Transcribe від Google. Ми хотіли знати, наскільки вони кращі за модель, що працює на вашому Маку. Ми виміряли.</p>
<h2 id="як-ми-перевіряли">Як ми перевіряли</h2>
<p>Ми взяли власний набір фраз, які читали вголос чотири людини: по 380 фраз на голос, з них 294 в українському наборі. Сервіси отримували файли без підказок і без списків термінів, а нашу модель Parakeet, що працює на пристрої, ми прогнали в тих самих умовах. Рахували частку неправильних слів без урахування розділових знаків. Це єдиний випадок, коли записи йшли до цих сервісів: у самому застосунку так не буває.</p>
<p>Частка неправильних слів за всіма голосами разом:</p>
<ul>
<li>російська: Parakeet 13,5%, Gemini 10,0%, GPT-Transcribe 9,8%</li>
<li>українська: Parakeet 18,0%, Gemini 20,5%, GPT-Transcribe 14,6%</li>
<li>англійська: Parakeet 13,7%, Gemini 13,1%, GPT-Transcribe 10,6%</li>
</ul>
<h2 id="що-ми-побачили">Що ми побачили</h2>
<p>GPT-Transcribe виявився кращим на 3–4 пункти в кожній мові, і розрив упевнений, а не випадковість вибірки. Gemini на російській та англійській був близький до Parakeet. На українській без підказки мови він був гіршим за Parakeet: короткі фрази дописував російською. Числа він записує цифрами.</p>
<p>Одне не покращилося. На фразах з англійськими термінами всередині російського мовлення хмарні сервіси помилялися у 17–26% слів, проти 32% у Parakeet. «Антропик», «докер» і «мігрейт» у всіх вийшли кирилицею. Тож словник термінів потрібен поверх будь-якого хмарного розпізнавача.</p>
<h2 id="чому-ми-відмовилися">Чому ми відмовилися</h2>
<p>Хмарний варіант коштував би нам реальних грошей за кожну хвилину мовлення, окремого сервера для видачі ключів доступу, двох чужих інтеграцій, які треба тримати робочими. Але головна ціна — сама обіцянка. Сьогодні мовлення не залишає ваш Mac, і ця фраза коротка й правдива. Три-чотири пункти точності не варті того, щоб від неї відмовитися.</p>
<p>До цифр є й застереження. Наші фрази читали з аркуша, а не говорили вільно. Ми вже обпікалися на цьому: одна з попередніх моделей на фразах з аркуша була кращою на 1–2 пункти, а потім на живому диктуванні показала себе гірше — писала «е-е» і рвала речення навпіл. Ми її прибрали. Виграш на тестовому аркуші не завжди переноситься на справжнє мовлення.</p>
<h2 id="що-робимо-натомість">Що робимо натомість</h2>
<p>Ці 3–4 пункти ми намагаємося добрати на пристрої: інші локальні моделі, які одразу міряємо на записах справжнього диктування, обробка звуку до розпізнавання і донавчання Parakeet на наших записах. Про те, що спрацює, розповімо. А що саме залишає ваш Mac сьогодні, перелічено в розділі <a href="/uk/docs/what-leaves-your-mac/">що залишає ваш Mac</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Чому ми прибрали розпізнавач, який показував кращий результат</title>
      <link>https://verbaide.com/uk/blog/why-we-removed-gigaam/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/why-we-removed-gigaam/</guid>
      <pubDate>Tue, 15 Sep 2026 12:00:00 GMT</pubDate>
      <description>Російський розпізнавач виглядав краще на тестових фразах, але на живому мовленні писав «е-е» і рвав речення. Ми його прибрали.</description>
      <content:encoded><![CDATA[<p>Якийсь час у застосунку був другий російський розпізнавач, GigaAM. Він перевіряв повторно кожен російський шматок диктування після основного розпізнавача, Parakeet. За цифрами він був кращий. У житті виявився гіршим, і ми прибрали його повністю.</p>
<h2 id="що-казали-цифри">Що казали цифри</h2>
<p>У нас є постійний набір тестових фраз, які люди читають уголос, і ми рахуємо, скільки помилок розпізнавач робить на них. На цьому наборі GigaAM давав на один-два пункти менше помилок на сто слів, ніж самий Parakeet. Це помітний виграш, тому ми його й додали.</p>
<h2 id="що-показало-живе-мовлення">Що показало живе мовлення</h2>
<p>Набір прочитаних фраз акуратний. Людина читає речення з аркуша, говорить рівно і не затинається. Справжнє диктування не таке. Ти думаєш на ходу, робиш паузи, починаєш фразу знову.</p>
<p>Ми подивилися на текст, який GigaAM видавав на нашому звичайному щоденному диктуванні: 557 повторно перевірених шматків за один день. Вийшло погано, і чотирма способами:</p>
<ul>
<li>він вписував у текст «е-е» та «и-и-и», тобто звуки роздуму, яких ніхто не хоче бачити на сторінці;</li>
<li>він рвав речення: крапка і велика літера посеред фрази;</li>
<li>він обривав останнє слово там, де один шматок звуку стикується з наступним;</li>
<li>у чотирьох шматках із десяти він змінював лише розділові знаки, і робив гірше.</li>
</ul>
<p>На тестовому наборі нічого з цього не було видно, бо в ньому немає затинань і недомовлених фраз.</p>
<h2 id="що-ми-вирішили">Що ми вирішили</h2>
<p>Можна було підправити перевірку так, щоб тестовий набір ловив ці проблеми. Ми не стали. Людина, яка диктує щодня, побачила проблему в тексті, а це і є головна перевірка. Ми прибрали GigaAM із застосунку, з налаштувань і зі списку компонентів. Файли моделі ми теж зняли з нашого сервера завантажень. А якщо на Маку лишилася копія, застосунок видалить її під час запуску.</p>
<p>Урок простий. Цифра, отримана на прочитаних фразах, не переноситься на живе мовлення. Якщо з’явиться новий кандидат для російської, ми спершу перевіримо його на справжньому диктуванні, а вже потім на прочитаних фразах. Для російської у нас лишається Parakeet.</p>
<p>Що ми використовуємо зараз і як встановлюються моделі — на сторінці про <a href="/uk/docs/languages-and-models/">мови та моделі</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Словники термінів і підказка, яку ми сховали</title>
      <link>https://verbaide.com/uk/blog/term-dictionary-hint-hidden/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/term-dictionary-hint-hidden/</guid>
      <pubDate>Sat, 05 Sep 2026 12:00:00 GMT</pubDate>
      <description>Ми перевірили три способи повернути англійські терміни в російське мовлення. Очевидний зламав утричі більше, ніж виправив, і ми його сховали.</description>
      <content:encoded><![CDATA[<p>Коли ви кажете «pull request» у російській фразі, розпізнавач пише «пул реквест». Anthropic перетворюється на «Антропик», GitHub Actions — на «Гитхаб экшн». Ми витратили час, щоб це виправити, і результат вийшов не той, якого ми чекали.</p>
<h2 id="три-способи-виправити-терміни">Три способи виправити терміни</h2>
<p>Розпізнавач працює зі звуком, тож перша думка була — підказати йому, які терміни слухати. Поруч з основною працює друга мала модель на 98 МБ: вона шукає терміни у звуці й переписує текст там, де чує один із них. Це ми називаємо підказкою. Другий спосіб — звичайний список замін, який застосовується до готового тексту, без моделі. Третій — суддя: невелика мовна модель читає речення й вирішує, чи справді термін тут доречний.</p>
<p>Ми перевірили всі три способи на чотирьох голосах і 1434 фразах, приблизно 57 варіантів налаштувань. Для кожного способу рахували, скільки фраз він виправив і скільки зламав.</p>
<ul>
<li>Підказка: виправила 86, зламала 253. І ще 2,26 секунди на фразу проти 0,33 без неї.</li>
<li>Один список замін: виправив 69, зламав 16, миттєво.</li>
<li>Суддя: виправив 79, зламав 10. За часом майже безкоштовно: модель прокидається, лише коли в тексті справді трапився кандидат.</li>
</ul>
<p>Підказка зламала втричі більше, ніж виправила. Її типова помилка — співзвучне слово: російське «посмотрел» перетворюється на «Postgres». Ми пробували прибрати зі списку ризиковані слова й отримали те саме співвідношення три до одного. Тому підказку ми вимкнули, а її перемикач сховали з налаштувань. Код лишився, поруч коментар, чому вона вимкнена.</p>
<h2 id="що-тепер-робить-суддя">Що тепер робить суддя</h2>
<p>Раніше суддя питав модель лише про варіанти, які ми позначили як ризиковані. Ми перевірили, що буде, якщо питати про кожного кандидата. Підсумковий виграш той самий, але ламається 6 фраз замість 10, і зникає список, який ми писали вручну й який міг застаріти. Тепер суддя питає про всіх кандидатів. Розмір моделі важливий: модель на 1,7 мільярда параметрів зламала 24 фрази проти 10 у моделі на 4 мільярди за того самого зсуву помилок у словах. Якщо дивитися лише на помилку по словах, цього не побачити.</p>
<h2 id="списки-термінів-для-всіх">Списки термінів для всіх</h2>
<p>Вбудовані списки для програмістів, дизайнерів і менеджерів відкриті кожному: їх можна обирати, редагувати й створювати власні. Публічний список зі 165 термінів для розробників з ліцензією MIT ми знайшли, а для дизайнерів і менеджерів не знайшли нічого, тож ці списки писали самі. Готових даних про те, як російськомовна чи україномовна людина вимовляє англійські терміни, ми теж не знайшли, тож ця половина роботи також наша.</p>
<h2 id="яким-цифрам-не-варто-вірити">Яким цифрам не варто вірити</h2>
<p>Термінів у нашому тестовому наборі мало: 259 замін зачіпають лише від 16 до 28 фраз із 380. Секунди — це час розбору файла, а не затримка, яку ви відчуєте в живому диктуванні. Один голос виявився викидом: 28% помилок у словах проти 7,5–12% в інших. Затримку живого диктування, коли суддя питає про все, ми ще не виміряли. Читайте цифри як напрям, а не як обіцянку.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Навіщо ми зробили власний перекладач</title>
      <link>https://verbaide.com/uk/blog/our-own-translation-engine/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/our-own-translation-engine/</guid>
      <pubDate>Thu, 13 Aug 2026 12:00:00 GMT</pubDate>
      <description>Переклад Apple падав на українській у macOS 26, тож ми перенесли переклад на власні моделі, що працюють на вашому Маку.</description>
      <content:encoded><![CDATA[<p>На macOS 26 будь-який переклад з української або на українську через вбудований переклад Apple валив системну службу перекладу. Цього тижня ми перестали від неї залежати: застосунок перекладає своїми моделями, просто на вашому Маку.</p>
<h2 id="що-зламалося">Що зламалося</h2>
<p>Ми розібралися 12 серпня. На macOS 26 (перевіряли на 26.5.2) будь-який переклад, де з одного боку українська, обриває системну службу translationd. Після цього macOS не запускає її знову до 20 хвилин. Увесь цей час не перекладається жодна пара мов, у жодному застосунку на комп’ютері, зокрема російська й англійська. Відтворити це можна і без нашого застосунку: виділити текст, натиснути праву кнопку, обрати «Перекласти».</p>
<p>На macOS Sequoia 15 той самий переклад працює, тож це збій саме macOS 26, а не один невдалий Mac. Він відтворився і на чужому комп’ютері. Звичайних підозрюваних ми перевірили: файли української моделі цілі, а очищення кешів, перезавантаження і зміна режиму перекладу нічого не змінювали. Звіт до Apple ми надіслали, але українська — серце того, що робить застосунок, і чекати ми не могли.</p>
<p>Найгірший побічний ефект. Українська й так не працювала, але одна українська спроба заодно вимикала російську й англійську на двадцять хвилин.</p>
<h2 id="що-ми-зробили">Що ми зробили</h2>
<p>Ми додали власний перекладач. Він використовує відкриті моделі перекладу, а запускає їх рушій усередині застосунку. Перша версія знає англійську, російську й українську, а сховище розраховане на десять мов.</p>
<p>Словники завантажуються по одному на напрям, лише для мов, які ви обрали, з cdn.verbaide.com. Один напрям лежить усередині застосунку, тож переклад працює з першого запуску: з російської й української на англійську. Усі інші напрями, зокрема зворотний шлях з англійської на російську й українську, завантажуються на вимогу.</p>
<p>Для деяких пар прямої моделі немає — наприклад, для української та російської. Там ми йдемо через англійську, і лише коли прямого шляху немає: кожна зайва пересадка може зіпсувати сенс.</p>
<h2 id="що-ми-виміряли">Що ми виміряли</h2>
<p>Спершу ми спробували клас моделей менший і легший. З 20 тестових перекладів він зіпсував 8, а в шести зникли цілі речення. З «Привет, как дела? Сегодня хорошая погода, и я хочу пойти на прогулку» лишилося тільки «як справи? і я хочу піти на прогулянку». Це втрачений текст, а не обмін швидкості на якість, тому таку модель ми відхилили. Більший клас не втратив жодного речення.</p>
<p>На цьому Маку наш перекладач витрачав 153 мс на фразу, а перекладач Apple — 176 мс. Це один комп’ютер, а не тест на всі випадки, але він показує, що перехід нічого не коштує за швидкістю.</p>
<p>Перекладач Apple залишився в застосунку запасним для тих мов, де він працює. Українська через нього не йде ніколи. Подробиці про мови та завантаження — у розділі <a href="/uk/docs/languages-and-models/">мови та моделі</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Застосунок отримав назву: VerbaIDE</title>
      <link>https://verbaide.com/uk/blog/new-name-verbaide/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/new-name-verbaide/</guid>
      <pubDate>Sun, 09 Aug 2026 12:00:00 GMT</pubDate>
      <description>Чому застосунок називається VerbaIDE, що ця назва каже різним читачам і чому логотип — гілка верби, а не дерево.</description>
      <content:encoded><![CDATA[<p>До цього тижня в застосунку була лише робоча назва — така, яку пишеш на теці й сподіваєшся потім замінити. 7 серпня ми купили домен verbaide.com, а 9 серпня перейменували під нього весь застосунок: меню, вкладку «Про програму», тексти запитів на дозволи, сам пакет застосунку та файли, які ми роздаємо.</p>
<h2 id="чому-verba-та-ide">Чому «Verba» та «IDE»</h2>
<p>«Verba» майже кожен читає як «verbal», «слова», тож за кордоном це звичайна технологічна назва. «IDE» ми взяли з інструментів розробника. Ті, для кого ми робимо застосунок, уже живуть у таких інструментах: розробники, засновники, люди з підтримки та операційних команд, які друкують цілий день. Застосунок має відчуватися як робочий інструмент для тексту, а не як іграшка.</p>
<p>Слоган — «The IDE for human language». В IDE пишуть код. Листи, тікети й повідомлення пишуть людською мовою, і це можна робити швидше, якщо говорити вголос.</p>
<p>У «IDE» є й друге прочитання: Intelligent Dictation &amp; Expression. Цю розшифровку ми лишаємо для місць, де абревіатуру треба розкрити.</p>
<h2 id="другий-сенс-для-українського-читача">Другий сенс для українського читача</h2>
<p>Українською «верба» — це дерево, і воно є національним символом. Обирали ми назву не лише через це, але, помітивши збіг, залишили його свідомо. Читач за кордоном бачить охайну технічну назву. Український читач бачить у ній ще один шар. Застосунок роблять люди з України, і багато хто з тих, хто ним користуватиметься, говорить російською чи українською, а працює англійською.</p>
<h2 id="чому-логотип--гілка">Чому логотип — гілка</h2>
<p>Спочатку ми думали про справжню вербу й відмовилися. Дерево схоже на логотип еко-бренду чи косметики, а для інструмента, у якому пишуть, воно не пасує. Домовилися про абстрактну гілку верби: тонкий стебельце й кілька листків. У перших начерках листки нагадували хмаринки мовлення, а літера V складалася з двох тонких гілок. Знак має витримувати дуже малий розмір: він живе ще й у рядку меню, де в спокої намальований контуром, а під час сесії залитий.</p>
<h2 id="чого-торкнулося-перейменування">Чого торкнулося перейменування</h2>
<p>Перейменування — це не просто новий напис. macOS прив’язує дозволи, які ви надали (мікрофон, розпізнавання мовлення, запис звуку інших застосунків), до ідентичності застосунку, і зміна ідентичності чогось коштує. Ми хотіли заплатити цю ціну один раз і рано, поки застосунок не встановили багато людей. Тому все змінили за один прохід, а не шматками.</p>
<p>Застосунок робить те саме, що й раніше: друкує те, що ви кажете, у будь-яке текстове поле, показує живі субтитри з перекладом і перекладає текст під курсором, а розпізнавання й переклад ідуть на вашому Маку. Як це влаштовано — у розділі <a href="/uk/docs/what-leaves-your-mac/">що залишає ваш Mac</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Застосунок і сайт англійською, українською та російською</title>
      <link>https://verbaide.com/uk/blog/interface-in-three-languages/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/interface-in-three-languages/</guid>
      <pubDate>Sat, 08 Aug 2026 12:00:00 GMT</pubDate>
      <description>Застосунок заговорив трьома мовами: бере мову із системи й перемикається без перезапуску. Сайт обирає українську за країною відвідувача.</description>
      <content:encoded><![CDATA[<p>До сьогодні інтерфейс застосунку був лише російським, а сайт уже говорив трьома мовами. Хто прийшов з української сторінки, завантажив застосунок і відкрив його, бачив російську. Тепер і застосунок, і сайт працюють англійською, українською та російською.</p>
<h2 id="у-застосунку">У застосунку</h2>
<p>Застосунок бере першу з цих трьох мов зі списку мов вашої macOS. Якщо жодної з трьох там немає, вмикається англійська. У налаштуваннях можна обрати мову самому, і вона застосовується одразу, без перезапуску.</p>
<p>Важливо, де зберігається вибір. Він записується туди, куди пише системне налаштування мови для окремої програми («Системні налаштування», «Загальні», «Мова та регіон», «Програми»). Тому два перемикачі не можуть розійтися, а вибір переживає перезапуск без зайвого коду. «Як у системі» — це просто відсутність збереженого вибору.</p>
<p>Миттєве перемикання виявилося важчою половиною. Звичайний спосіб завантаження рядків у маковому застосунку читає мову під час запуску й більше не змінює. Ми завантажуємо рядки через власний об’єкт, який уміє міняти мову на ходу. Якщо рядка немає, береться англійський, а якщо й його немає — сам ключ, щоб прогалина впадала в око, а не ховалася порожнім місцем.</p>
<p>Першою пасткою стало меню. Вікна перемальовуються самі, а меню зберігає готовий текст. Застосунок живе в рядку меню, і якби ми про це забули, мова змінилася б усюди, крім найчастішого місця. Друга пастка знайшлася згодом: у кількох місцях зберігалася готова фраза, а не те, що треба перекладати. Результат перевірки дозволу, статус на панелі диктування, напис «завантаження» в закріпленому вікні перекладу. Кожному довелося запам’ятовувати причину повідомлення, щоб зміна мови до нього дійшла. У старих записах історії були зашиті російські слова «надиктовка» і «секретарь», тому вони лишалися російськими після зміни мови. Тепер їх зведено до нейтральних щодо мови міток.</p>
<p>Дві речі ми залишили навмисно. Слова, якими можна вголос назвати розділові знаки, — це дані розпізнавання, а не інтерфейс, тому разом з інтерфейсом ми їх не перекладали. А мова інтерфейсу й мова мовлення — різні речі: на англійському Маку можна диктувати українською. Одне на інше не впливає.</p>
<p>Тексти системних запитів на дозволи лежать в окремих файлах, бо ці вікна малює сама macOS. Після ручної зміни мови нова мова в них з’явиться з наступного запуску.</p>
<h2 id="на-сайті">На сайті</h2>
<p>Кожна мова тепер має власну адресу: корінь для англійської, /ru/ для російської, /uk/ для української. Текст лежить у самій сторінці, а не підставляється скриптом після завантаження, тому пошукові системи читають кожну мову окремо.</p>
<p>Спочатку мова на кореневій адресі обиралася за браузером. Але відвідувач з України з російським чи англійським браузером лишився б на англійській сторінці, а ми хотіли, щоб для відвідувачів з України першою відкривалася українська версія. Тож тепер сайт дивиться ще й на країну відвідувача. Коли ви раз натиснули перемикач мови, ваш вибір перемагає при всіх наступних заходах.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Стильові пресети без хмари: що ми виміряли</title>
      <link>https://verbaide.com/uk/blog/style-presets-on-device/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/style-presets-on-device/</guid>
      <pubDate>Fri, 07 Aug 2026 12:00:00 GMT</pubDate>
      <description>Вбудована модель Apple переписує диктування у потрібному тоні. Російської вона не знає, тому текст іде через англійську: напряму 0 разів з 30.</description>
      <content:encoded><![CDATA[<p>Ви диктуєте сиру думку, а застосунок може переписати її у вибраному тоні, перш ніж вона потрапить у поле: нейтральному, дружньому чи діловому. Переписує мовна модель, яку Apple вбудувала в macOS 26. Текст не залишає Мак. Перш ніж це будувати, ми виміряли, чи воно працює для російської.</p>
<h2 id="пробний-прогін">Пробний прогін</h2>
<p>Перш ніж щось будувати, ми зробили одноразовий дослід. Ми написали десять правдоподібних ділових фраз російською: коротка відповідь у чаті, ввічлива відмова, прохання до колеги, кілька з англійськими термінами всередині. І прогнали їх через модель у різних тонах, зокрема навмисно крайніх на кшталт пірата чи мелодрами, щоб різницю було легко побачити.</p>
<p>Тут був очевидний підступ. Модель підтримує 23 мови, і російської серед них немає. Проте модель може видати гладкий текст і незнайомою мовою, вгадуючи за знайомими шматками слів, а на око гарну здогадку від справжнього розуміння не відрізнити. Тому ми домовилися вважати підозрілу гладкість приводом для сумніву, а не доказом якості.</p>
<p>Вердикт живого прогону: якість придатна, безкоштовно, працює без мережі. У моделі є й жорстка межа: 4096 токенів на інструкцію, вхідний текст і відповідь разом.</p>
<h2 id="0-з-30">0 з 30</h2>
<p>Головне питання стосувалося прямого шляху: російський текст на вході, російський текст в іншому тоні на виході. Ми порахували чесно, з журналом, що записує, яким шляхом вийшов кожен результат. Десять фраз у трьох тонах дали 30 спроб. Прямий шлях не спрацював жодного разу. Усі 30 пішли запасним, і запасний жодного разу не підвів.</p>
<p>Запасний шлях іде через англійську. Російський текст перекладається англійською перекладачем Apple, англійський переписується у вибраному тоні, і результат перекладається назад. Ланцюжок завершується простою страховкою: якщо будь-який крок не вдався або потрібного мовного пакета немає, ви отримуєте свій вихідний текст, а не піврезультату. А для клавіші «без перекладу» помилково ніколи не вставиться англійський текст.</p>
<p>Пряму спробу ми все одно залишили в коді. Російська очікується в наступному поколінні моделі, яке прийде з macOS 27. Коли це станеться, прямий шлях запрацює без жодної нашої правки. А доти він коштує частку секунди на кожну невдалу спробу, і ми з цим погодилися.</p>
<h2 id="що-пішло-не-так-під-час-живої-перевірки">Що пішло не так під час живої перевірки</h2>
<p>Дружній тон іноді відповідав на текст, а не переписував його: привітання, нікому не потрібний коментар, пропозиція допомогти. Найгірше це було на коротких фразах. Ми додали явну інструкцію «ти переписуєш, а не відповідаєш» і потім поставили її в усі тони, бо збій не залежав від тону. Ще одна пастка: коли модель упирається в межу довжини, вона зупиняється без помилки й віддає обірваний текст як нормальний. Ми перевіряємо, чи закінчується відповідь як речення, і якщо ні — відкочуємося.</p>
<p>Escape скасовує стилізацію будь-якої миті. 7 серпня на панелі диктування з’явився перемикач стилю, а інструкції для кожного тону можна редагувати.</p>
<p>Сьогодні: стилі працюють на невеликій моделі, яку застосунок завантажує на ваше прохання, тож модель Apple більше не потрібна.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Диктування в будь-яке поле і секретар</title>
      <link>https://verbaide.com/uk/blog/dictation-and-secretary/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/dictation-and-secretary/</guid>
      <pubDate>Wed, 05 Aug 2026 12:00:00 GMT</pubDate>
      <description>Як працюють диктування за поєднанням клавіш і «секретар» для довгого мовлення, і чому російське розпізнавання Apple без розділових знаків стало проблемою.</description>
      <content:encoded><![CDATA[<p>До цього тижня застосунок слухав чуже мовлення. Тепер він слухає і ваше. Ви говорите російською, а текст з’являється там, де стоїть курсор: як сказано або перекладений англійською. До цього ми йшли трьома кроками.</p>
<h2 id="крок-1-російська-й-англійська-одночасно-3-серпня">Крок 1: російська й англійська одночасно (3 серпня)</h2>
<p>Перше завдання — слухати змішане англійське й російське мовлення для живих субтитрів. В англійському розпізнавачі Apple російської немає взагалі. Ми перевірили перелік мов, які він підтримує на Маку: їх 30, і російської серед них немає. Російська живе в іншому розпізнавачі з того самого фреймворку — тому, що створений для диктування. Тож ми запускаємо обидва одночасно на одному звуці, а для кожної фрази вибираємо той, що певніший у почутому. Російська фраза лишається як є й не перекладається; англійська перекладається російською. На одну фразу вибирається одна мова: розпізнавач не вміє перемикатися посеред фрази, тому чуже слово всередині речення записується на слух мовою-переможницею.</p>
<p>У російського розпізнавача є вада, яку ми виміряли того самого дня: він не ставить розділових знаків, навіть коли їх просять. Речення приходить одним рядком без крапок. Читати таке незручно, а перекладати ще гірше: прохання «перепроверь» перетворилося на «I’ll double-check» — обіцянку замість прохання. Тому диктування ним не користується: російське диктування працює на окремій моделі, Parakeet, яка сама ставить розділові знаки. Пара розпізнавачів вище обслуговує живі субтитри.</p>
<h2 id="крок-2-диктування-за-поєднанням-клавіш-4-серпня">Крок 2: диктування за поєднанням клавіш (4 серпня)</h2>
<p>Два поєднання. Option-Пробіл вставляє в поле під курсором те, що ви сказали, як є. Option-Control-Пробіл спершу перекладає англійською. Текст вставляється одним шматком, коли ви закінчуєте. У вставки є захист: якщо в полі щось виділено або активне поле пароля, вона не затирає все підряд. Голосові розділові знаки теж працюють: назвали знак — отримали знак.</p>
<h2 id="крок-3-секретар-5-серпня">Крок 3: секретар (5 серпня)</h2>
<p>Третє поєднання, Option-Command-Пробіл, запускає довгий сеанс. Ви говорите скільки потрібно, з паузами й відволіканнями, а кожен розпізнаний шматок одразу вставляється в те поле, де ви почали. Можна перемкнутися в іншу програму: текст і далі йде на початкове місце.</p>
<p>Це обіцянка, що потребує обережності. Перед кожною вставкою застосунок перевіряє, що програма-адресат досі працює, що фокус лишився в тому самому полі (а не в іншому полі тієї ж програми, наприклад у рядку пошуку), що там нічого не виділено і що система не в режимі введення пароля. Якщо фокус пішов, шматок чекає, а на панелі з’являється повідомлення — він не вставляється абиде. Сеанс завершується тим самим поєднанням, хрестиком на панелі або через 15 хвилин.</p>
<p>Клавішу Escape ми свідомо не перехоплюємо на весь сеанс. Інакше Escape перестав би працювати в усіх інших програмах, поки ви диктуєте, а сеанс триває хвилинами. Завершити його можна хрестиком на панелі.</p>
<p>Одна помилка, знайдена 5 серпня: у чат-застосунках на Electron вставка мовчки не спрацьовувала, якщо розкладка клавіатури була не латинська. Тепер на мить вставки ми перемикаємося на латинську розкладку.</p>
<p>Сьогодні: обидва способи злилися в одне диктування. Тримайте клавішу — фраза цілком, натисніть коротко — секретар. Обидва безкоштовні.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Чому ми не взяли диктування Apple для російської</title>
      <link>https://verbaide.com/uk/blog/why-parakeet/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/why-parakeet/</guid>
      <pubDate>Mon, 03 Aug 2026 12:00:00 GMT</pubDate>
      <description>Російське диктування Apple не ставить розділових знаків. Це ламає переклад і читання, тому для російської ми взяли модель Parakeet.</description>
      <content:encoded><![CDATA[<p>macOS уміє розпізнавати російське мовлення, але текст приходить без ком, крапок і знаків питання. Сьогодні ми підключили для російської інший розпізнавач — модель Parakeet. Ось навіщо.</p>
<h2 id="що-apple-дає-для-російської">Що Apple дає для російської</h2>
<p>В Apple два рушії розпізнавання. Новий, SpeechAnalyzer, ми використовуємо для англійської. Для російської в Apple є лише старий рушій диктування, і розділових знаків він не ставить. На виході одна довга стрічка слів.</p>
<p>Візьмімо фразу: «Привет как дела сегодня хорошая погода я хочу пойти на прогулку». Ніщо не показує, де закінчується одне речення й починається інше. Читати можна, але повільно, а перед надсиланням текст доводиться виправляти вручну.</p>
<h2 id="чому-розділові-знаки-важливі-для-нас">Чому розділові знаки важливі для нас</h2>
<p>Вони важливі двічі. Перше — читання: текст без знаків втомлює, а диктування, після якого ви самі розставляєте всі коми, повертає той час, який заощадило. Друге — переклад. Наш застосунок уміє перекладати те, що ви надиктували, а перекладачеві треба бачити, де закінчуються речення. Отримавши нескінченну стрічку слів, він вгадує, і помиляється так, що ви не помітите, доки не прочитаєте обидва тексти.</p>
<p>Тому рушій без пунктуації не годився для головного сценарію: сказати й отримати чистий текст або чисту англійську.</p>
<h2 id="що-ми-обрали">Що ми обрали</h2>
<p>Parakeet TDT v3 — модель розпізнавання мовлення від NVIDIA. У ній 0,6 мільярда параметрів, вона розуміє російську та інші європейські мови й сама ставить знаки та великі літери. На Маку ми запускаємо її через бібліотеку FluidAudio, яка готує модель для чипа Apple. Модель завантажується, коли застосунку вперше потрібна, з huggingface.co. Саме мовлення лишається на вашому Маку.</p>
<p>Це справжня ціна. Розпізнавач не із системи — це завантаження й залежність, яку нам підтримувати, а рушій Apple був би простішим. Ми пішли на це, бо інакше вийшов би текст, що ламається вже на першій межі речення.</p>
<h2 id="чого-ми-не-стверджуємо">Чого ми не стверджуємо</h2>
<p>Ми не порівнювали модель з усіма розпізнавачами на ринку. Ми порівняли її з тим, що macOS пропонує для російської, і в цьому порівнянні питання вирішила відсутня пунктуація. Наскільки точно вона працює на вашому голосі й вашій лексиці — це ми й далі вимірюватимемо та розповідатимемо, що знайшли.</p>
<p>Сьогодні: застосунок завантажує нашу власну дотреновану версію Parakeet, а налаштування описане в розділі <a href="/uk/docs/languages-and-models/">мови та моделі</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Переклад тексту під курсором миші</title>
      <link>https://verbaide.com/uk/blog/translate-under-the-cursor/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/translate-under-the-cursor/</guid>
      <pubDate>Thu, 30 Jul 2026 12:00:00 GMT</pubDate>
      <description>Затисніть дві клавіші й наведіть курсор на англійський текст — поруч з’являться переклад і словникова стаття. Як ми читаємо текст і зберігаємо розмітку.</description>
      <content:encoded><![CDATA[<p>Субтитри охоплюють мовлення. Але більшість англійської, яку ми зустрічаємо, письмова: сторінка, чат, рев’ю коду. Сьогодні застосунок навчився перекладати речення під курсором миші в будь-якій програмі.</p>
<h2 id="як-це-працює">Як це працює</h2>
<p>Ви затискаєте поєднання клавіш і наводите курсор на англійський текст. Типово це Option і Command. Біля курсора з’являється невелика плашка з трьох блоків: оригінал дрібним шрифтом, під ним російський переклад, а третім — словникова стаття до слова під курсором. Слово шукаємо англійською, а не за його перекладом: тлумачення англійського слова корисніше. Системний словник сам зводить слово до основної форми, тож за «caching» знаходиться «cache».</p>
<p>Якщо ви вже виділили фразу й курсор стоїть усередині виділення, перекладається все виділене, а не одне речення. Саме всередині: інакше старе виділення в іншому місці тексту перебивало б усе, на що ви наводите потім, і було б незрозуміло, чому перекладено не те. Дуже довге виділення обрізається до 600 символів по межі слова: виділити весь документ через Command-A можна, але перекладати його цілком повільно й марно.</p>
<p>Типово режим вимкнений. Йому потрібен дозвіл «Універсальний доступ», а просити дозвіл у людини, яка про цю функцію не питала, ми не хочемо.</p>
<h2 id="як-читати-текст-не-дивлячись-на-екран">Як читати текст, не дивлячись на екран</h2>
<p>Очевидний спосіб — розпізнавати картинку екрана. Тоді в рядку меню назавжди засвітився б фіолетовий індикатор запису екрана. Спершу ми перевірили, що віддає системний інтерфейс доступності. У браузері, редакторі коду й месенджері, які ми пробували, він дає речення точно в позиції курсора. Запис екрана не знадобився.</p>
<p>Найважче було з браузерами. Якщо виділення захоплює заголовок і абзац, інтерфейс доступності повертає один плаский рядок, і заголовок злипається з наступним текстом. Перше виправлення читало шрифти виділення й збирало структуру за розмірами. Воно працювало, але було обхідним шляхом. Кращим джерелом виявився буфер обміну: браузери кладуть туди текст з повною розміткою. Тому застосунок надсилає Command-C активній програмі, читає копію з розміткою й повертає попередній вміст буфера. Копію він звіряє з тим, що повернув інтерфейс доступності, щоб не показати текст з іншого вікна. Заголовки, списки та жирний шрифт зберігаються.</p>
<p>Перекладач не зберігає позначки на зразок «##» і дефісів списку. Ми знімаємо їх, перекладаємо текст і ставимо на місце. Якщо перекладач повернув іншу кількість рядків, показуємо його відповідь як є.</p>
<h2 id="закріплене-вікно">Закріплене вікно</h2>
<p>Шпилька в кутку плашки перетворює її на звичайне вікно. Воно не зникає, його можна розтягнути, виділяти текст мишею та шукати виділене слово в словнику. Кожен блок має власні кнопки «дрібніше» і «більше», розмір запам’ятовується. Кнопка з динаміком читає блок уголос. Голос ми обираємо за абеткою, а не системним визначником мови: він сприйняв слово «масштаб» за українське, а українського голосу на Маку немає, і озвучення мовчки не спрацювало б. Текст, де є бодай одна кирилична літера, читається російським голосом.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Перша збірка: живі субтитри з перекладом</title>
      <link>https://verbaide.com/uk/blog/first-build-live-subtitles/</link>
      <guid isPermaLink="true">https://verbaide.com/uk/blog/first-build-live-subtitles/</guid>
      <pubDate>Wed, 29 Jul 2026 12:00:00 GMT</pubDate>
      <description>За один день ми зробили застосунок для рядка меню: він слухає вибрану програму чи мікрофон, пише англійські субтитри й перекладає їх російською на Маку.</description>
      <content:encoded><![CDATA[<p>Сьогодні запрацювала перша версія нашого застосунку. Ви обираєте програму, що відтворює звук, або мікрофон. Застосунок розпізнає англійське мовлення й показує його в невеликому вікні, а під кожним рядком — переклад російською. Усе відбувається на самому Маку.</p>
<h2 id="що-він-уміє">Що він уміє</h2>
<p>Застосунок живе в рядку меню. У меню — перелік програм, які можна слухати, і мікрофони. Програми, що зараз мовчать, зі списку не зникають: відеодзвінок ще не почався, вкладка браузера на паузі, а обрати їх треба наперед. Ті, що відтворюють звук, стоять першими.</p>
<p>Субтитри з’являються у вікні поверх усіх інших. Його можна перетягнути за тло й розтягнути за кутик, місце і розмір запам’ятовуються. У вікні можна показувати лише англійську, лише російську або обидві одразу — англійський рядок угорі. Шрифти, кольори та прозорість тла налаштовуються в окремому вікні.</p>
<p>Коли ви натискаєте «Зупинити», сесія зберігається повністю. Вікно «Нещодавні транскрибації» тримає останні 50 сесій, будь-яку можна скопіювати текстом. Сесія, в якій ніхто нічого не сказав, не зберігається.</p>
<h2 id="два-рішення">Два рішення</h2>
<p><strong>Як перехопити звук однієї програми.</strong> Звичайний шлях — фреймворк запису екрана. Ми його не взяли: він просить дозвіл на запис екрана й тримає в рядку меню індикатор запису весь час роботи. Ми користуємося системним способом підключитися до звуку одного процесу. У нього власний дозвіл і немає екранного індикатора. Браузери й месенджери грають звук із кількох службових процесів, тому ми групуємо їх за програмою, якій вони належать, і слухаємо всі разом.</p>
<p><strong>Не чекати кінця фрази.</strong> Людина говорить речення чотири-вісім секунд, і порожній екран увесь цей час виглядає як поломка. Тому ми показуємо текст, що росте. Розпізнавання від Apple у швидкому режимі віддає новий текст приблизно раз на секунду; без цього режиму він приходив раз на 3,8 секунди. Останні слова ще блимають і виправляються, але це краще, ніж чекати.</p>
<p>Переклад приходить пізніше за розпізнавання, і тут була головна пастка. Текст надходить пачками, а перше оновлення пачки часто — уривок на кшталт «So». Ми чекаємо 150 мілісекунд і перекладаємо найсвіжіше оновлення. Кожне оновлення має номер, а переклад старішого тексту відкидається — запізніла відповідь не затре новий рядок.</p>
<h2 id="що-в-комплекті">Що в комплекті</h2>
<p>Того ж дня з’явилися значок застосунку та інсталятор: образ диска з короткою інструкцією всередині й готовий рецепт для встановлення через Homebrew. Поки що застосунку потрібна macOS 26 — він користується новим розпізнаванням мовлення від Apple. Просить три дозволи: звук інших програм, мікрофон і розпізнавання мовлення.</p>
<p>Ця версія розуміє лише англійську й перекладає лише російською. Наступний крок — текст під курсором миші.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
