Outils pour utilisateurs

Outils du site


issue153:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
issue153:python [2020/02/05 08:54] auntieeissue153:python [2020/02/05 10:04] auntiee
Ligne 3: Ligne 3:
 Luckily, today we have Siri, Amazon Alexa, Google Assistant, and more. Almost every smartphone has some kind of speech recognition. There are many pre-made packages out there for Linux and other operating systems. But I wanted to see what could be done via Python.** Luckily, today we have Siri, Amazon Alexa, Google Assistant, and more. Almost every smartphone has some kind of speech recognition. There are many pre-made packages out there for Linux and other operating systems. But I wanted to see what could be done via Python.**
  
-L'autre matin, alors que je prenais ma douche, mon esprit s'évada vers un endroit plutôt sombre, comme il le fait souvent. Si beaucoup de gens tombent dans la douche, ou dehors, ou dégringolent les escaliers, ils sont quitte pour des bleus ou des douleurs pendant un jour ou deux. Cependant, si je tombe, il y a un forte probabilité que je devienne paralysé ou pire. Et, comme d'habitude, quand je vais à cet endroit, je me demande comment je serai capable de continuer à écrire, et programmer, et cuire, si ça arrivait. Je suis sûr que je ne suis pas le seul qui pense à de telles choses.+L'autre matin, alors que je prenais ma douche, mon esprit s'évada vers un endroit plutôt sombre, comme il le fait souvent. Si beaucoup de gens tombent dans la douche, ou dehors, ou dégringolent dans les escaliers, ils sont quitte pour des bleus ou des douleurs pendant un jour ou deux. Cependant, si je tombe, il y a un forte probabilité que je devienne paralysé ou pire. Et, comme d'habitude, quand j'y réfléchie je me demande comment je serai capable de continuer à écrire, et programmer, et cuire, si ça arrivait. Je suis sûr que je ne suis pas le seul qui pense à de telles choses.
  
-Heureusement, aujourd'hui, nous avons Siri, Alexa, Google Assistant et d'autres. Pratiquement chaque smartphone a une espèce de reconnaissance vocale. Il y a de nombreux paquets préfabriqués disponibles pour Linux et les autres systèmes d'exploitation. Mais, je veux voir ce qui peut être fait avec Python.+Heureusement, aujourd'hui, nous avons Siri, Alexa, Google Assistant et d'autres. Pratiquement chaque smartphone a une espèce de reconnaissance vocale. Il y a de nombreux paquets préfabriqués disponibles pour Linux et d'autres systèmes d'exploitation. Mais, je veux voir ce qui peut être fait avec Python.
  
 **First, I want to hit the pause button and share a little history of speech recognition with you. Back when I was a child, when rainbows were in black and white, and we had to watch TV by candlelight, because there wasn’t any electricity (not really, but it confuses children to no end), computers were just getting started. In 1952, Bell labs created the Audrey system, which was able to understand a single speaker speaking numbers. Fast forward 10 years and IBM created a system called “Shoebox” which could understand and respond to a whopping 16 words. (see https://sonix.ai/history-of-speech-recognition) **First, I want to hit the pause button and share a little history of speech recognition with you. Back when I was a child, when rainbows were in black and white, and we had to watch TV by candlelight, because there wasn’t any electricity (not really, but it confuses children to no end), computers were just getting started. In 1952, Bell labs created the Audrey system, which was able to understand a single speaker speaking numbers. Fast forward 10 years and IBM created a system called “Shoebox” which could understand and respond to a whopping 16 words. (see https://sonix.ai/history-of-speech-recognition)
Ligne 11: Ligne 11:
 Enough of ancient history. Push the play button!** Enough of ancient history. Push the play button!**
  
-D'abord, je veux appuyer sur le bouton Pause et partager avec vous une petite histoire de reconnaissance vocale. Quand j'étais enfant, que les arcs-en-ciel étaient en noir et blanc, que je regardais la TV à la lueur des bougies, parce qu'il n'y avait pas d'électricité (pas vraiment, mais ça sème toujours le doute chez les enfants) les ordinateurs venaient juste de commencer. En 1952, Bell labs créa le système Audrey, qui était capable de comprendre une personne énonçant des chiffres. Sautons 10 ans et IBM créa un système appelé « Shoebox » (boîte à chaussures) qui pouvait comprendre et répondre à l'énorme quantité de 16 mots. (Voir https://sonix.ai/history-of-speech-recognition)+D'abord, je veux appuyer sur le bouton Pause et partager avec vous une petite histoire de reconnaissance vocale. Quand j'étais enfant, que les arcs-en-ciel étaient en noir et blanc, que je regardais la télé à la lueur des bougies, parce qu'il n'y avait pas d'électricité (pas vraiment, mais ça sème toujours le doute chez les enfants) les ordinateurs venaient juste d'apparaître. En 1952, Bell Labs créa le système Audrey, qui était capable de comprendre une personne énonçant des chiffres. Sautons 10 ans et IBM créa un système appelé « Shoebox » (boîte à chaussures) qui pouvait comprendre et répondre à l'énorme quantité de 16 mots. (Voir https://sonix.ai/history-of-speech-recognition)
  
 Ça suffit pour l'histoire ancienne. Appuyons sur le bouton Lecture ! Ça suffit pour l'histoire ancienne. Appuyons sur le bouton Lecture !
Ligne 39: Ligne 39:
 Snowboy Hotword Detection (works offline)”** Snowboy Hotword Detection (works offline)”**
  
-Suite à une petite recherche sur le Web, j'ai trouvé une petite bibliothèque pour Python appelée, quelle surprise, SpeechRecognition (reconnaissance vocale). Elle peut être installée via pip...+Suite à quelques recherches sur le Web, j'ai trouvé une bibliothèque pour Python appelée, quelle surprise, SpeechRecognition (reconnaissance vocale). Elle peut être installée via pip...
  
 pip install SpeechRecognition pip install SpeechRecognition
Ligne 45: Ligne 45:
 Tout le code source peut être trouvé sur https://github.com/Uberi/speech_recognition#readme. Tout le code source peut être trouvé sur https://github.com/Uberi/speech_recognition#readme.
  
-J'ai continué de l'installer via pip, puis j'allais télécharger la source depuis le dépôt github.+J'ai continué de l'installer via pip, puis j'ai téléchargé la source depuis le dépôt github.
  
-J'ai emprunté le bout de code suivant sur ce site de dépôt...+J'ai emprunté le bout de code suivant sur le site du dépôt...
  
 “… with support for several engines and APIs, online and offline. “… with support for several engines and APIs, online and offline.
Ligne 63: Ligne 63:
 Snowboy Hotword Detection (works offline)” Snowboy Hotword Detection (works offline)”
  
-**Now, there are somethings that need to be said here. Most of these online engines require you to register as a user and obtain keys to be able to access them, and/or may incur costs. The only offline services that are currently supported are CMU Sphinx (I'll talk about that in a little bit) and Snowboy. If you wish to see exactly what is required for each engine, download the source code from the GitHub repository and look at the __init__.py file located in the speech_recognition folder of the distribution.+**Now, there are some things that need to be said here. Most of these online engines require you to register as a user and obtain keys to be able to access them, and/or may incur costs. The only offline services that are currently supported are CMU Sphinx (I'll talk about that in a little bit) and Snowboy. If you wish to see exactly what is required for each engine, download the source code from the GitHub repository and look at the __init__.py file located in the speech_recognition folder of the distribution.
  
 Once I saw the line "To quickly try it out, run python -m speech_recognition after installing.", I couldn't resist. But I did, at least long enough to see what other requirements there might be, and I'm glad I did. A little bit further down says that if you want to use a microphone, which of course I do, that you need to install PyAudio. Ok. That makes sense. So I read a little further on. I saw this...** Once I saw the line "To quickly try it out, run python -m speech_recognition after installing.", I couldn't resist. But I did, at least long enough to see what other requirements there might be, and I'm glad I did. A little bit further down says that if you want to use a microphone, which of course I do, that you need to install PyAudio. Ok. That makes sense. So I read a little further on. I saw this...**
  
-Maintenant, il y a des choses qui doivent être dites ici. La plupart des moteurs en ligne nécessitent que vous vous enregistriez comme utilisateur pour obtenir des clés permettant d'y accéder, avec de possibles coûts. Les seuls services en ligne qui sont actuellement supportés sont CMU Sphinx (j'en parlerai dans un petit moment) et Snowboy. Si vous voulez voir exactement ce qui est nécessaire pour chaque moteur, téléchargez le code source depuis le dépôt GitHub et regardez dans le fichier __init__.py  situé dans le dossier de reconnaissance vocale de la distribution.+Maintenant, il y a des choses qui doivent être dites ici. La plupart des moteurs en ligne nécessitent que vous vous enregistriez comme utilisateur pour obtenir des clés permettant d'y accéder, avec de possibles coûts. Les seuls services hors ligne qui sont actuellement supportés sont CMU Sphinx (j'en parlerai dans un petit moment) et Snowboy. Si vous voulez voir exactement ce qui est nécessaire pour chaque moteur, téléchargez le code source depuis le dépôt GitHub et regardez dans le fichier __init__.py  situé dans le dossier de reconnaissance vocale de la distribution.
  
-Une fois que j'ai vu la ligne « pour un essai rapide, lancez python -m speech_recognition après l'installation. », je n'ai pas pu résister. Mais je l'ai fait, assez longtemps pour voir quelles pouvaient être les autres exigences et je suis content de l’avoir fait. Un petit peu plus bas il est dit que, si vous voulez utiliser un microphone, ce que j'ai fait, bien sûr, vous devez utiliser PyAudio. Ça a du sens. Aussi, j'ai continué un peu à lire et j'ai vu ça...+Une fois que j'ai vu la ligne « pour un essai rapide, lancez python -m speech_recognition après l'installation. », j'avais du mal à résister. Mais je l'ai fait, assez longtemps pour voir quelles pouvaient être les autres exigences et je suis content de l’avoir fait. Un petit peu plus bas il est dit que, si vous voulez utiliser un microphone, ce que je voulais faire, bien sûr, vous devez utiliser PyAudio. C'est logique. Aussi, j'ai continué un peu à lire et j'ai vu ceci...
  
 **“On Debian-derived Linux distributions (like Ubuntu and Mint), install PyAudio using APT: execute sudo apt-get install python-pyaudio python3-pyaudio in a terminal.” **“On Debian-derived Linux distributions (like Ubuntu and Mint), install PyAudio using APT: execute sudo apt-get install python-pyaudio python3-pyaudio in a terminal.”
Ligne 79: Ligne 79:
 « Sur les distributions Linux dérivées de Debian (comme Ubuntu et Mint), installez PyAudio en utilisant APT : exécutez sudo apt-get install python-pyaudio python3-pyaudio dans un terminal. » « Sur les distributions Linux dérivées de Debian (comme Ubuntu et Mint), installez PyAudio en utilisant APT : exécutez sudo apt-get install python-pyaudio python3-pyaudio dans un terminal. »
  
-J'ai immédiatement copié la ligne apt-get depuis l'alinéa et je l'ai lancé dans un terminal. Je notais que je pouvais utiliser pip pour installer la vraie bibliothèque. CEPENDANT, comme j'étais stupide, je ne notais pas le problème indiqué plus bas.+J'ai immédiatement copié la ligne apt-get depuis l'alinéa et je l'ai lancé dans un terminal. Je notais que je pouvais utiliser pip pour installer la vraie bibliothèque. CEPENDANT, comme j'étais stupide, je ne notais pas la mise en garde indiquée plus bas.
  
 « Si la version dans les dépôts est trop ancienne, installez la dernière publication en utilisant Pip : exécutez sudo apt-get install portaudio19-dev python-all-dev python3-all-dev && sudo pip install pyaudio (remplacez pip par pip3 si vous utilisez Python3). » « Si la version dans les dépôts est trop ancienne, installez la dernière publication en utilisant Pip : exécutez sudo apt-get install portaudio19-dev python-all-dev python3-all-dev && sudo pip install pyaudio (remplacez pip par pip3 si vous utilisez Python3). »
Ligne 126: Ligne 126:
 Say something!** Say something!**
  
-Maintenant, nous pouvons faire un essai du programme...+Maintenant, nous pouvons essayer le programme...
  
 $ python -m speech_recognition $ python -m speech_recognition
Ligne 139: Ligne 139:
 JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
 JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
-A moment of silence, please...+A moment of silence, please... (un peu de silence, s'il vous plaît...)
 Set minimum energy threshold to 1071.7441188823814 Set minimum energy threshold to 1071.7441188823814
-Say something+ 
-Got itNow to recognize it... +Dites quelque chose 
-You said alright the time has come +Ça y est Maintenant pour le reconnaître... 
-Say something+Vous avez dit Ok l'heure est venu 
-Got itNow to recognize it... +Dites quelque chose 
-You said alright the time has come for all good men to come to the aid of the party +Ça y est Maintenant pour le reconnaître... 
-Say something!+Vous avez dit Ok l'heure est venu pour tous les hommes de bonne volonté de venir à l'aide du parti 
 +Dites quelque chose !
  
 **Ok. Color me impressed. The warning messages didn’t worry me, they actually piqued my interest about all the possibilities. I wasn’t really happy with having to hit <Ctrl><C> to get the program to quit though. Now, I wanted to know more. **Ok. Color me impressed. The warning messages didn’t worry me, they actually piqued my interest about all the possibilities. I wasn’t really happy with having to hit <Ctrl><C> to get the program to quit though. Now, I wanted to know more.
Ligne 160: Ligne 161:
 First, we import the library and create instances of the Recognizer and the microphone objects. Next, we use a loop to continually check and adjust the microphone level...** First, we import the library and create instances of the Recognizer and the microphone objects. Next, we use a loop to continually check and adjust the microphone level...**
  
-Bon ! La couleur m'impressionné. Les messages d'erreur ne m'ont pas inquiété, ils ont plutôt piqué mon intérêt pour toutes les possibilités. Je n'étais pas vraiment content d'avoir à appuyer sur <Ctrl><C> pour quitter le programme. À ce moment-là, je voulais à savoir plus.+Bon ! Je suis impressionné. Les messages d'erreur ne m'ont pas inquiété, ils ont plutôt piqué mon intérêt pour toutes les possibilités. Je n'étais pas vraiment content d'avoir à appuyer sur <Ctrl><C> pour quitter le programme. À ce moment-là, je voulais en savoir plus.
  
 En fouillant dans le répertoire de la distribution, j'ai trouvé __main__.py, que je modifiais rapidement pour mettre mon unique grain de sel dedans... En fouillant dans le répertoire de la distribution, j'ai trouvé __main__.py, que je modifiais rapidement pour mettre mon unique grain de sel dedans...
Ligne 179: Ligne 180:
 value = r.recognize_google(audio, language="en-GB")** value = r.recognize_google(audio, language="en-GB")**
  
-Notez qu'à cette étape, Recognizer utilise le système de reconnaissance vocale de Google. La ligne « if str is bytes: » fait un contrôle pour voir si ça tourne sous Python 2.x pour imprimer correctement tous les caractères Unicode. Puis, nous avons imprimé ce que Recognizer PENSE qui a été dit. Ensuite, nous pouvons vérifier s'il y a la phrase, soit « please quit » (merci d'arrêter), soit « please stop », pour une fin programmée du programme. J'ai essayé avec un mot seul, mais ça n'a jamais déclenché. Je suppose que le système a pris l'entrée pour du bruit. Une note en aparté. Que se passe-t-il si vous n'utilisez pas l'anglais comme langue pour parler avec le programme ? Et avec l'espagnol, le norvégien ou une autre langue ? Ce sujet est traitéModifez la ligne  :+Notez qu'à cette étape, Recognizer utilise le système de reconnaissance vocale de Google. La ligne « if str is bytes: » fait un contrôle pour voir si ça tourne sous Python 2.x pour imprimer correctement tous les caractères Unicode. Puis, nous avons imprimé ce que Recognizer PENSE a été dit. Ensuite, nous pouvons vérifier s'il y a la phrase, soit « please quit » (merci d'arrêter), soit « please stop », pour une fin programmée du programme. J'ai essayé avec un mot seul, mais ça ne l'a jamais déclenché. Je suppose que le système a pris l'entrée pour du bruit. Une note en aparté. Que se passe-t-il si vous n'utilisez pas l'anglais comme langue pour parler avec le programme ? Et avec l'espagnol, le norvégien ou une autre langue ? Ce sujet est traité Modifez la ligne  :
  
 value = r.recognize_google(audio) value = r.recognize_google(audio)
  
-par+en
  
 value = r.recognize_google(audio, language="en-GB") value = r.recognize_google(audio, language="en-GB")
Ligne 199: Ligne 200:
 Enfin, nous vérifions les exceptions (en bas à droite). Enfin, nous vérifions les exceptions (en bas à droite).
  
-Pour ce qui est de la dernière ligne, nous récupérons une chaîne (valeur) venant de Recognizer. Ce que nous en faisons, actuellement, est un fin à déterminer. Un ami m'a suggéré qu'il serait pas mal d'utiliser l'API Text to Speech avec espeak-ng dont j'ai parlé dans le n° 150 du Full Circle Magazine. Nous reverrons ça dans un prochain article.+Au bout du compte, nous récupérons une chaîne (valeur) venant de Recognizer. Ce que nous en faisons, actuellement, est à déterminer. Un ami m'a suggéré qu'il serait pas mal d'utiliser l'API Text to Speech avec espeak-ng dont j'ai parlé dans le n° 150 du magazine Full Circle. Nous reverrons ça dans un prochain article.
  
-Au point où nous en sommes, avant que j'oublie, j'ai promis, il y a un moment, de parler de PocketSphinx. Beaucoup de gens pensent qu'il n'est pas très fiable. J'ai essayé de le trouver et l'installer, et je dois admettre qu'il y a des problèmes.+À ce staden avant que j'oublie, j'ai promis, il y a un moment, de parler de PocketSphinx. Beaucoup de gens pensent qu'il n'est pas très fiable. J'ai essayé de le trouver et l'installer, et je dois admettre qu'il y a des problèmes.
  
 **First, I suggest that if you want to try PocketSphinx, you go to https://pypi.org/project/pocketsphinx/ and follow the instructions there. The GitHub repository is at https://github.com/bambocher/pocketsphinx-python . **First, I suggest that if you want to try PocketSphinx, you go to https://pypi.org/project/pocketsphinx/ and follow the instructions there. The GitHub repository is at https://github.com/bambocher/pocketsphinx-python .
Ligne 215: Ligne 216:
 D'abord, je vous suggère, si vous voulez essayer PocketSphinx, d'aller sur https://pypi.org/project/pocketsphinx/ et de suivre les instructions. Le dépôt GitHub est à https://github.com/bambocher/pocketsphinx-python. D'abord, je vous suggère, si vous voulez essayer PocketSphinx, d'aller sur https://pypi.org/project/pocketsphinx/ et de suivre les instructions. Le dépôt GitHub est à https://github.com/bambocher/pocketsphinx-python.
  
-Un exemple de programme est fourni avec la distribution des sources qui, au moins pour moi, ne fonctionnait pas. Je reçois systématiquement une erreur commençant par la ligne decoder = Decoder(config). J'ai fait une recherche et j'ai trouvé beaucoup de gens avec le même problème, mais peu avec une piste de solution. Après avoir creusé beaucoup plus que je n'aurait voulu, j'ai trouvé une référence aux paramètres de configurration de MODELDIR. En regardant dans les dossiers de ma bibliothèque Python, j'ai trouvé le paquet pour PocketSphinx. J'ai réalisé que les déclarations MODELDIR et DATADIR n'étaient pas paramétrées correctement dans l'exemple. Elles étaient :+Un exemple de programme est fourni avec la distribution des sources qui, au moins pour moi, ne fonctionnait pas. Je reçois systématiquement une erreur commençant par la ligne decoder = Decoder(config). J'ai fait une recherche et j'ai trouvé beaucoup de gens avec le même problème, mais peu avec une piste de solution. Après avoir creusé beaucoup plus que je n'aurait voulu, j'ai trouvé une référence aux paramètres de configuration de MODELDIR. En regardant dans les dossiers de mes bibliothèques Python, j'ai trouvé le paquet pour PocketSphinx. J'ai réalisé que les déclarations MODELDIR et DATADIR n'étaient pas paramétrées correctement dans l'exemple. Elles étaient :
  
 MODELDIR = "pocketsphinx/model" MODELDIR = "pocketsphinx/model"
Ligne 227: Ligne 228:
 DATADIR = "/home/greg/.pyenv/versions/3.7.4/lib/python3.7/site-packages/pocketsphinx/data" DATADIR = "/home/greg/.pyenv/versions/3.7.4/lib/python3.7/site-packages/pocketsphinx/data"
  
-The package needs absolute path statements to where pip installed PocketSphinx. This can be a major problem if you are using something like pyenv and have multiple instances of Python or if you wish to distribute an app you wrote using PocketSphinx.+**The package needs absolute path statements to where pip installed PocketSphinx. This can be a major problem if you are using something like pyenv and have multiple instances of Python or if you wish to distribute an app you wrote using PocketSphinx.
  
 The next problem showed up on the line: The next problem showed up on the line:
Ligne 248: Ligne 249:
  
 config.set_string('-hmm', path.join(MODELDIR, 'en-us/en-us')) config.set_string('-hmm', path.join(MODELDIR, 'en-us/en-us'))
- +« 
-Celle-ci est incorrecte au regard de l'installation. Les « fichiers sont situés dans un répertoire directement sous le dossier du modèle. Ça aurait dû être :+Celle-ci est incorrecte au regard de l'installation. Les "files sont situés dans un répertoire directement sous le dossier du modèle. Cela aurait dû être :
  
 config.set_string('-hmm', path.join(MODELDIR, 'en-us')) config.set_string('-hmm', path.join(MODELDIR, 'en-us'))
Ligne 261: Ligne 262:
 Check out https://wit.ai/. It takes a little bit of navigation, and you have to read a bunch of the site to understand, but I think you’ll get the gist of things pretty quickly. We’ll explore it some more next time.** Check out https://wit.ai/. It takes a little bit of navigation, and you have to read a bunch of the site to understand, but I think you’ll get the gist of things pretty quickly. We’ll explore it some more next time.**
  
-Peut-être, qu'en ce moment, vous vous demandez « Bon. Comment nous faisons vraiment quelque chose des données que nous avons reçues ? » C'est en tant que tel, une question à réponse ouverte, qui est en fait hors de sujet pour cet article. CEPENDANT, je peux vous mettre dans la bonne direction.+Peut-être, qu'en ce moment, vous vous demandez « Bon. Comment faisons-nous vraiment quelque chose des données que nous avons reçues ? » C'est en tant que tel, une question à réponse ouverte, qui est en fait hors de sujet pour cet article. CEPENDANT, je peux vous indiquer une direction intéressante.
  
-Si vous vous souvenez du haut de cet article, un des moteurs qui est supporté par la bibliothèque SpeechRecognition est Wit.ai. C'est un site intéressant. En gros, vous fournissez de la parole ou un texte à leur API et elle essaie de de faire correspondre cette entrée à quelque chose que vous avez dit au système que vous vous attendez à ce que l'utilisateur entre. Par exemple, disons que vous voulez que votre utilisateur final dise des choses qui auraient trait à l'automatiisation de la maison, comme allumer ou éteindre la lumière, demander la température extérieure, modifier le thermostat et ainsi de suite.+Si vous vous souvenez du haut de cet article, un des moteurs qui est supporté par la bibliothèque SpeechRecognition est Wit.ai. C'est un site intéressant. En gros, vous fournissez de la parole ou un texte à leur API et elle essaie de faire correspondre cette entrée à quelque chose que vous avez dit au système que vous vous attendez à ce que l'utilisateur entre. Par exemple, disons que vous voulez que votre utilisateur final dise des choses qui auraient trait à l'automatisation de la maison, comme allumer ou éteindre la lumière, demander la température extérieure, modifier le thermostat et ainsi de suite.
  
-Regardez sur https://wit.ai/. Il faut naviguer un peu et vous devez lire un paquet de choses sur le site pour comprendre, mais je pense que vous trouverez les grandes lignes rapidement. Nous en explorerons plus la prochaine fois. +Regardez sur https://wit.ai/. Il faut naviguer un peu et vous devez lire un paquet de choses sur le site pour comprendre, mais je pense que vous trouverez les grandes lignes rapidement. Nous l'explorerons davantage la prochaine fois. 
  
 **One other thing. While I was digging around on the web to get info to do this article, I found that Google Chrome now can support voice commands. I haven’t tried it yet, but it looks very interesting. From the website, it says “Use the magic of speech recognition to write emails and documents in Google Chrome. Dictation accurately transcribes your speech to text in real time. You can add paragraphs, punctuation marks, and even smileys using voice commands.” Check out the site at https://dictation.io/ **One other thing. While I was digging around on the web to get info to do this article, I found that Google Chrome now can support voice commands. I haven’t tried it yet, but it looks very interesting. From the website, it says “Use the magic of speech recognition to write emails and documents in Google Chrome. Dictation accurately transcribes your speech to text in real time. You can add paragraphs, punctuation marks, and even smileys using voice commands.” Check out the site at https://dictation.io/
Ligne 273: Ligne 274:
 Until next time, keep coding!** Until next time, keep coding!**
  
-Autre chose. Pendant que je cherchais sur le Web pour trouver une info pour faire cet article, j'ai découvert que Google Chrome supporte maintenant les commandes vocales. Je ne l'ai pas encore essayé, mais ça semble intéressant. Sur le site Web, ile est dit « Utilisez la magie de la reconnaissance vocale pour écrire des mails ou des documents dans Google Chrome. Dictation retranscrit précisément votre parole en texte en temps réel. Vous pouvez ajouter des paragraphes, des signes de ponctuation et même des smileys en utilisant les commandes vocales. » Tester le site https://dictation.io/+Autre chose. Pendant que je cherchais sur le Web pour trouver des info pour écrire cet article, j'ai découvert que Google Chrome supporte maintenant les commandes vocales. Je ne l'ai pas encore essayé, mais ça semble intéressant. Sur le site Web, il est dit « Utilisez la magie de la reconnaissance vocale pour écrire des mails ou des documents dans Google Chrome. Dictation retranscrit précisément votre parole en texte en temps réel. Vous pouvez ajouter des paragraphes, des signes de ponctuation et même des smileys en utilisant les commandes vocales. » Regarder le site https://dictation.io/
  
 Comme toujours, le code est sur Pastebin, à https://pastebin.com/pTJ6RcKL Comme toujours, le code est sur Pastebin, à https://pastebin.com/pTJ6RcKL
Ligne 283: Ligne 284:
 Maintenant, nous créons une autre boucle pour obtenir quelque chose qui ressemble à des paroles dans un micro.. Maintenant, nous créons une autre boucle pour obtenir quelque chose qui ressemble à des paroles dans un micro..
  
-Ceci continue jusqu'à ce que a) il entende des paroles et b) les paroles s'arrêtent. Puis il essaie de traiter le fichier audio des paroles...+Il continue à écouter jusqu'à ce que a) il entende des paroles et b) les paroles s'arrêtent. Puis il essaie de traiter le fichier audio des paroles...
  
 P 21, encart en bas à droite, 1 ligne noire : P 21, encart en bas à droite, 1 ligne noire :
  
 Ça parait très facile, mais ça ne l'est pas. Voici un échantillon du programme en train de tourner (j'ai enlevé les messages d'avertissement de cet extrait)... Ça parait très facile, mais ça ne l'est pas. Voici un échantillon du programme en train de tourner (j'ai enlevé les messages d'avertissement de cet extrait)...
issue153/python.txt · Dernière modification : 2020/02/05 20:16 de d52fr