Prečo aplikácie na diktovanie zožerú vaše prvé slovo
Stlačíte skratku, hovoríte, prvé slovo je odstrihnuté. Prečo studený štart orezáva slová a ako pomáha teplý mikrofón s 500 ms prednahrávky.
Stlačte klávesovú skratku. Začnite hovoriť. Sledujte, ako sa prepis začne pri vašom druhom slove — niekedy pri treťom. Zo „Zrefaktoruj logiku opakovaných pokusov“ vyjde „logiku opakovaných pokusov“. Z „Nerob merge, kým to neskontrolujem“ vyjde „merge, kým to neskontrolujem“, čo je naozaj nebezpečná veta na to, aby vám ju niekto napísal vo vašom mene. Toto zlyhanie sa dá ľahko zopakovať naprieč mikrofónovými linkami so studeným štartom, od vstavaných nástrojov operačného systému po špecializované aplikácie na diktovanie.
Ľudia to opisujú rôzne — „odstrihne to začiatok“, „musím sa pred hovorením odmlčať“, „prvé slovo vždy chýba“ —, ale je to jeden jav, a keď vás raz uhryzne, vypestujete si obchádzku, ktorú si vypestuje každý: stlačte kláves, počkajte chvíľu, potom hovorte. Čo znamená, že teraz desiatky ráz denne vykonávate malý poverčivý rituál, aby ste kompenzovali svoj nástroj, a nástroj vytrénoval vás namiesto toho, aby to bolo naopak.
Ten rituál som v iných nástrojoch robil celé mesiace. Pri stavaní Keebye bolo jeho zabitie jednou z prvých vecí na zozname, lebo náprava si napokon vyžiadala nepohodlný kompromis, do ktorého väčšina aplikácií nepôjde — a chcem o tom kompromise hovoriť rovnako na rovinu ako o náprave.
Prečo sa prvé slovo odreže?
Toto je problém na úrovni kategórie, nie nedbalosť jedného dodávateľa, a jeho fyzika je jednoduchá: mikrofóny nie sú okamžité.
Keď aplikácia na diktovanie spustí nahrávanie naivným spôsobom — stlačíte klávesovú skratku a potom sa otvorí mikrofón —, skôr než sa zachytí prvá vzorka vašej reči, musí prebehnúť celá reťaz. Musí sa inicializovať zvuková relácia operačného systému. Musí sa prebudiť vstupné zariadenie, čo pri niektorom hardvéri znamená doslova čas na zahriatie. Dohodne sa formát streamu, alokujú sa buffery a prvé buffery, ktoré dorazia, sú často odpad, ktorý sa zahodí. Podľa počítača a zariadenia trvá tá reťaz niekde medzi „chvíľkou“ a pár sekundami.
Vy — ľudská bytosť s už sformovanou myšlienkou — medzitým začnete hovoriť v okamihu, keď váš prst dopadne na kláves. V skutočnosti zvyčajne o chlp skôr: úmysel stlačiť a úmysel prehovoriť opúšťajú váš mozog spoločne a nástup reči bežne predbehne pripravenosť aplikácie. Všetko, čo ste povedali predtým, než stream ožil, pre aplikáciu nikdy neexistovalo. Model nedokáže prepísať zvuk, ktorý nebol nikdy zachytený. Preto: „logiku opakovaných pokusov“.
Prečo aplikácie spúšťajú mikrofón na požiadanie namiesto toho, aby ho držali pripravený? Väčšinou zo slušnosti. Držať mikrofón otvorený stojí trochu energie a — čo je oveľa dôležitejšie — rozsvieti to systémový indikátor mikrofónu, ktorý používatelia pochopiteľne čítajú ako „táto aplikácia ma počúva“. Otváranie mikrofónu iba na požiadanie udrží indikátor úprimný a aplikáciu zdvorilú na pohľad. Cenou je riziko studeného štartu na začiatku nahrávania.
Náprava: mikrofón, ktorý už počúva, keď stlačíte kláves
Keebye na to útočí z oboch strán a tie dva mechanizmy sa oplatí oddeliť, lebo riešia dve rôzne polovice problému.
Teplý mikrofón. Po prvej nahrávke v relácii Keebye ponechá vstupný zvukový stream otvorený. To znamená, že reťaz studeného štartu — inicializácia relácie, prebudenie zariadenia, dohodnutie streamu — už prebehla pred neskorším diktovaním, kým ten stream zostáva v poriadku. Stream je živý ešte pred tým, než sa pohne váš prst.
Prednahrávka. Teplý stream napraví meškanie aplikácie, ale nie to vaše — pamätajte, nástup vašej reči môže predbehnúť stlačenie klávesu. Keebye preto drží kruhový buffer s posledných 500 milisekundami zvuku (8 000 vzoriek pri 16 kHz, v kruhu). Keď stlačíte klávesovú skratku, tá polsekunda zvuku tesne predtým sa vyleje na začiatok výpovede. Zvuk, ktorý sa začal vnútri tohto bufferu, je pre prepisovač dostupný namiesto toho, aby sa pred stlačením klávesu zahodil.
Kombinovaný výsledok: pri opakovaných diktovaniach teplý stream a 500 ms prednahrávky pokryjú bežný prípad, keď sa reč začne tesne pred stlačením klávesu alebo spolu s ním. Rituálna pauza sa vnútri tejto hranice stáva zbytočnou. Nedokáže obnoviť slovo vyslovené viac než pol sekundy pred začiatkom nahrávania a prvé diktovanie v relácii stále platí bežnú latenciu spustenia streamu.
Kompromis, povedaný na rovinu
Tu je časť, ktorú odmietam zamlčať, lebo je úprimnou cenou tohto návrhu: keďže zvukový stream zostáva medzi diktovaniami otvorený, macOS zobrazuje mikrofón ako aktívny, aj keď nediktujete. Oranžová bodka svieti. Ak sa pozriete do Control Center, Keebye je práve vtedy uvedený ako aplikácia používajúca mikrofón, hoci nič nerobíte.
Čo sa v tom čase naozaj deje: zvuk tečie do 500 ms kruhového bufferu a priebežne sa zahadzuje. Nič sa neprepisuje. Nič sa neukladá. Z bufferu nič nevyjde, kým nestlačíte kláves — a všetko staršie ako pol sekundy je navždy preč, prepísané kruhom. Nebudem však predstierať, že indikátor klame, lebo neklame: stream je otvorený a „schopné trvalého počúvania“ je férovým opisom tejto architektúry, hoci v žiadnom zmysluplnom zmysle nič nepočúva, kým o to nepožiadate.
Tento kompromis som urobil zámerne, s otvorenými očami, a tu je úvaha za ním. Otváranie mikrofónu na požiadanie zavádza pri každom spustení riziko studeného štartu: odstrihnuté slová, nesprávne vety, natrénovaná pauza. Návrh s teplým streamom má cenu, ktorá dopadá na vaše pohodlie s oranžovou bodkou, a je podopretý architektúrou, ktorú viete premyslieť: iba textová lokálna história (spísali sme ju v texte vaše diktovanie by nikdy nemalo len tak zmiznúť), prepis priamo na zariadení, nikdy neuložený zvuk, pol sekundy kruhovej pamäte. Tú bodku beriem. Ak vy nie — je to legitímny postoj a naozaj z toho môže vyplynúť, že správnou voľbou je pre vás iný nástroj; naše stránky Keebye vs Superwhisper a Keebye vs Wispr Flow sú napísané presne na pomoc s týmto rozhodnutím.
Dve hranice, aby nikoho nič neprekvapilo
Úplne prvé diktovanie v relácii má stále bežnú latenciu spustenia streamu. Teplý mikrofón je teplý preto, lebo nahrávka už prebehla; to prvé stále platí cenu nastavenia. Neskoršie diktovania profitujú, kým stream zostáva otvorený.
Prednahrávka má 500 milisekúnd a 500 milisekúnd je chvíľka, nie veta. Buffer pokrýva prirodzený prípad — slovo začaté tesne pred stlačením klávesu. Ak vyslovíte celú vetu a potom si spomeniete stlačiť kláves, skoršie slová sú preč, zámerne: kruh nikdy nedrží viac než pol sekundy, práve preto, aby si aplikácia počas nečinnosti neuchovávala zmysluplný zvuk. Dlhšia prednahrávka by zachytila viac vašich roztržitých začiatkov a držala by v pamäti viac vášho okolitého zvuku. Pol sekundy je miesto, kde som tú čiaru nakreslil.
Prečo na pol sekunde záleží viac, než to znie
Odstrihnuté prvé slovo vyzerá ako drobná chyba. V pracovnom postupe s paralelnými dráhami, pre ktorý bolo Keebye postavené — hlas ako riadiaci kanál pre niekoľko AI agentov a niekoľko ľudských rozhovorov naraz, pracovný deň opísaný v texte Dve deti, tri startupy, jeden hlas — sa diktuje desiatky ráz denne, v dávkach, uprostred prepínania kontextu. Nástroj, ktorý si vyžaduje rituálnu pauzu, zdaňuje každú dávku a, čo je horšie, občas obráti váš význam a odošle ho. „Merge, kým to neskontrolujem“ bolo vtipné presne raz.
Spoľahlivosť v tejto kategórii nie je jedna veľká funkcia. Je nahromadením menších poistiek: prednahrávka pre úvodný zvuk, história za prepisom a obnoviteľná cesta vkladania. Tento text je o prvej z nich; text o histórii pokrýva druhú.
Keebye je v predbežnom prístupe pre macOS. Spustite bezplatnú skúšobnú verziu nižšie, povedzte pri opakovanom diktovaní „Nerob merge, kým to neskontrolujem“ a skontrolujte, či prvé slovo prežilo. To je celý test.
Začnite hovoriť bez rituálnej pauzy
Spustite bezplatnú skúšobnú verziu a otestujte opakované diktovanie, ktoré sa začína slovom, o ktoré si nemôžete dovoliť prísť.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Čítať ďalej
Vaše diktovanie by nikdy nemalo len tak zmiznúť
Diktujete dlhú myšlienku, vloženie zlyhá, text zmizne. Prečo aplikácie na diktovanie strácajú slová a akú lokálnu, iba textovú históriu vedie Keebye.
Aplikácia na diktovanie, ktorá funguje, aj keď internet nie
Cloudové diktovanie padá so sieťou. Keebye mení reč na text na zariadení: bez internetu, zvuk ostáva na Macu a výpadok siete ho nezastaví.
Diktujte revízie kódu vo vlastnom jazyku
Kód je po anglicky. Vaše komentáre k revízii nemusia. Ako diktovať spätnú väzbu v jednom z 25 jazykov na zariadení a prečo záleží na pripnutí jazyka.