Je pense que tu fais erreurs, il sont a mon avis adaptés aux capacités du matériel utilisés.
Mais je peux comprendre qu'avec la magie des IA et de la loi de moore, on est vite frustré que l'on ne puisse pas faire un produit universel ![]()
Bonjour makeshift-job
Je peux te rassurer, je parle anglais avec un "puissant" accent vaudois et les ordres passent quand même.
Bonne après-midi
jpbbricole
OK, je me laisse tenter par un dernier essai avec les chiffres sur M5 ...
A terwal : au niveau de ces matériels, c'est moins la loi de Moore qui s'applique, que plutôt celle de Murphy
!!!
Concernant les systèmes à apprentissage, il a existé en 1994 (parution dans "RC Marine" de septembre 94) un système baptisé "VX2001" (!), basé sur un microcontrôleur compatible Commodore-64, avec 64 octets de RAM (!), qui commandait un bateau RC et qu'en fait je connais très bien
. Ce système utilisait un algorithme basique (adapté d'un des premiers livres de robotique avec le KIM-1, du début des années 80) de mesure de fréquence par "zero level crossing" avec un ampli op comme comparateur, avec un second à seuil ajustable pour le départ. Les "motifs" étaient stockés en RAM avec possiblilité de sauvegarde à la demande en EEProm (série ! ), et rechargement soit à la demande ou bien au démarrage. L'astuce pour faire du "tracking" de la voix était que, quand le mot actuel était le plus proche (norme "L1") d'un des mots initialisés, il était considéré comme reconnu et le motif initialisé précédemment était remplacé (en RAM) par une moyenne pondérée entre lui-même et le mot actuellement prononcé, j'espère que je suis assez clair. A ma connaissance cette "astuce" n'a jamais été utilisée industriellement ...
Dans ce cas votre système dérive très vite vers du mono locuteur et un faux positif va pourrir votre modèle… pas sûr que ce soit une bonne astuce….
L’entraînement des modèles (a l’époque c’était des [chaînes de Markov](Chaîne de Markov — Wikipédia et hidden markov models°) qui avaient la cote) se faisait déjà sur de nombreux locuteurs pour avoir une "moyenne" (ce n’est pas vraiment une moyenne) représentative.
(°on utilisait les modèles de Markov cachés pour reconnaître la parole en modélisant les sons comme des suites d’états probabilistes. Le système estimait, pour un signal audio donné, la suite de sons la plus probable et en déduisait les mots correspondants. C’était la méthode standard avant l’arrivée des réseaux de neurones.)
C'était du monolocuteur (comme l'était encore Windows 7 ! ) qui avait au moins le mérite d'exister, et en cas de faux positif on aurait pu recharger à partir de l'EEProm ...
Possible aussi que je confonde et que j'avais arrêté cette méthode de mise à jour, et que je ne l'aie utilisée que sur le programme initial de 1985, qui tournait directement sur C-64 et utilisait le disque 1541 comme sauvegarde, en commandant une petite voiture RC ? En tout cas je me souviens de l'avoir employée mais, vous savez, 30 ou 40 ans et plusieurs projets plus tard ...
!
Au final j'ai remarqué que le VC-02 avec des commandes "explicites" ne marchait pas trop mal, il ne reste plus qu'à passer le test du bruit des manèges. Et puis vous avouerez que dire "To Northampton, Continuous Itinerary" est quand même plus réaliste du point de vue modélisme ferroviaire que "Bravo, Charlie" (système utilisé au passage pendant un certain temps par un système commercial danois, disparu depuis). Quant à l'utilisation de la langue, c'est un réseau américain, j'ai essayé de faire des décors les plus "américains" possibles, alors pour quoi déroger en utilisant des commandes en Français ? Pour couper court, je précise tout de suite que je ne tiens absolument pas à alimenter certaines polémiques politiques actuelles concernant notre langue ! Enfin, pour ceux qui auraient des difficultés avec ces commandes, il restera toujours l'écran tactile.
Certes ! Ce n’est pas non plus la phrase la plus facile a prononcer avec le bon accent !
Mais au moins elle a une signification plus ou moins "ferroviaire", contrairement aux codes des Danois qui sont presque de la Science-Fiction issue de Star-Trek. Un copain d'origine italienne n'a pas eu de problème. Pour Alexa aussi ce sont des instructions explicites et pas des "Papa-Tango-Charlie". Et puis comme dit il reste la commande manuelle
Oui - c’est mieux quand c’est réaliste !
Enfin, les irréductibles mécontents n'ont qu'à se faire un réseau français (on trouve maintenant du matériel SNCF en Z, l'échelle de mon réseau), le faire fonctionner et se trouver une commande vocale en Français, je leur souhaite bonne chance de tout mon coeur
!
Oui, je comprends que quand rien ne fonctionne comme tu veux, c'est très frustrant?
Mais au vu de ce que tu leur demande, c'est quand même plus la loi de moore qui peux t'aider ![]()
Si c'est vraiment ce que tu recherches, il ne devrait pas y avoir de soucis à le faire tourner sur un µC actuel.
Si tu es mono-locuteur, tu peux essayer de faire une FFT ou une analyse spectral, pour en déduire une caractéristique de chacun des tes mots clés.
Il y a surement des projets qui doit exister là-dessus ?
Merci, mais comme dit le problème est réglé entre temps, et en multilocuteur sur VC-02. Seul gag, comme mes commandes ne marchent pas toutes bien en wake-up free (problème pour la première commande de la session ! ), j'en ai dédié une qui ne sert qu'au "réveil" (permanent ! ) et fonctionne bien : "Hello Kitty"
, cela fera plaisira aux jeunes filles qui viendront avec leurs grand-parents et qui croient trop souvent que le train électrique n'est qu'une affaire de garçons
. "Hello Casey Jones" (le héros des chemins de fer américains) aurait été trop compliqué à prononcer. A côté de cela les Japan National Railways ont un Shinkansen (et je crois même deux) entièrement décoré sur le thème de "Hello Kitty"
!
Allez, je donne une dernière chance au M5 et à la solution "one-two-three-four" à deux niveaux (mots plus courts), même si elle serait moins réaliste ; cela dépendra de la réponse de jpbbricole : vous qui avez maintenant le M5, quelle est la durée d'activation après le "Hi, M5" ? L'activation est-elle permanente ou à durée limitée, réactivable à chaque ordre, ou faut-il même réactiver le M5 après chaque commande ? Merci pour toute réponse ...
Je n’ai pas le module mais techniquement je me doute de la réponse : le système repose sur un wake-word pour activer brièvement le moteur de reconnaissance complet, afin de limiter la consommation et éviter les fausses détections / savoir où commence la commande. C’est un peu comme le header d’une trame de commande série.
Sinon il faut explorer le DIY sur ESP32 et un micro I²S
TensorFlow Lite → vous pouvez entraîner et contrôler tout - c’est technique.
Picovoice → c’est prêt à l’emploi, configurable et il me semble que c’est utilisable en écoute continue sur ESP32, sans serveur et sans wake-word (je n’ai pas essayé mais on doit pouvoir choisir d’utiliser Porcupine pour détecter un mot-clé (wake word) avant d’activer Rhino qui reconnaît les commandes, ou bien utiliser directement Rhino sans mot-clé pour écouter et interpréter les commandes en continu.)
À creuser ?
Merci, mais ce sont des "usines à gaz". M5 est prêt à l"emploi ...
Encore une fois, ce n'est que des information car tu te plains de M5, après c'est à toi de faire ton choix.
Peut être que d'autre lecteurs intéressés par ce même sujet, choisiront d'autre système.
Bonjour makeshift-job
et d'excellente qualité et il ne faut pas forcément un contrôleur M5 pour mettre en œuvre ces modules.
Le timout semble être entre 15 et 20 secondes et seuls les mots reconnu "rechargent" ce timout.
A+
jpbbricole
Merci, pas bon pour moi, j'espérais en mon for intérieur une possibilité d'activation permanente comme le VC-02. En fait il a alors apparemment le même défaut que le Kittenbot, une remise en veille sans feedback via l'interface série, j'aimerais bien le signaler par un voyant clignotant ... ou avez-vous constaté des données sur l'UART à ce moment ? Il faudrait alors un timer pour signaler la mise en veille !
La définition d’usine à gaz est très personnelle et M5 est sans doute bien mais ne correspond pas intégralement à votre cahier des charges…
Au bout d’un moment, quand vous ne trouvez pas ce que vous cherchez en produit tout fait, il faut le faire vous même et comme ça vous ne pouvez vous en prendre qu’à vous même si ça ne fait pas ce que vous voulez ![]()
C'est surement un préjugé de ma pars, mais j'ai l'impression que c'est ca qu'il appel une usine à gaz ![]()
Je blague, ce n'est pas du tout une attaque @makeshift-job, mais j'avoue que je ne comprends pas trop ce que tu cherches et plus exactement ta façon de nous répondre.
Tu as une problématique et lorsque l'on te donne des pistes, tu nous envois bouler en répondant par une phrase laconique du genre: c'est nul ton truc.
Je ne connais pas spécialement les solutions indiqués par @J-M-L, mais l'exécution d'une IA semble cocher toutes les cases techniques que tu demandes?
C'est certes technique, mais en quoi c'est une usine à gaz ?
De même si rien ne te satisfait, n'est-il pas possible que tu fasses un effort sur le prix à mettre dedans et passer sur un petit Raspberry ?