HeadlinesBriefing HeadlinesBriefing.com

Whistle : reconnaissance vocale ouverte, 16,9 Mo

Hacker News •
×

Aujourd'hui, nous publions Whistle, un modèle ouvert de reconnaissance vocale conçu pour les mobiles, les objets connectés, les robots, les appareils de maison intelligente, les systèmes automobiles et les microcontrôleurs. Il s'agit d'un fichier unique de 16,9 Mo qui fonctionne sur le CPU sans aucune dépendance. Il se charge dans le même moteur C++ que Needle, en partageant son conteneur et sa quantification, si bien qu'un seul binaire peut transformer un extrait audio directement en appels d'outils.

Whistle accomplit trois tâches entièrement sur l'appareil. Il transcrit jusqu'à 30 secondes d'audio mono à 16 kHz en anglais, allemand, français, espagnol, italien, néerlandais et polonais, en détectant la langue sauf si elle est précisée. Il produit des horodatages par mot, avec un début, une fin et une probabilité pour chaque mot, alignés à partir de l'attention du décodeur. Il peut également générer une représentation vocale, une ligne par trame de 80 ms, sans décoder de transcription. Le modèle atteint le premier jeton en 11 ms.

L'architecture comporte deux parties. La partie frontale convertit l'audio en 80 bandes log-mel et utilise un tronc convolutif pour réduire 30 secondes à 375 trames. L'encodeur applique ensuite huit blocs Simple Attention partagés avec Needle, avec une attention non causale, de sorte qu'une trame à 3 secondes peut porter son attention sur une trame à 12 secondes. Le décodeur utilise huit blocs Laddered Simple Attention de largeur 512, avec une attention croisée à portes dans chaque couche qui lit la sortie de l'encodeur. Ces projections sont calculées une seule fois par extrait, si bien que cinq chemins de recherche par faisceau ne coûtent que cinq courts caches de transcription au lieu de cinq passages sur l'audio.

Le décodage utilise cinq faisceaux notés par la probabilité logarithmique normalisée par la longueur. Le biais de mots-clés parcourt un automate Aho-Corasick sur les expressions fournies par l'utilisateur, en augmentant leur probabilité au fil de la recherche. Le vocabulaire comprend 8 192 fragments de texte et sept jetons de langue, et les transcriptions sont limitées à 320 jetons.

Le modèle est également disponible dans un bac à sable dans le navigateur, où l'audio ne quitte jamais l'appareil.

Source: Hacker News · Résumé par HeadlinesBriefing