ashea-code / BLUI

Rich HTML UI engine for UE4
MIT License
859 stars 259 forks source link

Accessing Google Speech to Text #79

Open tamdrib opened 8 years ago

tamdrib commented 8 years ago

If BLUI allows for the transfer of data between the browser and UE4, could it be used to enable speech recognition during gameplay using the Web Speech API in Chrome or Firefox?

jm101093 commented 8 years ago

Why not use ue4 Sphinx for voice control?

https://github.com/shanecolb/sphinx-ue4

On May 3, 2016, at 1:55 PM, tamdrib notifications@github.com wrote:

If BLUI allows for the transfer of data between the browser and UE4, could it be used to enable speech recognition during gameplay using the Web Speech API in Chrome or Firefox?

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub

tamdrib commented 8 years ago

Good question. I'm developing an educational game for beginning Arabic learners, and their game progress relies primarily on recognizing that they say certain Arabic phrases somewhat correctly.

Sphinx shows promise as a control tool, but it is limited to that and probably doesn't do any foreign languages. Google, on the other hand, supports 70+ languages with many of their dialects.

I also think that if this is possible, BLUI has the potential to access many other powerful tools that we take for granted in browsers. It would take html5 development of UE4 to a new level.

getnamo commented 8 years ago

Interesting concept, looking at the example code and http://shapeshed.com/html5-speech-recognition-api/ and http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=12744 I don't see why not. BLUI is based on CEF and as long as you enable the api in the console and use the BLUI callbacks you should be able to convert and forward the speech to blueprint.

thechiclayano commented 8 years ago

If anyone has some guidance on how I could start to implement something like this with BLUI installed i would really appreciate it.

getnamo commented 8 years ago

var recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.onstart = function() { console.log("start"); } recognition.onresult = function(event) { console.log("result",event); } recognition.onerror = function(event) { console.log("error",event); } recognition.onend = function() { console.log("end"); } recognition.start();

in your browser, but you also have to launch CEF with --enable-speech-input

as specified in https://code.google.com/archive/p/chromiumembedded/issues/1297

Aaron would know better how to launch cef with a command line.

Finally you need to make sure you pass in the right Google API key which remember has a quota limit for use.

tamdrib commented 8 years ago

Does it actually require an API key? Its not set up like a normal API connection since its already a component of Chrome. I have not had to use an API key in my code to use it in previous projects outside of UE4.

getnamo commented 8 years ago

Chrome != CEF. Chrome uses google's key by default, CEF is much more liberal with its license but this means certain things are opt in (h.264) and limited (google services may need API keys)

RamySaboungui commented 8 years ago

@tamdrib hey I might need your help with a project i'm working on for my Master's. How can i contact you? I'm trying to create a creative virtual space for collaboration in vr and I want the screens in my environment to include webpages. I couldn't figure out how to get this to work and need some help!

nicoda70 commented 7 years ago

Eum.. I think you had idea similar to my idea. I make this training program(https://www.youtube.com/watch?v=6ZhpEoItDuo) with html5, jsp, mysql, google speechAPI and a helpful codings from github. And now I want to develop VR program with UE4 linked google speechAPI. I'm not a programmer but a speech-laguage therapist , I have so many difficulties and long time but can always find a kind of solution! Good luck!!!!