Languages

Menu
Sites
Language
Voice Control wont listen to me

Hi,

so I tired to implement Voice Control in a super simple test App for the first time. Inside Tizen's developement guides there is a huge page dedicated to that topic: https://developer.tizen.org/development/guides/native-application/text-input-and-voice/voice-control#info

I went through all of it

  • set up the controls
  • registering callbacks
  • prepare controls
  • add command list
  • register callback
  • do all the other way around when done

So right now Icollect every single return value and display it inside the edje layout that is used as my front end... and everything returns a 0.

Works good so far (they should hint that you need recorder privilegues at that guildine site btw.), but... that about everything that happens. All functions are done in their required VC state, an elm_button (swallowed inside the ejde) is used as the vc command'S target, the command has been set to "click" to match its possible actions, the language in use (en_us) and available (en_us and Ko) had been verified.

But no matter how loud I do scream, the app wont even start the recognition callback. I'm kind of sure that it wont work, because I placed a signal emitter inside it, which signal will make the edje layout change its color (because debugging at my smartwatch does just not work... as it doesn't with the emulator in tizen studio 2.4, but thats another story).

I even made sure the real Dixby is usable (which requires web connection) and retried it, when Dixby returned the current weather (way to hot, btw.). Nope.

So.. When all functions used return 0, no errors appear and everything looks like it should work... why doesn't it? And for something as powerful as the Voice Control, there is an grand lack of code snippets or full scale C code examples of a working implementation around here. I somehow expect that I made some mistakes which could has been averted like the "you'll need recorder privilegues, or you'll get -13 during the initial setup", which I somehow didn't spot at the guild site.

Is there an example that workes around here somewhere? If nothing else, I will post my code here, but the source file has become rather big and unhandly to read, so I will avoid this until there is no other option left....

Ah... cannot upload .c files as an attachment? seriously? Well, fine, have it as .txt

Greetings

 

 

 

Responses

4 Replies
Armaan-Ul- Islam

Two Sample applications are available on ‘Tizen Developers’ for Voice Control:

Voice Control Sample Overview

Voice Control Elm Sample Overview

Both of them are for Tizen Mobile and you are targeting Tizen Wearable. But the point is code samples are written using Tizen Native API. As far as I know, you can reuse the codebase without much hassle. Create a new Tizen 3.0 Wearable template project (or your required version) and then replace the code and add necessary privileges in tizen-manifest.xml.

 

Please share if the sample worked out for you or not.

Robert Kaiser

Hello,

finally I could spare some time to try out these two Samples. Strange thing is... i used this guide for my approach, which fits to both of your examples. I'm not shure why, but the guide seems to expect to have both the Elm and the non-Elm stuff inside an app that wants to use voice control:

https://developer.tizen.org/development/guides/native-application/text-input-and-voice/voice-control

Knowing this, I checked the order of library function calling inside my test app, and it does fit both the Samples and the Guide, expect for the StateChanged Callback, which I didn't used. Insted I have a function that tells me the current state whenever its called (was pretty useful to get the functions in the correct order based at the "when to call table").

Okay. What now.... having the library functions in the order thar seems to be expected, I still do not get a single callback inside the functions added by

vc_set_result_cb

when the app is running.

What does the watch expect me to do? I made sure the language is somthing I could offer (english instead of korean), but no matter how loud I yell, the only reactions I get are from the office cat (leaves office) and other employees (starting to throw stuff in my general direction), but not the watch(app).

Are these samples available as a ful .c file? With all the app control functions, that will be added by default? And (of course) the vc functions added?

Robert Kaiser

Hallo again,

I abandoned the VoiceControl methods in favour of the Speech To Text feature... while it still does not work ultimately, at least I do have a fully working "recording" -> "processing" -> "failing" -> "back to recording" cycle... which only works if the Smartwatch does have access to the internet.

I placed the current main .c file (as .txt) as an attachment below this post. You might be unable to use it without the edje I use to display the dynamic stuff, but if coment out all "set text" calls and offer an edj (use the template EDC Gui) you might be able to copy paste this into your Tizen Project and get it running.... wait a moment, where is that attachment add button? Oh, come on, why cant I upload that darn text document?

I would love to hear why it wont recognize any word I offer (yes, the actual Bixby Voice Assistant can parse my speech).

If its relevant what I'm planning to do... I want to call out single ditgit numbers which will be inserted in the current layout for further processing because the circumstances are not good for finger input.

 

Maybe my problem will be unsolvable at the end, but I want to throw in an important question: Does the STT (and maye the VC too) need always Internet to work properly?  To be honest, I didn't spot any hint about this anywhere I looked at. While it may be possible that I missed the location where it has been written down, I'm a tad bit surprised that it does not show up at the Guide Site at the very top, or the API of STT (does include the modern view version of the API too).

Armaan-Ul- Islam

Sharing some observation with you.

As far as I've seen all the voice control, voice command, voice assistant tools like bixby, S Voice, Siri, Cortana no one works without network connectivity. May be there are exceptions that I don't know off. But the thing is Speech recognition (STT, ASR) is a complex process, and this complex process is served by a Super Computer with Titanic GPU (software may based on Machine Learning/AI technology). Device Processors in Mobile, PC, watch can't serve this processing within acceptable time. That's why Voice Control/Recognition is mostly done with Client-Server architecture.