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