{"id":47251,"date":"2019-06-01T16:00:17","date_gmt":"2019-06-01T16:00:17","guid":{"rendered":"https:\/\/www.libretro.com\/?p=47251"},"modified":"2020-05-27T02:52:03","modified_gmt":"2020-05-27T02:52:03","slug":"retroarch-in-development-world-first-text-to-speech-in-emulators-ocr-bounty-progress","status":"publish","type":"post","link":"https:\/\/www.libretro.com\/index.php\/retroarch-in-development-world-first-text-to-speech-in-emulators-ocr-bounty-progress\/","title":{"rendered":"RetroArch &#8211; In Development &#8211; World-first text to speech in emulators! OCR Bounty Progress!"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/IKgdtU-YOKA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>The OCR bounty&#8217;s next milestone has been reached! Previously, it was finally possible to recognize patterns of text by the OCR\/translation APIs. Now, text to speech has been achieved!<\/p>\n<p>NOTE: This is a work in progress\/development, and is not reflective yet of the actual finished product.<\/p>\n<p>In this video, you see us running RetroArch with an old school SNES RPG, Soul Blazer. Right now, this is a very experimental implementation that is far from finished and not really ready for general gameplay, but this will be further developed from this point on.<\/p>\n<p>Anyway, in this video you see us doing the following:<\/p>\n<p>* Whenever we pause RetroArch, the OCR process starts. It will first attempt to recognize text onscreen.<\/p>\n<p>* Once it has recognized text, you will see outlines onscreen surrounding the recognized text.<\/p>\n<p>* Then it passes this off to the Translate Text To Speech engine. Once done, it generates a log message about it (you can see this in the video).<\/p>\n<p>* From this point on, you can unpause RetroArch and you can actually hear the voice over.<\/p>\n<p>NOTE: Just to emphasize, this is NOT how it will work like in the actual finished product. This is a purely &#8216;WIP developer&#8217; video we&#8217;re showing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The OCR bounty&#8217;s next milestone has been reached! Previously, it was finally possible to recognize patterns of text by the OCR\/translation APIs. Now, text to speech has been achieved! NOTE: This is a work in progress\/development, and is not reflective yet of the actual finished product. In this video, you see us running RetroArch with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,167,5],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47251"}],"collection":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/comments?post=47251"}],"version-history":[{"count":1,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47251\/revisions"}],"predecessor-version":[{"id":47252,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47251\/revisions\/47252"}],"wp:attachment":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/media?parent=47251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/categories?post=47251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/tags?post=47251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}