Author Topic: Voxcommando and Denise (Guile3d) Help  (Read 12614 times)

0 Members and 1 Guest are viewing this topic.

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #15 on: January 15, 2016, 03:42:23 PM »
@Kalle... Do I need to change the IP Address if both products are running on the same machine?

@Nime5ter...Yes, I am referring to TTS Responses and it doesn't matter which program is opened first.  I will check the other items you suggested shortly and report back.


ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #16 on: January 15, 2016, 03:56:16 PM »
Kalle.. Examples may help. Thanks

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2318
  • Karma: 47
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #17 on: January 15, 2016, 03:58:22 PM »
Normally the 127.0.0.1 is the local computer and you've right there is nothing to change.  ::)
***********  get excited and make things  **********

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #18 on: January 15, 2016, 04:49:47 PM »
Just completed a test...  Here is whats happening.  When the computer is started Denise is started and works as expected.  Audio to and from Denise works.  When VC is started it kills the audio to and from Denise.  However, the audio from VC continues to work as expected.  I have disabled exclusive control of the audio devices as suggested in the computers Advanced audio properties.  Additionally, I have toggle between the audio outputs for TTS and still the same results.  No audio from Denise.

I am totally lost at this point. 

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2318
  • Karma: 47
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #19 on: January 15, 2016, 06:09:17 PM »
I will take a look tomorrow at my setup  ;)
Stay tuned
***********  get excited and make things  **********

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #20 on: January 15, 2016, 09:15:34 PM »
Ok, Thanks...

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2318
  • Karma: 47
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #21 on: January 16, 2016, 06:25:46 AM »
Ok, I did take a look in my settings of Denise and VC and there is nothing special.


Did you use the TTS for Denise and VC at the same time? If your command for Denise has also a TTS.Speak or TTS.SpeakSync action - this will not work!  :o


You can use only the scrape action to get Denise speak text aloud.
« Last Edit: January 16, 2016, 06:34:35 AM by Kalle »
***********  get excited and make things  **********

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #22 on: January 16, 2016, 09:18:15 AM »
No, I did not.  I have done a fresh install off VC and the only commands that I have are those that was provided in the xml to connect to Denise. 

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Voxcommando and Denise (Guile3d) Help
« Reply #23 on: January 16, 2016, 09:42:26 AM »
It's not clear if the problem you are having is that Guile is preventing your AUDIO in VC from working or if it is preventing your TTS from working.  It's two different things with two different causes and possible resolutions.

For example, Kodi has default audio settings that will prevent any other program from using the audio output that Kodi is using.  Guile may be doing something similar.

On the other hand if the problem is only that TTS is not working in VC after you start using Guile then that is probably because you are trying to use the same voice in both programs and certain voices do not allow this.

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #24 on: January 16, 2016, 10:19:05 AM »
Whew! Whooo!!!  It was the third scenario.  Changed the voices and it works!!!  Thanks for all your help.   

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #25 on: January 16, 2016, 11:50:20 AM »
Now that I have Denise up and running.  Its time to modify my commands to accommodate her.  The first one that I have is a greeting command.
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.0.9-->
<command id="367" name="Greet computer" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>ProcessRunning</ifType>
    <ifParams>Kodi&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>XJson.SoftMute</cmdType>
        <params>
          <param>20</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>ProcessRunning</ifType>
    <ifParams>ehshell&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>WMC</cmdType>
        <params>
          <param>Mute</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{1}&amp;&amp;morning</ifParams>
    <then>
      <action>
        <cmdType>TTSMS.SpeakSync</cmdType>
        <params>
          <param>Good morning.  who am I speaking to?</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{1}&amp;&amp;afternoon</ifParams>
    <then>
      <action>
        <cmdType>TTSMS.SpeakSync</cmdType>
        <params>
          <param>Good afternoon. who am I speaking to?</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{1}&amp;&amp;evening</ifParams>
    <then>
      <action>
        <cmdType>TTSMS.SpeakSync</cmdType>
        <params>
          <param>Good evening. who am I speaking to?</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{1}&amp;&amp;hi</ifParams>
    <then>
      <action>
        <cmdType>TTSMS.SPeakSync</cmdType>
        <params>
          <param>Hello donald! how may i help you?| Hello donald! whats up| Yes, Donald| Donald, whats up!| Hey Donald, whats up!</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType />
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>ProcessRunning</ifType>
    <ifParams>Kodi&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>XJson.SoftUnMute</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>ProcessRunning</ifType>
    <ifParams>ehshell&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>WMC</cmdType>
        <params>
          <param>Volume Unmute</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <action>
    <cmdType>VC.EnableGroup</cmdType>
    <params>
      <param>Program one</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <payloadList optional="true">good morning, good afternoon, good evening, hi, hey, whats up</payloadList>
  <phrase>kathy</phrase>
</command>

I realize that in order to have Denise speak I would need to use the scrape action.  For me, its easy enough to do for the commands that have one statement to speak.  Where i get confused is when I have multiple options that are chosen randomly for Denise to speak. For example:  Using the TTS method I would use
Code: [Select]
<action>
        <cmdType>TTSMS.SPeakSync</cmdType>
        <params>
          <param>Hello donald! how may i help you?| Hello donald! whats up| Yes, Donald| Donald, whats up!| Hey Donald, whats up!</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>

How do I adjust this for Denise to speak using the Scrape action?

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Voxcommando and Denise (Guile3d) Help
« Reply #26 on: January 16, 2016, 12:13:49 PM »
You won't be able to use VC's pipe | syntax in the Scrape action since I doubt Guile 3D uses that syntax.

You'll have to experiment with passing a random variable of some kind -- whether you change your current TTS lines to Result.SetLastResult actions and then add a regular expressions to evaluate that string and pass a {Match.Rnd} to your Scrape action, or put all your possible responses in a payload XML file and use the appropriate action to get a random phrase, or somehow use VC's  random number generator variable to randomly select a payload or read a random line number from a file that has all the possible responses, etc. Choose your poison. VC provides a variety of different methods for retrieving random results/values.

... Or you could consult the Guile 3D documentation or forum to see if they do have syntax for generating random responses. But that may be difficult to do using a URL string.
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #27 on: January 16, 2016, 12:26:46 PM »
Ok, figured that as much.  I have no experience with using the action "Result.SetLastResult" in VC so I think at this point I will stay away from using it.  I have very little experience using payloads but am willing to try and figure it out. 

ddl

  • Sr. Member
  • ****
  • Posts: 118
  • Karma: 0
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #28 on: January 16, 2016, 12:31:34 PM »
Also,  I looked at the talking head option provided by VC.  If I went this route going forward.  Can I create my own avatar with the movements such as Denise?  Trying to keep my setup as clean as possible to avoid a nightmare with troubleshooting if necessary.

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2318
  • Karma: 47
    • View Profile
Re: Voxcommando and Denise (Guile3d) Help
« Reply #29 on: January 16, 2016, 01:44:21 PM »
You can create your own Avatar, but this will not looks like Denise. Try also first a search in the Forum before you ask for help, because this question is already answered  ;)

http://voxcommando.com/forum/index.php?topic=1619.msg14154#msg14154
« Last Edit: January 16, 2016, 03:39:48 PM by Kalle »
***********  get excited and make things  **********