Author Topic: Arabic TTS and Al-Jazeera  (Read 9499 times)

0 Members and 1 Guest are viewing this topic.

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #15 on: April 25, 2016, 08:18:12 AM »
Because you need to send the 5 headlines to a Google URL, rather than trying to trigger the Google.TTS event 5 times (which probably would not work), you can link together (concatenate) all of the 5 headlines into one string, and then use that long string as your URL.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.7-->
<command id="1242" name="Aljazeera" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="20" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>Scrape</cmdType>
    <params>
      <param>http://www.aljazeera.net/aljazeerarss/9ff80bf7-97cf-47f2-8578-5a9df7842311/99e42274-a82e-4930-bbd5-ba2b24a88a22</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.RegExSingle</cmdType>
    <params>
      <param>item.*?&lt;title&gt;&lt;.*?DATA.(.*?)\]</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>OSD.ShowText</cmdType>
    <params>
      <param>أحدث الأخبار بموقع الجزيرة</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>OSD.AddText</cmdType>
    <params>
      <param>{i}. {Match.{i}.1}</param>
    </params>
    <cmdRepeat>5</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.MatchConcat</cmdType>
    <params>
      <param>  - </param>
      <param>5</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.TriggerEvent</cmdType>
    <params>
      <param>Google.TTS</param>
      <param>أحدث الأخبار بموقع الجزيرة - {LastResult}</param>
      <param>ar</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>News</event>
  <phrase>tell me the news</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\aljazeera.xml</payloadFromXML>
</command>

http://voxcommando.com/mediawiki/index.php?title=Actions#MatchConcat
« Last Edit: April 26, 2016, 08:10:02 AM by nime5ter »
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)

rio14

  • Contributor
  • ***
  • Posts: 59
  • Karma: 4
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #16 on: April 25, 2016, 11:17:45 AM »
HI nim5ter
Good its fantastic
« Last Edit: April 26, 2016, 08:11:57 AM by nime5ter »

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #17 on: April 26, 2016, 07:56:58 AM »
Good. I'm glad it meets your needs.

I am now going to separate some of the different question topics in this thread, and transfer them to the "support" section of the forum.

In general, it's better if we have new questions on the forum posted as new, distinct topics. Really long threads can make information difficult to find.
« Last Edit: April 26, 2016, 08:12:07 AM by nime5ter »
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)

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #18 on: April 27, 2016, 12:19:49 AM »
can someone post the final commands into the xml exchange ? then I will add it to the gems
When Voice command gets tough, use hand gestures

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #19 on: April 27, 2016, 10:48:03 AM »
James and I are away at the moment. Perhaps someone else can help. The existing command already matches all the headlines. Right now it only reads 5 aloud, but does not store any of them.

rio14 would like to have the ability to ask for the next five, and so on.

That does not involve any more scraping or dealing with the Al-Jazeera site. The headlines should be stored somehow, then one needs to track that five have been read, and then deliver the next five upon request, etc.
« Last Edit: May 01, 2016, 12:47:32 AM by nime5ter »
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)

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #20 on: April 30, 2016, 01:08:58 AM »
Looks like this would not be worth including in the gems anyhow.
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)

rio14

  • Contributor
  • ***
  • Posts: 59
  • Karma: 4
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #21 on: May 01, 2016, 11:54:05 AM »
hi all
i have reinstalled windows, and i don't know why google tts does not work on VC.

this is a payloaded headlines from Aljazeera site nearly 45 headlines and i want
to add the option of (say next news) next five headlines. thank you

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.6-->
<commandGroup open="True" name="Aljazeera news" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1251" name="Aljazeera 1" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="20" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://www.aljazeera.net/aljazeerarss/9ff80bf7-97cf-47f2-8578-5a9df7842311/99e42274-a82e-4930-bbd5-ba2b24a88a22</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://arabic.cnn.com/world/rss</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegExSingle</cmdType>
      <params>
        <param>item.*?&lt;title&gt;&lt;.*?DATA.(.*?)\]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>****...أحدث الأخبار بموقع الجزيرة...****</param>
        <param>29000</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.AddText</cmdType>
      <params>
        <param>{i}. {Match.{i}.1}</param>
      </params>
      <cmdRepeat>5</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.Clear</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.AddPair</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
        <param>{Match.{i}.2}</param>
        <param>{i}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.MatchConcat</cmdType>
      <params>
        <param>...</param>
        <param>5</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>Google.TTS</param>
        <param>...أحدث الأخبار بموقع الجزيرة...{LastResult}</param>
        <param>ar</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>News</event>
    <phrase>tell me the news</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\Aljazeera.xml</payloadFromXML>
  </command>
  <command id="422" name="Call Google.TTS" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.Navigate</cmdType>
      <params>
        <param>https://translate.google.com/#en/{2}/{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Google.TTS</event>
  </command>
  <command id="417" name="Google.TTS ready" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.ElementByID</cmdType>
      <params>
        <param>gt-res-listen</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>RoboB.Click</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>RoboB.Hide</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>RoboB.Show</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <event>RoboB.DocComplete.GoogleTranslate</event>
  </command>
</commandGroup>

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #22 on: May 04, 2016, 01:59:29 PM »
hi all
i have reinstalled windows, and i don't know why google tts does not work on VC.

If you are still having problems with this, we would need more information. For example, you can enable logging in VC, then use commands that use the Google TTS so that we can see if any error messages or other relevant information is logged.

this is a payloaded headlines from Aljazeera site nearly 45 headlines and i want
to add the option of (say next news) next five headlines. thank you

In the command posted above, the payload xml is not properly storing the headlines. I'm not sure if you ever looked at the payload xml that is generated? This is because the command is trying to store {Match.x.2} values, but the regular expression only captures one pattern in (brackets) therefore there is no {Match.x.2}.

If you only want to capture one regular expression pattern, you can access that pattern as {Match.x.1} -- (or {Match.x}, actually)
See: http://voxcommando.com/mediawiki/index.php?title=Variables#Matches

Below I have provided 2 very different solutions to your problem. The first solution does not involve any Python coding, so it is a solution that any VoxCommando user should be able to create even if not a programmer.

Instead of asking for the "next 5" headlines, and having to keep track of how many headlines have been read, we can instead ask for a specific range of headlines, or just a single headline. This might be nice if you want to hear one of the headlines again:

"Read Al Jazeera headline number x", or "Read Al Jazeera headlines x through y".

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.7-->
<commandGroup open="True" name="Aljazeera news fixed" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1289" name="Aljazeera fixed" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="20" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://www.aljazeera.net/aljazeerarss/9ff80bf7-97cf-47f2-8578-5a9df7842311/99e42274-a82e-4930-bbd5-ba2b24a88a22</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegExSingle</cmdType>
      <params>
        <param>item.*?&lt;title&gt;&lt;.*?DATA.(.*?)\]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>(Total: {#M} headlines){CR}****...أحدث الأخبار بموقع الجزيرة...****</param>
        <param>29000</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.AddText</cmdType>
      <params>
        <param>{i}. {Match.{i}.1}</param>
      </params>
      <cmdRepeat>5</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.Clear</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.AddPair</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
        <param>{Match.{i}.1}</param>
        <param>{i}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.MatchConcat</cmdType>
      <params>
        <param>...</param>
        <param>5</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>Google.TTS</param>
        <param>...أحدث الأخبار بموقع الجزيرة...{LastResult}</param>
        <param>ar</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>News</event>
    <phrase>tell me the news</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\Aljazeera.xml</payloadFromXML>
  </command>
  <command id="460" name="Call Google.TTS" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.Navigate</cmdType>
      <params>
        <param>https://translate.google.com/#en/{2}/{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Google.TTS</event>
  </command>
  <command id="455" name="Google.TTS ready" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.ElementByID</cmdType>
      <params>
        <param>gt-res-listen</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>RoboB.Click</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>RoboB.Hide</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>RoboB.Show</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <event>RoboB.DocComplete.GoogleTranslate</event>
  </command>
  <command id="174" name="Read Al Jazeera headline number {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>headlines</param>
        <param>هنا هو الخبر تسأل عن</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.GetValue</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="True">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>OSD.ShowText</cmdType>
          <params>
            <param>There is no headline number {1}.</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.TriggerEvent</cmdType>
          <params>
            <param>Google.TTS</param>
            <param>There is no headline number {1}</param>
            <param>ar</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>VC.TriggerEvent</cmdType>
          <params>
            <param>Google.TTS</param>
            <param>{var.headlines}...{LastResult}</param>
            <param>ar</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>OSD.ShowText</cmdType>
          <params>
            <param>هنا هو الخبر تسأل عن</param>
            <param>8000</param>
            <param>-5</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>OSD.AddText</cmdType>
          <params>
            <param>{1}. {LastResult}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <phrase>Read Al Jazeera</phrase>
    <phrase>headline number</phrase>
    <payloadRange>1,55</payloadRange>
    <phrase optional="true">again</phrase>
  </command>
  <command id="182" name="Read Al Jazeera headlines {1} through {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>headlines</param>
        <param>هنا هو الخبر تسأل عن</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.GetValue</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="True">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>VC.TriggerEvent</cmdType>
          <params>
            <param>Google.TTS</param>
            <param>There is no headline number {1}</param>
            <param>ar</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>OSD.ShowText</cmdType>
          <params>
            <param>There is no headline number {1}.</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>...هنا هو الخبر تسأل عن...</param>
        <param>26000</param>
        <param>-5</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <loop>
      <loopParams>
        <from>{1}</from>
        <to>{2}</to>
      </loopParams>
      <loopActions>
        <action>
          <cmdType>PayloadXML.GetValue</cmdType>
          <params>
            <param>payloads\Aljazeera.xml</param>
            <param>{j}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>OSD.AddText</cmdType>
          <params>
            <param>{j}. {LastResult}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>headlines</param>
            <param>{var.headlines}...{LastResult}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </loopActions>
    </loop>
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>Google.TTS</param>
        <param>{var.headllines}</param>
        <param>ar</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Read Al Jazeera headlines</phrase>
    <payloadRange>1,55</payloadRange>
    <phrase>through</phrase>
    <payloadRange>1,55</payloadRange>
  </command>
</commandGroup>

Your original request was to add a command asking for the next 5 headlines. The easiest way to do that is to use a Python script that keeps track of how many headlines have been read aloud. Although it is a simple script, one does need to know how to code a bit.

Attached is the Python script. As always, it should be placed in the VC\PY folder.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.7-->
<commandGroup open="True" name="Aljazeera news w/ python" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1270" name="Aljazeera (payloads fixed)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="20" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>PayloadXML.Clear</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://www.aljazeera.net/aljazeerarss/9ff80bf7-97cf-47f2-8578-5a9df7842311/99e42274-a82e-4930-bbd5-ba2b24a88a22</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegExSingle</cmdType>
      <params>
        <param>item.*?&lt;title&gt;&lt;.*?DATA.(.*?)\]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.AddPair</cmdType>
      <params>
        <param>payloads\Aljazeera.xml</param>
        <param>{Match.{i}}</param>
        <param>{i}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>max</param>
        <param>{#M}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PY.ExecFile</cmdType>
      <params>
        <param>PY\alj-script.py</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>alj_next5</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>News</event>
    <phrase>tell me the news</phrase>
  </command>
  <command id="476" name="Call Google.TTS" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.Navigate</cmdType>
      <params>
        <param>https://translate.google.com/#en/{2}/{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Google.TTS</event>
  </command>
  <command id="440" name="Google.TTS ready" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="triggered by an event expecting 2 payloads&#xD;&#xA;{1} text to speech&#xD;&#xA;{2} language code">
    <action>
      <cmdType>RoboB.Select</cmdType>
      <params>
        <param>GoogleTranslate</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>RoboB.ElementByID</cmdType>
      <params>
        <param>gt-res-listen</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>RoboB.Click</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>RoboB.Hide</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>RoboB.Show</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <event>RoboB.DocComplete.GoogleTranslate</event>
  </command>
  <command id="176" name="Next 5 al jazeera headlines" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>PY.ExecString</cmdType>
      <params>
        <param>myHeadlines({var.max})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Next 5 al jazeera headlines</phrase>
    <phrase optional="true">please</phrase>
    <event>alj_next5</event>
  </command>
</commandGroup>

Since we can't count on other people to write customized scripts for us all the time, it is good to know that there are alternative solutions. We may have to change our goals slightly, or think about the problem differently. But usually there is a solution.

[Edit to alj-script attachment. Last line triggering the Google.TTS should not have been commented out. New attachment is correct. 5-May-2016]
« Last Edit: May 05, 2016, 11:13:08 PM by nime5ter »
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)

rio14

  • Contributor
  • ***
  • Posts: 59
  • Karma: 4
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #23 on: May 04, 2016, 10:46:18 PM »
hi
this is my log file, google tts does not work after installing windows.
and many thanks for aljazeera codes .

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #24 on: May 05, 2016, 11:19:14 AM »
Maybe you need to update internet explorer to a more recent version.

Also make sure that you don't have multiple commands with the same phrases that could interfere with the command you are using.

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #25 on: May 05, 2016, 11:35:21 AM »
And you may need to check your audio output settings to test audio output with Internet Explorer. Whatever you would usually need to do to resolve audio problems on your PC.
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)

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #26 on: May 05, 2016, 11:16:03 PM »
I just noticed that in the Python script that I uploaded above, the last line had been commented out.

You should remove the # symbol at the beginning of the line:
Code: [Select]
#vc.callAction('VC.TriggerEvent','Google.TTS&&%s'%tts,None)
Otherwise, the script will not trigger the TTS announcement. I had turned it off while testing for my own sanity, and forgot to delete the # symbol before posting.
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)

rio14

  • Contributor
  • ***
  • Posts: 59
  • Karma: 4
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #27 on: May 09, 2016, 09:41:00 AM »
hi nim5ter
i updated my ie to ver11 and goggle tts works back, i tested the script of aljazeera and there are many voices of google tts speak at the same time, may be 5 times the number of headlines i said may be.
mais pratiquement le script d aljazeera est le meilleur. merci

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Arabic TTS and Al-Jazeera
« Reply #28 on: May 10, 2016, 08:50:38 AM »
Also make sure that you don't have multiple commands with the same phrases that could interfere with the command you are using.

La cause est probablement comme James a dit. Il faut assurer qu'il y a un seul ensemble de commandes pour Google.TTS dans votre arbre des commandes.

Dans chaque exemple, je vous ai donné un groupe avec les commandes Google.TTs inclus. C'était pour les autres, s'ils n'ont pas déjà les deux commandes pour le Google TTS.

C'est toujours important de vérifier que les evenements et phrases dans l'arbre sont uniques.
« Last Edit: May 10, 2016, 09:12:58 AM by nime5ter »
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)

rio14

  • Contributor
  • ***
  • Posts: 59
  • Karma: 4
    • View Profile
Re: Arabic TTS and Al-Jazeera
« Reply #29 on: May 10, 2016, 10:33:29 AM »
oui t as raison c est regler merci beacoup