Speech Recognition Engines

Flat
Regarding Recognition
User: vishu
Date: 5/12/2009 12:58 am
Views: 6954
Rating: 6

Hi Ken,
Presently the recognition using 'julius' is good with all digits(any no. of digits) except combinations of '1', '7' and '9', even though I have added plenty of samples with these combinations with deterministic silence in between. Can you help me?  

Thanks alot.

 

 

--- (Edited on 5/12/2009 4:30 am [GMT-0500] by vishu) ---

Re: Regarding Recognition
User: kmaclean
Date: 5/12/2009 1:25 pm
Views: 171
Rating: 6

Hi Vishu,

>except combinations of '1', '7' and '9',

Look for papers on this topic... Google "improving number recognition" or something like that...  I found this one that might be helpful: Recognition of spoken number.  Suggestions from that paper:

The large difference between %Correct and Accuracy implies a large number of insertion errors. It was observed that many insertion errors were the result of inter digit pauses introduced by a few speakers naturally. Consequently, the grammar was modified to allow an optional silence segment between adjacent words.

[...]

In order to reduce insertion error, an insertion penalty was introduced. This is a fixed cost levied whenever the system made a transition out of a word model. The introduction of such a penalty results in significant decrease of insertion errors at the
cost of minor increase in %Correct. The optimal value of insertion penalty for training data was decided by trial and error, and was found to be -40. This value was used in all subsequent experiments.

Ken

--- (Edited on 5/12/2009 2:25 pm [GMT-0400] by kmaclean) ---

Re: Regarding Recognition
User: vishu
Date: 5/19/2009 7:03 am
Views: 67
Rating: 6

Thanks Ken it was helpful indeed. Other required clarifications are

1) I want  'julius' to accept input speech other than microphone(from telephone for example),
Please put light on that. I have gone through options relating to 'ALSADEV' and 'AUDIODEV'.
not succeeded yet. Please brief me on this. 
2) I want to study 'julius' source code, is there any flowchart or algorithm for that?

Thanks.

--- (Edited on 5/19/2009 7:03 am [GMT-0500] by vishu) ---

Re: Regarding Recognition
User: kmaclean
Date: 5/19/2009 8:42 am
Views: 79
Rating: 5

Hi vishu,

>1) I want  'julius' to accept input speech other than microphone(from

>telephone for example),

Use can create your own client using adintool to send speech back to Julius (in server mode).  For telephony, use an Asterisk server as your telephony front-end and write up your own APIs to the Julius server.  I think there are examples on the Asterisk site for Sphinx integration with Asterisk, use a similar approach for Julius.

>2) I want to study 'julius' source code, is there any flowchart or

>algorithm for that?

You're best to talk to the Julius maintainer about that...

Ken

--- (Edited on 5/19/2009 9:42 am [GMT-0400] by kmaclean) ---

Re: Regarding Recognition
User: Visitor
Date: 5/22/2009 2:38 am
Views: 181
Rating: 7

Hi Ken,

>I have gone through options relating to 'ALSADEV' and 'AUDIODEV'.
not succeeded yet. Please brief me on this. 

Thanks.

 

--- (Edited on 5/22/2009 2:38 am [GMT-0500] by Visitor) ---

Re: Regarding Recognition
User: kmaclean
Date: 5/25/2009 1:00 pm
Views: 73
Rating: 6

>'ALSADEV' and 'AUDIODEV'.

I am assuming you are talking about Julius 4.1.2 "ENVIRONMENT VARIABLES".  From the Julius manual:

ALSADEV
(using mic input with alsa device) specify a capture device name. If not specified, "default" will be used.

AUDIODEV

(using mic input with oss device) specify a capture device path. If not specified, "I/dev/dsp" will be used.

see Wikipedia entries for: ALSA and OSS

Ken

--- (Edited on 5/25/2009 2:00 pm [GMT-0400] by kmaclean) ---

Re: Regarding Recognition
User: vishu
Date: 5/26/2009 7:54 am
Views: 187
Rating: 6

Hi Ken, Thanks for the responce.

1) I tried using 'AUDIODEV', please brief me on this. Because the new path /tmp/dsp1' is not getting opened? I wanted speech data to be handled by this 'dsp1'.

2) Can julius recognise rawfile in 'A-law' format? From the telephone line we are getting speech in this format only.

Thanks a lot.

--- (Edited on 5/26/2009 7:54 am [GMT-0500] by vishu) ---

Re: Regarding Recognition
User: kmaclean
Date: 6/10/2009 1:07 pm
Views: 675
Rating: 6

>I tried using 'AUDIODEV', please brief me on this.

it uses OSS.

> Can julius recognise rawfile in 'A-law' format?

I don't know much about A-law.  It sounds like A-law is does compression, but I am not clear on this from the Wikipedia entry (they talk about it as being a standard "companding" algorithm used in Europe). 

You might need to use acoustic models tained with audio in A-law format to get reasonable recognition results.

Ken

--- (Edited on 6/10/2009 2:07 pm [GMT-0400] by kmaclean) ---

Re: Regarding Recognition
User: Terzhs
Date: 4/24/2013 10:00 am
Views: 424
Rating: 1

Hello Im not so familiar with Julis and I hope that someone can help me.

I would like to use a USB soundcard with a mic as the input of Julius. arecord works fine with the option ' -D plughw:1,0 '. Now the question is, how to force Julius to use the same device? In the JuliusBook I found this statement: "[...] if you have multiple audio device and set ' ALSADEV="plughw:1,0" ', Julius will listen to the second sound card". Great, how can I set this ENVIRONMENT VARIABLE? I wrote this line in the config file (-C $conf_file) of Julius but I got the error:

"ERROR: m_options: wrong argument: "ALSADEV=plughw:1,0"

Thanks!

Terzh

--- (Edited on 4/24/2013 10:00 am [GMT-0500] by ) ---

Re: Regarding Recognition
User: azeem
Date: 4/29/2013 8:48 am
Views: 2012
Rating: 3

Hi Terzh,

> "ERROR: m_options: wrong argument: "ALSADEV=plughw:1,0"

this error comes from julius, because you put it in the julius config file. ALSADEV should not be a parameter for julius (and the program is complaining about it), but, as you already pointed out, ALSADEV is expected to be an environment variable.

You can try the following command:

$ ALSADEV=plughw:1,0 julius -C your-julius-config-file.conf

 

I think it should work, because issuing

$ MYENVVAR=something program

forces that program (and only *that* instance of the program) to use MYENVVAR as an env variable with value "something".

 

I also have a usb microphone and tested it with julius4 successfully.

 

 

--- (Edited on 4/29/2013 8:48 am [GMT-0500] by azeem) ---

PreviousNext