{"id":836,"date":"2023-09-11T11:07:16","date_gmt":"2023-09-11T11:07:16","guid":{"rendered":"https:\/\/sciencesetrecherches.eu\/?p=836"},"modified":"2023-09-11T13:24:43","modified_gmt":"2023-09-11T13:24:43","slug":"code-pour-installer-vision-sous-pi","status":"publish","type":"post","link":"https:\/\/sciencesetrecherches.eu\/?p=836","title":{"rendered":"Code pour installer &#8220;Vision&#8221; sous Pi"},"content":{"rendered":"\n<div id=\"wp-block-themeisle-blocks-circle-counter-41a312d4\" data-percentage=\"50\" data-duration=\"2\" data-height=\"100\" data-stroke-width=\"10\" class=\"wp-block-themeisle-blocks-circle-counter\"><div class=\"wp-block-themeisle-blocks-circle-counter-title__area\"><span class=\"wp-block-themeisle-blocks-circle-counter-title__value\">Skill<\/span><\/div><div class=\"wp-block-themeisle-blocks-circle-counter__bar\"><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Pour celles et ceux qui souhaitent discuter avec VISON (Marvel) voici le code source \u00e0 installer sus raspberry Pi apr\u00e8s avoir installer Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ins\u00e9rer le code dans un fichier que vous aurez appel\u00e9 vision.py puis taper la commande suivante :<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-text-color\" style=\"color:#ed0606\">python3 vision.py<\/h1>\n\n\n\n<div id=\"wp-block-themeisle-blocks-progress-bar-6ddc349c\" class=\"wp-block-themeisle-blocks-progress-bar\" data-percent=\"50\" data-duration=\"2\"><div class=\"wp-block-themeisle-blocks-progress-bar__area\"><div class=\"wp-block-themeisle-blocks-progress-bar__area__title\"><span>Skill<\/span><\/div><div class=\"wp-block-themeisle-blocks-progress-bar__area__bar\"><\/div><div class=\"wp-block-themeisle-blocks-progress-bar__progress wp-block-themeisle-blocks-progress-bar__number\">50%<\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">import os<br>import openai<br>from dotenv import load_dotenv<br>import time<br>import speech_recognition as sr<br>import pyttsx3<br>import numpy as np<br>from gtts import gTTS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">language = &#8216;fr&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">openai.api_key = &#8216;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&#8217;<br>load_dotenv()<br>model = &#8216;gpt-3.5-turbo&#8217;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Set up the speech recognition and text-to-speech engines<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">r = sr.Recognizer()<br>engine = pyttsx3.init(&#8220;dummy&#8221;)<br>voice = engine.getProperty(&#8216;voices&#8217;)[1] # Ajustez cet indice pour s\u00e9lectionner la voix fran\u00e7aise<br>engine.setProperty(&#8216;voice&#8217;, voice.id)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">def listen_for_wake_word(source):<br>print(&#8220;\u00c0 l&#8217;\u00e9coute de &#8216;Vision&#8217;\u2026&#8221;)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>while True:\n    audio = r.listen(source)\n    try:\n        text = r.recognize_google(audio, language=\"fr\")\n        if \"vision\" in text.lower():\n            print(\"Mot d'activation d\u00e9tect\u00e9.\")\n            engine.say(\"Oui azais je suis \u00e0 ta disposition comment puis-je t'aider?\")\n            engine.runAndWait()\n            listen_and_respond(source)\n            break\n    except sr.UnknownValueError:\n        pass<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">def listen_and_respond(source):<br>print(&#8220;\u00c0 l&#8217;\u00e9coute\u2026&#8221;)<br>while True:<br>audio = r.listen(source)<br>try:<br>text = r.recognize_google(audio, language=&#8221;fr&#8221;)<br>print(f&#8221;Vous avez dit: {text}&#8221;)<br>if not text:<br>continue<br># Send input to OpenAI API<br>response = openai.ChatCompletion.create(<br>model=&#8221;gpt-3.5-turbo&#8221;,<br>messages=[<br>{&#8220;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: f&#8221;[En fran\u00e7ais s&#8217;il vous pla\u00eet] {text}&#8221;}<br>]<br>)<br>response_text = response.choices[0].message.content<br>print(response_text)<br>print(&#8220;G\u00e9n\u00e9ration audio&#8221;)<br>myobj = gTTS(text=response_text, lang=language, slow=False)<br>myobj.save(&#8220;response.mp3&#8221;)<br>print(&#8220;Lecture audio&#8221;)<br>os.system(&#8220;vlc response.mp3&#8221;)<br># Speak the response<br>print(&#8220;Lecture audio&#8221;)<br>engine.say(response_text)<br>engine.runAndWait()<br>if not audio:<br>listen_for_wake_word(source)<br>except sr.UnknownValueError:<br>time.sleep(2)<br>print(&#8220;Silence d\u00e9tect\u00e9, j&#8217;arr\u00eate de parler, j&#8217;\u00e9coute\u2026&#8221;)<br>listen_for_wake_word(source)<br>break<br>except sr.RequestError as e:<br>print(f&#8221;Erreur lors de la demande de r\u00e9sultat; {e}&#8221;)<br>engine.say(f&#8221;Erreur lors de la demande de r\u00e9sultat; {e}&#8221;)<br>engine.runAndWait()<br>listen_for_wake_word(source)<br>break<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Use the default microphone as the audio source<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">with sr.Microphone() as source:<br>listen_for_wake_word(source)<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1280\" style=\"aspect-ratio: 720 \/ 1280;\" width=\"720\" controls src=\"https:\/\/sciencesetrecherches.eu\/wp-content\/uploads\/2023\/09\/signal-2023-08-28-131440_002.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Pour celles et ceux qui souhaitent discuter avec VISON (Marvel) voici le code source \u00e0 installer sus raspberry Pi apr\u00e8s avoir installer Python. Ins\u00e9rer le code dans un fichier que vous aurez appel\u00e9 vision.py puis taper la commande suivante : python3 vision.py import osimport openaifrom dotenv import load_dotenvimport timeimport speech_recognition as srimport pyttsx3import numpy as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":837,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[31,29,37,73],"tags":[34,32,72,74],"series":[],"class_list":["post-836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gpt","category-ia","category-raspery-pi","category-vision","tag-gpt","tag-ia","tag-jarvis","tag-vision"],"_links":{"self":[{"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=836"}],"version-history":[{"count":2,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":840,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions\/840"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=\/wp\/v2\/media\/837"}],"wp:attachment":[{"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=836"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/sciencesetrecherches.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}