<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Writing a command and control application with voice recognition</title>
	<atom:link href="http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/</link>
	<description>I would love to change the world, but they won&#039;t give me the source code...</description>
	<lastBuildDate>Fri, 16 Dec 2011 09:41:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Voice control &#124; GIMX &#8211; Game Input MultipleXer</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-121844</link>
		<dc:creator>Voice control &#124; GIMX &#8211; Game Input MultipleXer</dc:creator>
		<pubDate>Fri, 16 Dec 2011 09:41:33 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-121844</guid>
		<description>[...] Julius+Voxforge: seems to be very easy to install, but no GUI. [...]</description>
		<content:encoded><![CDATA[<p>[...] Julius+Voxforge: seems to be very easy to install, but no GUI. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sean</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-34563</link>
		<dc:creator>sean</dc:creator>
		<pubDate>Sun, 17 Oct 2010 00:57:56 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-34563</guid>
		<description>Hi it works great, im using the command.py that comes with julius-voxforge and would like to use the script to execute other programs and scripts could you please provide a more simple generic script template to work from (i cant code in python im currently learning bash), this is hard for me to disect and use for other things other than or rhythmbox/banshee, the command.py you have in your tutorial (not the voxforge one) is more like something i am after but i cant seem to get it to work if i use it on its own, i guess its a code snippet and not the full script, but i want to be able to do something like:

&lt;code&gt;
recognized word from julius

commands:
word=command
word=command
word=command
word=command
etc

if recognised word = any of the words above
then
execute recognized command
&lt;/code&gt;&lt;code&gt;

with no fancy stuff to check whether rhythmbox or banshee are installed etc just a bare bones and very simple version that can be used to execute any command

also is this possible to do in bash, as i would ideally like to learn one language at a time, 

Anyhelp appreciated - Thanks!&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Hi it works great, im using the command.py that comes with julius-voxforge and would like to use the script to execute other programs and scripts could you please provide a more simple generic script template to work from (i cant code in python im currently learning bash), this is hard for me to disect and use for other things other than or rhythmbox/banshee, the command.py you have in your tutorial (not the voxforge one) is more like something i am after but i cant seem to get it to work if i use it on its own, i guess its a code snippet and not the full script, but i want to be able to do something like:</p>
<p><code><br />
recognized word from julius</p>
<p>commands:<br />
word=command<br />
word=command<br />
word=command<br />
word=command<br />
etc</p>
<p>if recognised word = any of the words above<br />
then<br />
execute recognized command<br />
</code><code></p>
<p>with no fancy stuff to check whether rhythmbox or banshee are installed etc just a bare bones and very simple version that can be used to execute any command</p>
<p>also is this possible to do in bash, as i would ideally like to learn one language at a time, </p>
<p>Anyhelp appreciated - Thanks!</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Updated Voxforge packages in Ubuntu @ Eurion · RainCT&#8217;s Blog</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-27798</link>
		<dc:creator>Updated Voxforge packages in Ubuntu @ Eurion · RainCT&#8217;s Blog</dc:creator>
		<pubDate>Fri, 20 Aug 2010 13:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-27798</guid>
		<description>[...] in some months), but especially interesting is that it supports more phonemes now (remember the old days when words like &#8220;previous&#8221; or &#8220;computer&#8221; couldn&#8217;t be [...]</description>
		<content:encoded><![CDATA[<p>[...] in some months), but especially interesting is that it supports more phonemes now (remember the old days when words like &#8220;previous&#8221; or &#8220;computer&#8221; couldn&#8217;t be [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: UDS 2009 @ Eurion · RainCT&#8217;s Blog</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-22074</link>
		<dc:creator>UDS 2009 @ Eurion · RainCT&#8217;s Blog</dc:creator>
		<pubDate>Sun, 27 Jun 2010 15:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-22074</guid>
		<description>[...] speech recognition engine) is already packaged since Intrepid and some time ago I wrote about how to use it to control applications (including instructions to setup some basic commands to control [...]</description>
		<content:encoded><![CDATA[<p>[...] speech recognition engine) is already packaged since Intrepid and some time ago I wrote about how to use it to control applications (including instructions to setup some basic commands to control [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RainCT</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-21603</link>
		<dc:creator>RainCT</dc:creator>
		<pubDate>Fri, 18 Jun 2010 13:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-21603</guid>
		<description>@ Roland:

You can see that in the example included in the &quot;julius-voxforge&quot; Ubuntu package. For your convenience, I&#039;ll post a copy of the current Python code here:

&lt;pre&gt;
#! /usr/bin/python -u
# (Note: The -u disables buffering, as else we don&#039;t get Julius&#039;s output.)
#
# Command and Control Application for Julius
#
# How to use it:
#  julius -quiet -input mic -C julian.jconf 2&gt;/dev/null &#124; ./command.py
#
# Copyright (C) 2008, 2009 Siegfried-Angel Gevatter Pujals &lt;rainct @ubuntu.com&gt;
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see &lt;http: //www.gnu.org/licenses/&gt;.

# Supported commands:
#
# This file is provided as an example, and should be modified to suit
# your needs. As is, it only supports a few commands and executes them on
# either Rhythmbox or Banshee.

import sys
import os

class Rhythmbox:
	
	name = &quot;Rhythmbox&quot;
	
	commands = {
			&#039;play&#039;: &#039;play&#039;,
			&#039;pause&#039;: &#039;pause&#039;,
			&#039;next&#039;: &#039;next&#039;,
			&#039;prev&#039;: &#039;previous&#039;,
			&#039;show&#039;: &#039;notify&#039;,
			&#039;pause&#039;: &#039;pause&#039;,
			&#039;silence&#039;: &#039;pause&#039;,
	}
	
	def parse(self, word):
		if word in self.commands:
			return &#039;rhythmbox-client --%s&#039; % self.commands[word]

class Banshee:
	
	name = &quot;Banshee&quot;
	
	commands = {
			&#039;play&#039;: &#039;play&#039;,
			&#039;pause&#039;: &#039;pause&#039;,
			&#039;stop&#039;: &#039;stop&#039;,
			&#039;next&#039;: &#039;next&#039;,
			&#039;prev&#039;: &#039;previous&#039;,
			&#039;pause&#039;: &#039;pause&#039;,
			&#039;silence&#039;: &#039;pause&#039;,
	}
	
	def parse(self, word):
		if word in self.commands:
			return &#039;banshee --no-present --%s %% &#039; % self.commands[word]

class CommandAndControl:
	
	def __init__(self, file_object):
		
		# Determine which media player to use
		if os.system(&#039;ps xa &#124; grep -v grep &#124; grep banshee &gt;/dev/null&#039;) == 0:
			self.mediaplayer = Banshee()
		elif os.system(&#039;ps xa &#124; grep -v grep &#124; grep rhythmbox &gt;/dev/null&#039;) == 0:
			self.mediaplayer = Rhythmbox()
		elif os.system(&#039;which banshee &gt;/dev/null&#039;) == 0:
			self.mediaplayer = Banshee()
			os.system(&#039;bash -c &quot;nohup banshee &gt;/dev/null 2&gt;&amp;1 &lt; &amp;1 &amp; disown %%&quot;&#039;)
		elif os.system(&#039;which rhythmbox &gt;/dev/null&#039;) == 0:
			self.mediaplayer = Rhythmbox()
		else:
			print &#039;Couldn\&#039;t find a supported media player. &#039; \
				&#039;Please install Rhythmbox or Banshee.&#039;
			sys.exit(1)
		print &#039;Taking control of %s media player.&#039; % self.mediaplayer.name
		
		startstring = &#039;sentence1: &lt;s&gt; &#039;
		endstring = &#039; &lt;/s&gt;&#039;
		
		while 1:
			line = file_object.readline()
			if not line:
				break
			if &#039;missing phones&#039; in line.lower():
				print &#039;Error: Missing phonemes for the used grammar file.&#039;
				sys.exit(1)
			if line.startswith(startstring) and line.strip().endswith(endstring):
				self.parse(line.strip(&#039;\n&#039;)[len(startstring):-len(endstring)])
	
	def parse(self, line):
		# Parse the input
		params = [param.lower() for param in line.split() if param]
		if not &#039;-q&#039; in sys.argv and not &#039;--quiet&#039; in sys.argv:
			print &#039;Recognized input:&#039;, &#039; &#039;.join(params).capitalize()
		
		# Execute the command, if recognized/supported
		command = self.mediaplayer.parse(params[1])
		if command:
			os.system(command)
		elif not &#039;-q&#039; in sys.argv and not &#039;--quiet&#039; in sys.argv:
			print &#039;Command not supported by %s.&#039; % self.mediaplayer.name

if __name__ == &#039;__main__&#039;:
	try:
		CommandAndControl(sys.stdin)
	except KeyboardInterrupt:
		sys.exit(1)
&lt;/rainct&gt;&lt;/pre&gt;

You execute it like this:
&lt;pre&gt;julius -quiet -input mic -C julian.jconf 2&gt;/dev/null &#124; ./command.py&lt;/pre&gt;

This way Julius will run and write the recognized words (together with some other useless text) to the standard output. That text will be forwarded to the Python script which can then identify the relevant words and see whether they are recognized.

As you can see, this is just a quick hack. Theoretically it should be possible to use libjulius to access Julius directly from Python, but I&#039;m not sure what the state of said library is at the moment and I haven&#039;t found time to look into it yet.</description>
		<content:encoded><![CDATA[<p>@ Roland:</p>
<p>You can see that in the example included in the &#8220;julius-voxforge&#8221; Ubuntu package. For your convenience, I&#8217;ll post a copy of the current Python code here:</p>
<pre>
#! /usr/bin/python -u
# (Note: The -u disables buffering, as else we don't get Julius's output.)
#
# Command and Control Application for Julius
#
# How to use it:
#  julius -quiet -input mic -C julian.jconf 2>/dev/null | ./command.py
#
# Copyright (C) 2008, 2009 Siegfried-Angel Gevatter Pujals <rainct @ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http: //www.gnu.org/licenses/>.

# Supported commands:
#
# This file is provided as an example, and should be modified to suit
# your needs. As is, it only supports a few commands and executes them on
# either Rhythmbox or Banshee.

import sys
import os

class Rhythmbox:

	name = "Rhythmbox"

	commands = {
			'play': 'play',
			'pause': 'pause',
			'next': 'next',
			'prev': 'previous',
			'show': 'notify',
			'pause': 'pause',
			'silence': 'pause',
	}

	def parse(self, word):
		if word in self.commands:
			return 'rhythmbox-client --%s' % self.commands[word]

class Banshee:

	name = "Banshee"

	commands = {
			'play': 'play',
			'pause': 'pause',
			'stop': 'stop',
			'next': 'next',
			'prev': 'previous',
			'pause': 'pause',
			'silence': 'pause',
	}

	def parse(self, word):
		if word in self.commands:
			return 'banshee --no-present --%s %% ' % self.commands[word]

class CommandAndControl:

	def __init__(self, file_object):

		# Determine which media player to use
		if os.system('ps xa | grep -v grep | grep banshee >/dev/null') == 0:
			self.mediaplayer = Banshee()
		elif os.system('ps xa | grep -v grep | grep rhythmbox >/dev/null') == 0:
			self.mediaplayer = Rhythmbox()
		elif os.system('which banshee >/dev/null') == 0:
			self.mediaplayer = Banshee()
			os.system('bash -c "nohup banshee >/dev/null 2>&#038;1 < &#038;1 &#038; disown %%"')
		elif os.system('which rhythmbox >/dev/null') == 0:
			self.mediaplayer = Rhythmbox()
		else:
			print 'Couldn\'t find a supported media player. ' \
				'Please install Rhythmbox or Banshee.'
			sys.exit(1)
		print 'Taking control of %s media player.' % self.mediaplayer.name

		startstring = 'sentence1: &lt;s&gt; '
		endstring = ' &lt;/s&gt;'

		while 1:
			line = file_object.readline()
			if not line:
				break
			if 'missing phones' in line.lower():
				print 'Error: Missing phonemes for the used grammar file.'
				sys.exit(1)
			if line.startswith(startstring) and line.strip().endswith(endstring):
				self.parse(line.strip('\n')[len(startstring):-len(endstring)])

	def parse(self, line):
		# Parse the input
		params = [param.lower() for param in line.split() if param]
		if not '-q' in sys.argv and not '--quiet' in sys.argv:
			print 'Recognized input:', ' '.join(params).capitalize()

		# Execute the command, if recognized/supported
		command = self.mediaplayer.parse(params[1])
		if command:
			os.system(command)
		elif not '-q' in sys.argv and not '--quiet' in sys.argv:
			print 'Command not supported by %s.' % self.mediaplayer.name

if __name__ == '__main__':
	try:
		CommandAndControl(sys.stdin)
	except KeyboardInterrupt:
		sys.exit(1)
</rainct></pre>
<p>You execute it like this:</p>
<pre>julius -quiet -input mic -C julian.jconf 2>/dev/null | ./command.py</pre>
<p>This way Julius will run and write the recognized words (together with some other useless text) to the standard output. That text will be forwarded to the Python script which can then identify the relevant words and see whether they are recognized.</p>
<p>As you can see, this is just a quick hack. Theoretically it should be possible to use libjulius to access Julius directly from Python, but I&#8217;m not sure what the state of said library is at the moment and I haven&#8217;t found time to look into it yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roland</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-21600</link>
		<dc:creator>Roland</dc:creator>
		<pubDate>Fri, 18 Jun 2010 12:02:19 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-21600</guid>
		<description>Hi,

can give some explanation on how do you actually send the &quot;word&quot; that you get from Julius to the python language? 

Thank you</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>can give some explanation on how do you actually send the &#8220;word&#8221; that you get from Julius to the python language? </p>
<p>Thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sujay</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-20601</link>
		<dc:creator>Sujay</dc:creator>
		<pubDate>Wed, 02 Jun 2010 05:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-20601</guid>
		<description>Sometimes it gives error
Error: adin_oss: failed to read samples</description>
		<content:encoded><![CDATA[<p>Sometimes it gives error<br />
Error: adin_oss: failed to read samples</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sujay Shitole</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-20596</link>
		<dc:creator>Sujay Shitole</dc:creator>
		<pubDate>Wed, 02 Jun 2010 04:49:27 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-20596</guid>
		<description>Sir,
    i am trying to develop control application with voice recognition.After executing        
julius -quiet -input mic -C julian.jconf &#124; ./command.py
process comes in waiting state(cursor is continuos blinking ).Means sometimes it works and shows &lt;&lt;&gt; and works fine. 
But there is no surety in working.
Please help me .</description>
		<content:encoded><![CDATA[<p>Sir,<br />
    i am trying to develop control application with voice recognition.After executing<br />
julius -quiet -input mic -C julian.jconf | ./command.py<br />
process comes in waiting state(cursor is continuos blinking ).Means sometimes it works and shows &lt;&lt;&gt; and works fine.<br />
But there is no surety in working.<br />
Please help me .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phil</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-13452</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Wed, 23 Dec 2009 01:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-13452</guid>
		<description>I just figured out that I forgot to add the lines &quot;  sed -i &#039;s/sample\.dfa/mediaplayer\.dfa/&#039; *.jconf
  sed -i &#039;s/sample\.dict/mediaplayer\.dict/&#039; *.jconf&quot;

I hope this helps someone</description>
		<content:encoded><![CDATA[<p>I just figured out that I forgot to add the lines &#8221;  sed -i &#8216;s/sample\.dfa/mediaplayer\.dfa/&#8217; *.jconf<br />
  sed -i &#8216;s/sample\.dict/mediaplayer\.dict/&#8217; *.jconf&#8221;</p>
<p>I hope this helps someone</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phil</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-13451</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Wed, 23 Dec 2009 01:54:16 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-13451</guid>
		<description>I got the &quot;sample&quot; program to work fine. So then I had a go at the &quot;controlapp&quot; program. It says &quot;Taking control of Rhythmbox media player.&quot; I then try saying the commands and such but nothing changes. I even started up Rhythmbox and set it up so that if I did hit pause or play or anything like that I would know. But nothing happens. I checked the dictionary to make sure the words like play and pause were there and they are but nothing happens still.</description>
		<content:encoded><![CDATA[<p>I got the &#8220;sample&#8221; program to work fine. So then I had a go at the &#8220;controlapp&#8221; program. It says &#8220;Taking control of Rhythmbox media player.&#8221; I then try saying the commands and such but nothing changes. I even started up Rhythmbox and set it up so that if I did hit pause or play or anything like that I would know. But nothing happens. I checked the dictionary to make sure the words like play and pause were there and they are but nothing happens still.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sandrar</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-8946</link>
		<dc:creator>sandrar</dc:creator>
		<pubDate>Thu, 10 Sep 2009 14:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-8946</guid>
		<description>Hi! I was surfing and found your blog post... nice! I love your blog.  :) Cheers! Sandra. R.</description>
		<content:encoded><![CDATA[<p>Hi! I was surfing and found your blog post&#8230; nice! I love your blog.  :) Cheers! Sandra. R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RainCT</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-7292</link>
		<dc:creator>RainCT</dc:creator>
		<pubDate>Fri, 19 Jun 2009 20:47:36 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-7292</guid>
		<description>FYI, I&#039;ve just uploaded julius-voxforge 0.1.1~daily20090611-0ubuntu2 which provides an updated version of the script (including support for Banshee).</description>
		<content:encoded><![CDATA[<p>FYI, I&#8217;ve just uploaded julius-voxforge 0.1.1~daily20090611-0ubuntu2 which provides an updated version of the script (including support for Banshee).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RainCT</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-6897</link>
		<dc:creator>RainCT</dc:creator>
		<pubDate>Sun, 31 May 2009 19:52:29 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-6897</guid>
		<description>@sander:

In the example I run Julius and call the Python application so that it gets Julius&#039;s output (from stdout), which I parse at real-time line by line. If that line is of the form «sentence1: &lt;s&gt; [...] &lt;/s&gt;», it contains the recognized text, which in the parse() function is compared to the known commands. If a known command is found (eg., «play»), I call rhythmbox-client (a command-line tool to control Rhythmbox) for it to do the recognized action.

I hope this clarifies it for you; if it doesn&#039;t, ask again :).</description>
		<content:encoded><![CDATA[<p>@sander:</p>
<p>In the example I run Julius and call the Python application so that it gets Julius&#8217;s output (from stdout), which I parse at real-time line by line. If that line is of the form «sentence1: &lt;s&gt; [...] &lt;/s&gt;», it contains the recognized text, which in the parse() function is compared to the known commands. If a known command is found (eg., «play»), I call rhythmbox-client (a command-line tool to control Rhythmbox) for it to do the recognized action.</p>
<p>I hope this clarifies it for you; if it doesn&#8217;t, ask again :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sander</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-6896</link>
		<dc:creator>sander</dc:creator>
		<pubDate>Sun, 31 May 2009 19:44:38 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-6896</guid>
		<description>I&#039;m afraid your how-to is a bit too bare-bone for me. I may be an occasional hacker, but that&#039;s mostly not (read: never) in Python. Could you explain how you exactly get the voice commands to work on Rhymthmbox?</description>
		<content:encoded><![CDATA[<p>I&#8217;m afraid your how-to is a bit too bare-bone for me. I may be an occasional hacker, but that&#8217;s mostly not (read: never) in Python. Could you explain how you exactly get the voice commands to work on Rhymthmbox?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanyynn</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-6311</link>
		<dc:creator>Sanyynn</dc:creator>
		<pubDate>Wed, 13 May 2009 20:53:32 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-6311</guid>
		<description>I&#039;ve waited so long for an application like this one. :) Easy to use, and easy to place new options. I configured it to open all my developing tabs on firefox in case of the &#039;develop&#039; word. :D</description>
		<content:encoded><![CDATA[<p>I&#8217;ve waited so long for an application like this one. :) Easy to use, and easy to place new options. I configured it to open all my developing tabs on firefox in case of the &#8216;develop&#8217; word. :D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-4152</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Tue, 17 Feb 2009 22:43:58 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-4152</guid>
		<description>Thanks alot for posting this, this was  exactly what I was looking for for a project of mine that I had a few months ago. Thanks alot!</description>
		<content:encoded><![CDATA[<p>Thanks alot for posting this, this was  exactly what I was looking for for a project of mine that I had a few months ago. Thanks alot!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sarah Bolopski</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-3960</link>
		<dc:creator>Sarah Bolopski</dc:creator>
		<pubDate>Fri, 06 Feb 2009 23:49:50 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-3960</guid>
		<description>This is really cool. It&#039;s like in star trek almost where you tell the computer to do something (like computer, turn on holodeck) and magically the computer does it.</description>
		<content:encoded><![CDATA[<p>This is really cool. It&#8217;s like in star trek almost where you tell the computer to do something (like computer, turn on holodeck) and magically the computer does it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: testing</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-3364</link>
		<dc:creator>testing</dc:creator>
		<pubDate>Mon, 24 Nov 2008 02:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-3364</guid>
		<description>Hello, thanks to your work I was able to &lt;a href=&quot;http://spirit.blau.in/simon/2008/11/16/installing-julius-with-the-terminal-under-ubuntu/&quot; title=&quot;&quot; rel=&quot;nofollow&quot;&gt;install Julius under Ubuntu&lt;/a&gt;.  I hope that you continue your good work.  Greetings</description>
		<content:encoded><![CDATA[<p>Hello, thanks to your work I was able to <a href="http://spirit.blau.in/simon/2008/11/16/installing-julius-with-the-terminal-under-ubuntu/" title="">install Julius under Ubuntu</a>.  I hope that you continue your good work.  Greetings</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VoxForge</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-1633</link>
		<dc:creator>VoxForge</dc:creator>
		<pubDate>Wed, 27 Aug 2008 13:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-1633</guid>
		<description>Thank you!</description>
		<content:encoded><![CDATA[<p>Thank you!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RainCT</title>
		<link>http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/comment-page-1/#comment-1632</link>
		<dc:creator>RainCT</dc:creator>
		<pubDate>Wed, 27 Aug 2008 12:11:52 +0000</pubDate>
		<guid isPermaLink="false">http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/#comment-1632</guid>
		<description>Voxforge: Well, &quot;new upstream versions&quot; are considered features, unless they are &quot;bugfix only&quot;. But as VoxForge is not an application it may well be possible to get an exception. In regards to your last question, you can of course use any acoustic model you want (just write the path to that one you want instead of to /usr/share/julius-voxforge/acoustic/, in julian.jconf).</description>
		<content:encoded><![CDATA[<p>Voxforge: Well, &#8220;new upstream versions&#8221; are considered features, unless they are &#8220;bugfix only&#8221;. But as VoxForge is not an application it may well be possible to get an exception. In regards to your last question, you can of course use any acoustic model you want (just write the path to that one you want instead of to /usr/share/julius-voxforge/acoustic/, in julian.jconf).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

