2009-04-13 00:41:58     Sphinx (speech recognition) on uClinux running on Blackfin BF537

Document created by Aaronwu Employee on Aug 15, 2013
Version 1Show Document
  • View in full screen mode

2009-04-13 00:41:58     Sphinx (speech recognition) on uClinux running on Blackfin BF537

Ashish Gupta (INDIA)

Message: 72563   

 

Hi,

 

We need to use CMU pocketsphinx (www.speech.cs.cmu.edu/pocketsphinx/) with Blackfin/uClinux running on BF537.

 

This page   docs.blackfin.uclinux.org/doku.php?id=projects suggests sphinx is already running on Blackfin/uClinux, and also found sphinx base in the list of libraries during uClinux build.

 

1. How can we go about using sphinx after including sphinx base library during build?

 

2. Has pocketsphinx been tested with uClinux, how well it works? (accuracy/precision)

 

3. Also we are using CMBF537E module from Bluetechnix with 32 MB SDRAM, 4 MB FLASH. Do you foresee any issues with the amount of SDRAM needed for pocketsphinx, will 32 MB be enough. We have the SSM2206 Audio Codec working well with uClinux drivers.

 

regards

 

Ashish

QuoteReplyEditDelete

 

 

2009-04-13 02:26:36     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Mike Frysinger (UNITED STATES)

Message: 72566   

 

asking the same question in different forums wont get you a different answer

QuoteReplyEditDelete

 

 

2009-04-13 04:57:41     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Ashish Gupta (INDIA)

Message: 72570   

 

Hi Mike

 

I am sorry, I thought I had posted the question on this forum only and dint find my query here so posted a new one.

 

I checked the other forum and read you reply, thanks for the suggestions.

 

My apologies for wasting your time.

 

Thanks & regards

 

Ashish

 

 

QuoteReplyEditDelete

 

 

2009-04-13 07:12:56     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Mike Frysinger (UNITED STATES)

Message: 72582   

 

do you not see replies to posts ?  or is it just for the open-discussion forum ?

 

there's a link on the left side when browsing a forum to control forum monitoring so that you see all responses ...

QuoteReplyEditDelete

 

 

2009-04-13 12:05:09     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Kyle Schlansker (UNITED STATES)

Message: 72598   

 

I used to be a developer on a fork of Sphinx 3.  While I haven't looked at the pocketsphinx codebase, I can say that about 33% of our computation time on x86 processors was spent in the gaussian computation functions, and that we required double precision for an accumulator in the gaussian evaluations or otherwise we would notice significant accuracy degradation.

 

I would be surprised if you could get acceptable accuracy in under 4xRT given that you'd most likely need to do floating point emulation, but I'm not sure what your speed/accuracy requirements are.

 

As far as memory requirements, our gaussian mixture models were between 15-25MB per speaker and the language models were much higher (100+MB).  I'm sure pocketsphinx is tailored to low-memory, but I suspect you'll need much more than 32MB of SDRAM.

QuoteReplyEditDelete

 

 

2009-04-13 13:23:59     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Kyle Schlansker (UNITED STATES)

Message: 72601   

 

I should have prefaced my last post with the fact that our Sphinx fork was for a large vocabulary continuous speech rec application.  If you're doing something basic like command and control with a small vocab, then 32MB would be fine, and processing power would probably not be an issue.  If you posted your requirements and application I could say more.

QuoteReplyEditDelete

 

 

2009-04-25 04:19:15     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Ashish Gupta (INDIA)

Message: 73220   

 

Dear Kyle

 

Thanks for your ideas, well we are not looking at a very high precision application and basically want to build a voice based calucalator that can recognize numbers and some commands like ADD, MULTIPLY, DIVIDE etc.

 

To start with I am following this link

www.speech.cs.cmu.edu/15-492/assignments/hw1/index.html

 

 

Tried it first on the desktop Fedora 9 . It works fine.

 

 

When I try to cross compile this I am not sure what to do with Sphinx Train (On the link above It is mentioned that compile and install on the target ?? ) Sphinxbase and pocketsphinx libraries are built sucessufully after cross-compilation . I would use the basis HW1 database for the timebeing. But to make it work on the target I understand that perl is required. Are there any ports available for perl on uClinux. As mentioned in the link above. I would be copying the database HW1 on the target and use perl scripts to the run the model.

 

Q1. How to use the sphinxtrain

 

Q2. Is perl essential to do this? If yes, should we try to port thr 'normal' linux perl engine to uClinux or some alternate?

 

Your response is deeply appreciated

 

Thanks & regards

 

Ashish Gupta

QuoteReplyEditDelete

 

 

2009-04-29 12:11:35     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Kyle Schlansker (UNITED STATES)

Message: 73438   

 

Hi Ashish,

 

I'm not sure exactly what your requirements are, but I don't think you need to cross compile SphinxTrain or Perl -- you can do all of your model building on a host system and then just transfer the final models over to your embedded system for use by the sphinx binary.  Last I checked Perl would not build anyways, and it wasn't a trivial fix to get it working IIRC, though minperl may be available.

 

Regarding the use of SphinxTrain, if one of the default speaker independent acoustic models seems to be working well enough in your tests, then it is probably easiest to stick with that for now.  If you want to build speaker dependent models then there's a lot of work you need to do -- you basically need to generate some literal training data for each speaker by having them read a list of numbers and instructions.

 

For the language models, I prefer using SRI LM Toolkit over the CMU LM toolkit.  However, since you are doing a command/control application (which has a strict grammar) you may be better off using an finite state grammar based LM.  I have never used FSG LMs before so I can't offer much help there.

 

hope that helps.

QuoteReplyEditDelete

 

 

2009-04-29 13:22:34     Re: Sphinx (speech recognition) on uClinux running on Blackfin BF537

Mike Frysinger (UNITED STATES)

Message: 73447   

 

yes, full perl does not work and it's a huge pain

 

miniperl however should build just fine

QuoteReplyEditDelete

Attachments

    Outcomes