Η εφαρμογή υπαγόρευσης που δουλεύει και χωρίς internet

Η υπαγόρευση cloud πεθαίνει με το δίκτυο. Το Keebye μετατρέπει ομιλία σε κείμενο στη συσκευή, χωρίς internet, ήχο εκτός Mac ή διακοπές δικτύου.

Teodor Deleanu10 Ιουλίου 20267 λεπτά ανάγνωσης

Κάποια παράπονα εμφανίζονται μόνο όταν χαλάνε τα πράγματα, γι' αυτό και είναι εύκολο να τα υποτιμάς μέχρι να συμβούν σε σένα: η υπαγόρευση στο cloud εξαρτάται από το δίκτυο. Μια βλάβη του παρόχου, και το πλήκτρο υπαγόρευσής σου δεν μπορεί να κάνει τίποτα. Wi-Fi ξενοδοχείου που πέφτει, και μια πρόταση μπορεί να εξαφανιστεί μέσα σε ένα spinner. Ένα αεροπλάνο. Ένα τούνελ τρένου. Ένα VPN που ξαναδιαπραγματεύεται ακριβώς τη λάθος στιγμή. Αυτό δεν είναι ελάττωμα ενός προϊόντος· είναι αυτό που σημαίνει να εξαρτάσαι από μια διαδρομή μετ' επιστροφής.

Η σκληρότητά του βρίσκεται στο τι αποτυγχάνει. Αν πέσει η εφαρμογή σημειώσεών σου, ανοίγεις ένα αρχείο κειμένου. Αν πέσει η υπαγόρευσή σου, χάνεις μια μέθοδο εισαγωγής — αυτό γύρω από το οποίο είχες χτίσει μυϊκή μνήμη, στη μέση μιας πρότασης, συνήθως ενώ τα χέρια σου ήταν απασχολημένα με κάτι άλλο. Αυτός ήταν όλος ο λόγος που υπαγόρευες.

Κάτω από το παράπονο για τη διαθεσιμότητα κάθεται ένα ερώτημα απορρήτου: φεύγει ο ήχος της φωνής σου από το μηχάνημα; Σε μια διαδρομή μεταγραφής στο cloud, ηχογραφήσεις από σένα να σκέφτεσαι φωναχτά — ονόματα πελατών, λειτουργίες που δεν έχουν κυκλοφορήσει, το ζήτημα ασφαλείας που περιγράφεις σε έναν συνάδελφο — ταξιδεύουν στην υποδομή κάποιου άλλου για να γίνουν κείμενο. Αυτή η διαδρομή μπορεί επίσης να εξαρτάται από sessions, λογαριασμούς και διαθεσιμότητα υπηρεσιών εκτός του ελέγχου σου.

Έφτιαξα την απάντηση του Keebye σε αυτό πριν την αρθρώσω ως λειτουργία, επειδή η δική μου απαίτηση ήταν ωμή: έπρεπε να δουλεύει με το Wi-Fi κλειστό. Να πώς μοιάζει αυτό στην πράξη, και τι κοστίζει.

Γιατί η υπαγόρευση στο cloud αποτυγχάνει στο μηδέν

Αξίζει να ξεδιπλώσουμε τη μηχανική σε επίπεδο κατηγορίας, επειδή εξηγεί γιατί αυτό το παράπονο δεν φεύγει ποτέ εντελώς, όσο καλά κι αν γίνονται τα προϊόντα.

Ένας βρόχος υπαγόρευσης στο cloud έχει τουλάχιστον τέσσερις κρίκους: σύλληψη ήχου στο μηχάνημά σου, αποστολή του σε έναν server, εκτέλεση inference εκεί, αποστολή του κειμένου πίσω. Κάθε κρίκος είναι εξάρτηση — το δίκτυό σου, το δίκτυό τους, το επίπεδο ταυτοποίησής τους, η χωρητικότητά τους, ο χρόνος λειτουργίας τους. Η αλυσίδα συνήθως είναι μια χαρά. Όταν όμως σπάσει οποιοσδήποτε κρίκος, σπάει όλος ο βρόχος, και σπάει στο μηδέν. Όχι «πιο αργά», όχι «λιγότερο ακριβές» — τίποτα δεν φτάνει στον κέρσορά σου. Η υποβάθμιση θα ήταν ανεκτή· η υπαγόρευση υποβαθμίζεται σε σιωπή.

Οι πάροχοι μπορούν να δουλέψουν σκληρά ενάντια σε αυτό, αλλά δεν μπορούν να διορθώσουν κρίκους που δεν τους ανήκουν: το router του ξενοδοχείου, την πτήση, το εταιρικό σου VPN, το περιστατικό στο backbone ανάμεσα σε σένα και σε αυτούς. Ένα εργαλείο του οποίου η διαθεσιμότητα εξαρτάται από πολλά συστήματα μπορεί να αποτύχει όταν οποιοδήποτε από αυτά δεν είναι διαθέσιμο.

Τι γίνεται όταν δεν υπάρχει cloud από το οποίο να υποχωρήσεις;

Η αρχιτεκτονική του Keebye απαντά στο ερώτημα αφαιρώντας το. Το speech-to-text τρέχει εξ ολοκλήρου on-device — μοντέλα ONNX, τοπικό inference, στο ίδιο το πυρίτιο του Mac σου. Υπάρχουν μηδέν κλήσεις δικτύου στη διαδρομή της υπαγόρευσης. Όχι «τις ελαχιστοποιούμε», όχι «τις ομαδοποιούμε» — μηδέν. Ούτε τηλεμετρία υπάρχει. Καμία. Όταν κρατάς το πλήκτρο και μιλάς, κανένα πακέτο δεν φεύγει από το μηχάνημα εκ μέρους σου.

Θέλω να υπογραμμίσω το αρχιτεκτονικό σημείο, επειδή είναι η διαφορά ανάμεσα σε αυτό και σε μια «λειτουργία offline». Μια λειτουργία offline είναι εφεδρεία: η κανονική διαδρομή πάει στο cloud, και όταν το cloud δεν είναι προσβάσιμο, αναλαμβάνει μια υποβαθμισμένη τοπική διαδρομή — αν το προσέξει έγκαιρα η εφαρμογή, αν η τοπική διαδρομή συντηρείται, αν η μεταβίβαση δουλέψει στη μέση της πρότασης. Το Keebye δεν έχει τέτοια μεταβίβαση επειδή δεν έχει διαδρομή cloud από την οποία να μεταβιβάσει. Το τοπικό inference δεν είναι το εφεδρικό σχέδιο· είναι το μόνο σχέδιο. Μια βλάβη πιο πάνω δεν μπορεί να το σπάσει για τον ίδιο λόγο που μια διακοπή ρεύματος σε άλλη χώρα δεν μπορεί να σβήσει το φωτιστικό του γραφείου σου. Ανοσία εκ κατασκευής, όχι από εφεδρεία.

Εδώ απαντιέται επίσης το πιο ήσυχο παράπονο, χωρίς σελίδα ρυθμίσεων. Ο ήχος σου δεν φεύγει ποτέ από το μηχάνημα — όχι κρυπτογραφημένος κατά τη μεταφορά, όχι ανωνυμοποιημένος, απλώς δεν στέλνεται ποτέ, επειδή δεν υπάρχει πουθενά να σταλεί. Αν ενεργοποιήσεις το ιστορικό υπαγόρευσης, αυτό που αποθηκεύεται είναι μόνο κείμενο, σε μια τοπική βάση δεδομένων SQLite στον δικό σου δίσκο. (Αυτό το ιστορικό είναι δική του ιστορία ποιότητας ζωής — το επαναλαμβανόμενο παράπονο «πού πήγε η υπαγόρευσή μου;» — το οποίο καλύψαμε στο Η υπαγόρευσή σου δεν πρέπει ποτέ απλώς να εξαφανίζεται.) Και η ευθραυστότητα λογαριασμών και sessions εξαφανίζεται μαζί με τους λογαριασμούς: δεν υπάρχει session cloud που να λήγει στη διαδρομή της υπαγόρευσης, οπότε δεν υπάρχει καμία επανασύνδεση ανάμεσα σε σένα και σε ένα hotkey που δουλεύει.

Η μία φορά που χρειάζεσαι όντως το internet

Απαραίτητη ειλικρίνεια, ξεκάθαρα: τα μοντέλα πρέπει κάπως να φτάσουν στο μηχάνημά σου. Στην πρώτη εκτέλεση, το Keebye κατεβάζει το μοντέλο ομιλίας του — περίπου 700 MB για την αγγλική μηχανή, και γύρω στο 1,3 GB αν ενεργοποιήσεις την πολυγλωσσική μηχανή. Αυτό είναι πραγματική λήψη, μία φορά ανά μηχανή, και χρειάζεσαι internet γι' αυτήν.

Μετά από αυτό, τα μοντέλα ζουν στον δίσκο και η μεταγραφή τρέχει πάνω τους τοπικά, με δίκτυο ή χωρίς, μέχρι να τα αφαιρέσεις ή να τα αντικαταστήσεις. Αλλά αν αυτή η πρώτη εκτέλεση συμβεί στο αεροπλάνο, την έχεις άσχημα μέχρι να προσγειωθείς — κάνε τη ρύθμιση πριν ταξιδέψεις, όχι κατά τη διάρκεια. Προτιμώ να το ακούσεις από μένα παρά να το ανακαλύψεις πάνω από τον Ατλαντικό.

Το ερώτημα της ακρίβειας, απαντημένο με ειλικρίνεια

Η λήψη είναι η μικρή επιφύλαξη. Να η μεγαλύτερη, επειδή τα on-device εργαλεία λατρεύουν να την προσπερνούν.

Τα μεγαλύτερα μοντέλα στο cloud μπορεί να είναι πιο ακριβή από ένα on-device μοντέλο. Ένα μοντέλο που γεμίζει ένα rack server έχει χωρητικότητα που ένα αρχείο 700 MB δεν έχει, και το να προσποιηθώ το αντίθετο θα προσέβαλλε την ευφυΐα σου. Αυτό που θα πω — και που πιστεύω από το να ζω και με τα δύο — είναι ότι η απόσταση έχει στενέψει πολύ, και το πιο σημαντικό, οι τρόποι αποτυχίας διαφέρουν στο είδος. Η χειρότερη μέρα ενός on-device μοντέλου είναι μια παρακουσμένη λέξη που διορθώνεις. Η χειρότερη μέρα ενός μοντέλου στο cloud είναι μηδέν έξοδος, επειδή η ακρίβειά του πολλαπλασιάζεται με τη διαθεσιμότητά του, και η διαθεσιμότητα είναι ο όρος που μηδενίζεται στο τρένο. Ποιον τρόπο αποτυχίας θα προτιμούσες να έχεις δικό σου εξαρτάται από τη μέρα σου· η δική μου έχει πάρα πολλά τρένα μέσα.

Είναι μόνο για macOS σήμερα, και είναι σε πρώιμη πρόσβαση. Καμία έκδοση για Windows, και οι τραχιές άκρες που συνεπάγεται η πρώιμη πρόσβαση. Αν το setup σου έχει προτεραιότητα στα Windows, η ειλικρινής απάντηση είναι ότι το Keebye δεν μπορεί ακόμη να σε βοηθήσει.

Αν το ζυγίζεις απέναντι σε ένα εργαλείο που ήδη χρησιμοποιείς, οι σελίδες σύγκρισης είναι η δίκαιη εκδοχή αυτού του επιχειρήματος. Το Keebye vs Superwhisper συγκρίνει δύο προϊόντα με on-device διαδρομές μεταγραφής· το Keebye vs Wispr Flow καλύπτει την απόφαση τοπικό έναντι cloud. Και αν η εναλλακτική που ζυγίζεις είναι η υπαγόρευση που είναι ενσωματωμένη στο macOS, ο οδηγός φωνητικής υπαγόρευσης για Mac καλύπτει τι κάνει καλά η ενσωματωμένη και πού διαφέρει το Keebye.

Η διαθεσιμότητα είναι λειτουργία

Η κατηγορία της υπαγόρευσης έχει περάσει χρόνια ανταγωνιζόμενη σε ποσοστά ακρίβειας, και η ακρίβεια μετράει. Αλλά το παράπονο που πραγματικά κάνει τους ανθρώπους να αλλάξουν εργαλείο σπάνια είναι «με παράκουσε μία φορά». Είναι «σταμάτησε να δουλεύει, ξανά, και δεν ξέρω γιατί, και η λύση περιλάμβανε το να συνδεθώ κάπου». Η διαθεσιμότητα — η βαρετή, χωρίς λάμψη διαθεσιμότητα — είναι η λειτουργία που προσέχεις μόνο ως απουσία.

Ο τρόπος να κάνεις μια μέθοδο εισαγωγής τόσο αξιόπιστη όσο ένα πληκτρολόγιο είναι να της δώσεις την ίδια λίστα εξαρτήσεων με ένα πληκτρολόγιο: το μηχάνημα μπροστά σου, και τίποτα άλλο. Αυτός είναι όλος ο σχεδιασμός.

Το Keebye είναι σε πρώιμη πρόσβαση για macOS. Ξεκίνα τη δωρεάν δοκιμή σου παρακάτω, κάνε τη λήψη της πρώτης εκτέλεσης όσο έχεις ακόμη internet, και μετά μπες στο τούνελ του τρένου — ή απλώς κλείσε το Wi-Fi — και υπαγόρευσε ξανά την ίδια πρόταση.

Συνέχισε να υπαγορεύεις όταν πέφτει το δίκτυο

Ξεκίνα τη δωρεάν δοκιμή σου, κατέβασε το μοντέλο μία φορά και δοκίμασε το ίδιο prompt με το Wi-Fi κλειστό.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Συνέχισε την ανάγνωση