{"id":183,"date":"2020-05-29T21:27:59","date_gmt":"2020-05-29T21:27:59","guid":{"rendered":"http:\/\/fadyanwar.com\/?p=183"},"modified":"2020-06-02T10:58:51","modified_gmt":"2020-06-02T10:58:51","slug":"tweeting-from-a-raspberry-pi-using-azure-speech","status":"publish","type":"post","link":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/","title":{"rendered":"Tweeting from a Raspberry Pi Using Azure Speech"},"content":{"rendered":"\n<p class=\"has-drop-cap\">Here is something fun to do this weekend. How about tweeting using voice recognition? We are going to do this using Raspberry Pi, <a rel=\"noreferrer noopener\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/cognitive-services\/speech-to-text\/\" target=\"_blank\">Azure Speech Cognitive Service<\/a> and nodejs.<\/p>\n\n\n\n<p>First you will need to setup your Raspberry Pi <a rel=\"noreferrer noopener\" href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/08\/an-aiot-example-using-raspberry-pi-and-azure-ai\/\" target=\"_blank\">using the steps detailed on my previous article<\/a>, then <a rel=\"noreferrer noopener\" href=\"http:\/\/fadyanwar.com\/index.php\/2020\/05\/17\/giving-aiot-a-voice-using-azure-ai\/\" target=\"_blank\">create a Speech cognitive service on Azure as detailed on my other article<\/a>. You will also need to create a developer account and an app on twitter to get <a rel=\"noreferrer noopener\" href=\"https:\/\/developer.twitter.com\/en\/apps\" target=\"_blank\">security keys and tokens<\/a>.<\/p>\n\n\n\n<p>In this howto article we are going to use this <a href=\"https:\/\/www.npmjs.com\/package\/twitter\">twitter npm package<\/a>. Also we will use <a rel=\"noreferrer noopener\" href=\"https:\/\/www.npmjs.com\/package\/node-audiorecorder\" target=\"_blank\">node-audiorecorder<\/a> to record voice messages and send it to the Speech API. In order to install these you will need to run the following commands on your terminal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install sox\nnpm install node-audiorecorder\nnpm install twitter<\/code><\/pre>\n\n\n\n<p>When ready test your access to twitter using the below code which will connect to twitter service and query my twitter account for latest tweet text. You will need to replace the below placeholders with values from your Twitter developer account.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\nvar Twitter = require('twitter');\n \nvar client = new Twitter({\n  consumer_key: '&lt;consumer key&gt;',\n  consumer_secret: '&lt;consumer secret&gt;',\n  access_token_key: '&lt;access token&gt;',\n  access_token_secret: '&lt;access token&gt;'\n});\n \nvar params = {screen_name: '@fadyanwar'};\nclient.get('statuses\/user_timeline', params, function(error, tweets, response) {\n  if (!error) {\n    console.log(tweets&#x5B;0]&#x5B;&quot;text&quot;]);\n  }\n});\n<\/pre><\/div>\n\n\n<p>Now moving to recording and speech part. Let&#8217;s make sure that you can record wav files by running this nodejs script. The script will record sound for 5 seconds then stop.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/ Import required npm packages\nconst AudioRecorder = require('node-audiorecorder');\nconst fs = require('fs');\n  \n\/\/ Create an instance.\nconst audioRecorder = new AudioRecorder({\n    program: process.platform = 'sox', \n  }, console);\n\n\/\/ Create write stream.\nconst fileStream = fs.createWriteStream(&quot;tweet.wav&quot;, { encoding: 'binary' });\n\/\/ Start and write to the file.\naudioRecorder.start().stream().pipe(fileStream);\nsetTimeout(recognize, 5000); \/\/wait for 5 seconds then call recognize function\n\nfunction recognize()\n{\n    audioRecorder.stop();\n    \/\/rest of voice recognition code will go here\n}\n<\/pre><\/div>\n\n\n<p>You should get a file in the same directory called tweet.wav with your recording. You can play it from your shell terminal by typing this command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>play tweet.wav<\/code><\/pre>\n\n\n\n<p>If you can hear yourself then so far so good. Now let&#8217;s do the fun part, create a new file called voicetweet.js on your Raspberry Pi and paste into it the below script and fill in the place holders with the speech subscription service as well as twitter consumer key, token and their secrets.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/\/ Import required npm packages\nconst AudioRecorder = require('node-audiorecorder');\nconst fs = require('fs');\nvar sdk = require(&quot;microsoft-cognitiveservices-speech-sdk&quot;);\nvar Twitter = require('twitter');\n\n\nvar subscriptionKey = &quot;&lt;subscription key&gt;&quot;;\nvar serviceRegion = &quot;northeurope&quot;; \nvar filename = &quot;tweet.wav&quot;; \n\nvar client = new Twitter({\n  consumer_key: '&lt;consumer key&gt;',\n  consumer_secret: '&lt;consumer secret&gt;',\n  access_token_key: '&lt;access token&gt;',\n  access_token_secret: '&lt;access token secret&gt;'\n});\n\n\n\/\/ Create an instance.\nconst audioRecorder = new AudioRecorder({\n    program: process.platform = 'sox', \/\/using sox to record\n  }, console);\n\n\/\/ Create a write stream and record to tweet.wav\nconst fileStream = fs.createWriteStream(&quot;tweet.wav&quot;, { encoding: 'binary' });\n\/\/ Start and write to the file.\naudioRecorder.start().stream().pipe(fileStream);\nsetTimeout(recognize, 5000); \/\/wait for 5 seconds then call recognize function\n\n\/\/the function used to recognize voice and turn it into text using Azure Speech\nfunction recognize()\n{\n    audioRecorder.stop();\n    \n    \/\/ create the push stream we need for the speech sdk.\n    var pushStream = sdk.AudioInputStream.createPushStream();\n\n    \/\/ open the file and push it to the push stream.\n    fs.createReadStream(filename).on('data', function(arrayBuffer) {\n        pushStream.write(arrayBuffer.slice());\n    }).on('end', function() {\n        pushStream.close();\n    });\n\n    console.log(&quot;Now recognizing from: &quot; + filename);\n\n    \/\/ now create the audio-config pointing to our stream and\n    \/\/ the speech config specifying the language.\n    var audioConfig = sdk.AudioConfig.fromStreamInput(pushStream);\n    var speechConfig = sdk.SpeechConfig.fromSubscription(subscriptionKey, serviceRegion);\n\n    \/\/ setting the recognition language to English.\n    speechConfig.speechRecognitionLanguage = &quot;en-US&quot;;\n\n    \/\/ create the speech recognizer.\n    var recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);\n\n    \/\/ start the recognizer and wait for a result.\n    recognizer.recognizeOnceAsync(\n        function (result) {\n        console.log(result);        \n        \/\/get the result text and pass into the tweet function\n        tweet(result&#x5B;&quot;privText&quot;])\n\n        recognizer.close();\n        recognizer = undefined;\n        },\n        function (err) {\n        console.trace(&quot;err - &quot; + err);\n\n        recognizer.close();\n        recognizer = undefined;\n        });\n\n}\n\n\/\/function used to post new tweets to your time line\nfunction tweet(message){\n  message+= &quot; @fadyanwar&quot;; \/\/giving myself a shout ;)\n  client.post('statuses\/update', {status: message})\n  .then(function (tweet) {\n      console.log(tweet);\n  })\n  .catch(function (error) {\n      throw error;\n  })\n}\n<\/pre><\/div>\n\n\n<p>When all in place, type the below command on your Raspberry Pi terminal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>node voicetweet.js<\/code><\/pre>\n\n\n\n<p>You should see confirmation messages with the json values of the results coming back from both Azure and Twitter. This mean that you just had made your first tweet mentioning me using voice AI recognition on a Raspberry Pi. Congratulations!<\/p>\n\n\n\n<p>If you did like this article I would appreciate it if you share and like and don&#8217;t forget to <a href=\"https:\/\/twitter.com\/FadyAnwar\" target=\"_blank\" rel=\"noreferrer noopener\">follow me on twitter<\/a> for more fun how to articles like this one.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is something fun to do this weekend. How about tweeting using voice recognition? We are going to do this using Raspberry Pi, Azure Speech Cognitive Service and nodejs. First you will need to setup your Raspberry Pi using the steps detailed on my previous article, then create a Speech cognitive service on Azure as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":195,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/template-full-width.php","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_vp_format_video_url":"","_vp_image_focal_point":[],"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[2,4,5,3,8,9],"class_list":["post-183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-ai","tag-aiot","tag-azure","tag-iot","tag-nodejs","tag-raspberrypi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar\" \/>\n<meta property=\"og:description\" content=\"Here is something fun to do this weekend. How about tweeting using voice recognition? We are going to do this using Raspberry Pi, Azure Speech Cognitive Service and nodejs. First you will need to setup your Raspberry Pi using the steps detailed on my previous article, then create a Speech cognitive service on Azure as [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/\" \/>\n<meta property=\"og:site_name\" content=\"Fady Anwar\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-29T21:27:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-02T10:58:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i1.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"846\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fady Anwar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fadyanwar\" \/>\n<meta name=\"twitter:site\" content=\"@fadyanwar\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fady Anwar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/\"},\"author\":{\"name\":\"Fady Anwar\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"headline\":\"Tweeting from a Raspberry Pi Using Azure Speech\",\"datePublished\":\"2020-05-29T21:27:59+00:00\",\"dateModified\":\"2020-06-02T10:58:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/\"},\"wordCount\":371,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"image\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/raspitwitter.jpg?fit=846%2C560&ssl=1\",\"keywords\":[\"AI\",\"AIoT\",\"Azure\",\"IoT\",\"nodejs\",\"raspberrypi\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/\",\"url\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/\",\"name\":\"Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/raspitwitter.jpg?fit=846%2C560&ssl=1\",\"datePublished\":\"2020-05-29T21:27:59+00:00\",\"dateModified\":\"2020-06-02T10:58:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/raspitwitter.jpg?fit=846%2C560&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/fadyanwar.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/raspitwitter.jpg?fit=846%2C560&ssl=1\",\"width\":846,\"height\":560},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/index.php\\\/2020\\\/05\\\/29\\\/tweeting-from-a-raspberry-pi-using-azure-speech\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fadyanwar.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tweeting from a Raspberry Pi Using Azure Speech\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#website\",\"url\":\"https:\\\/\\\/fadyanwar.com\\\/\",\"name\":\"Fady Anwar\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fadyanwar.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/fadyanwar.com\\\/#\\\/schema\\\/person\\\/b66e3277ceba346f7053a83464e90b03\",\"name\":\"Fady Anwar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\",\"caption\":\"Fady Anwar\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/","og_locale":"en_US","og_type":"article","og_title":"Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar","og_description":"Here is something fun to do this weekend. How about tweeting using voice recognition? We are going to do this using Raspberry Pi, Azure Speech Cognitive Service and nodejs. First you will need to setup your Raspberry Pi using the steps detailed on my previous article, then create a Speech cognitive service on Azure as [&hellip;]","og_url":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/","og_site_name":"Fady Anwar","article_published_time":"2020-05-29T21:27:59+00:00","article_modified_time":"2020-06-02T10:58:51+00:00","og_image":[{"width":846,"height":560,"url":"https:\/\/i1.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","type":"image\/jpeg"}],"author":"Fady Anwar","twitter_card":"summary_large_image","twitter_creator":"@fadyanwar","twitter_site":"@fadyanwar","twitter_misc":{"Written by":"Fady Anwar","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#article","isPartOf":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/"},"author":{"name":"Fady Anwar","@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"headline":"Tweeting from a Raspberry Pi Using Azure Speech","datePublished":"2020-05-29T21:27:59+00:00","dateModified":"2020-06-02T10:58:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/"},"wordCount":371,"commentCount":0,"publisher":{"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"image":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","keywords":["AI","AIoT","Azure","IoT","nodejs","raspberrypi"],"articleSection":["Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/","url":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/","name":"Tweeting from a Raspberry Pi Using Azure Speech - Fady Anwar","isPartOf":{"@id":"https:\/\/fadyanwar.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#primaryimage"},"image":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","datePublished":"2020-05-29T21:27:59+00:00","dateModified":"2020-06-02T10:58:51+00:00","breadcrumb":{"@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#primaryimage","url":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","contentUrl":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","width":846,"height":560},{"@type":"BreadcrumbList","@id":"https:\/\/fadyanwar.com\/index.php\/2020\/05\/29\/tweeting-from-a-raspberry-pi-using-azure-speech\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fadyanwar.com\/"},{"@type":"ListItem","position":2,"name":"Tweeting from a Raspberry Pi Using Azure Speech"}]},{"@type":"WebSite","@id":"https:\/\/fadyanwar.com\/#website","url":"https:\/\/fadyanwar.com\/","name":"Fady Anwar","description":"","publisher":{"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fadyanwar.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fadyanwar.com\/#\/schema\/person\/b66e3277ceba346f7053a83464e90b03","name":"Fady Anwar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g","caption":"Fady Anwar"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/a9172040bbc3bbe24fb49d59dac20da030af1f5ff628126c979a1d4b71eaed41?s=96&d=mm&r=g"}}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/fadyanwar.com\/wp-content\/uploads\/2020\/05\/raspitwitter.jpg?fit=846%2C560&ssl=1","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":25,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/posts\/183\/revisions\/211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/media\/195"}],"wp:attachment":[{"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fadyanwar.com\/index.php\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}