Categories
kb kbcore pocketsphinx sphinx3 Sphinx4

A look on Sphinx3’s initialization

I worked on Sphinx 3 a lot.  In these days, it was generally regarded as an “old-style” recognizer as compared to Sphinx 4 and PocketSphinx.   It is also not support officially by the SF’s guys.

Coders of speech recognition think a little bit different.  They usually stick to a certain codebase which they feel comfortable with.   For me, it is not just a personal preference, it also reflects how much I know about a certain recognizer.  For example, I know quite a bit of how Sphinx 3 performs.   In these days, I tried to learn how Sphinx 4 fare as well.   So far, if you ask me to choose an accurate recognizer, I will still probably choose Sphinx 3, not because the search technology is better (Sphinx 4 is way superior), but because it can easily made to support several advanced modeling types.  This seems to be how the 2010 developer meeting concluded as well.

But that was just me. In fact, I am bullish on all Sphinx recognizers.  One thing I want to note is the power of Sphinx 4 in development.  There are many projects are based on Sphinx 4.  In these days, if you want to get a job on speech recognizer, knowing Sphinx 4 is probably a good ticket.  That’s why I am quite keen on learning it more so hopefully I can write on both recognizers more.

In any case, this is a Sphinx 3’s article.  I will probably write more on each components.   Feel free to comments.

How Sphinx3 is initialized:

Here is a listing of function used on how Sphinx 3 is initialized I got from Sphinx 3.0.8.  Essentially, there are 3 layers of initialization, kb_init, kbcore_init and s3_am_init.  Separating kb_init and kbcore_init probably starts very early in Sphinx 3.  Whereas separating s3_am_init from kbcore_init was probably from me. (So all blames on me.)  That is to support -hmmdir.

 kb_init  
-> kbcore_init (*)
-> beam_init
-> pl_init
-> fe_init
-> feat_array
-> stat_init
-> adapt_am_init
-> set operation mode
-> srch_init
kbcore_init
-> Look for feat.params very early on.
-> logmath_init
-> feat_init
-> s3_am_init (*)
-> cmn_init
-> dict_init
-> misc. models init
mgau_init such as
-> subvq_init
-> gs_read
-> lmset_init
-> fillpen_init
-> dict2pid_build <- Should put into search
s3_am_init
-> read_lda
-> read in mdef.
-> depends on -senmgau type
.cont. mgau_init
.s2semi. s2_semi_mgau_init
if (-kdtree)
s2_semi_mgau_load_kdtree
.semi or .s3cont.
ms_mgau_init
-> tmat_init
Note:
  • -hmmdir override all other sub-parameters. 

Arthur

Categories
Uncategorized

Toning down on Blogging……

Guess I was too confident again to build up this site.  Once again I feel work took me much time and couldn’t work on this blog soon.

It also depends on whether my work are something camera-ready.   Currently I have couple of articles which are ready to hash out but need some refinement.

Let’s see if I can come back for month a month later.  For now, you might see a lot of filler materials on this blog.

Arthur

Categories
video

Dumb Ways to Die

Can you stop loving this video?

Categories
Uncategorized

Hamming’s “You and Your Research”

The original link

Read it.  It doesn’t just apply in research, it applies in any job.

Arthur

Categories
productivity

Readings at Feb 13, 2013

Productivity isn’t by Vivek Halder

Categories
Uncategorized

Readings at Feb 12, 2013

After couple of days of snow shoveling. Finally back to business

Computer program roots out ancestors of modern tongues 

Categories
coffee Management tea

Readings at Feb 6, 2013

Employees leave Manager Not Companies Well said.

Caffeine Jitters As a programmer, I found drinking any caffeinated drinks anti-productive.   In the short-term, coke, coffee or power drinks gave you a kick.  In long term, they are debilitating and cause you feel tired.  

I think Dave is the guy who taught me to drink tea at CMU, I haven’t changed this habit since.

Arthur

Categories
college education

Should we go to College?

Reading James Altucher’s “I Was Blind But Now I See“, he made a controversial point: don’t send kids into college.   Before you throw stuffs, his point is sophisticated.   You would think you could refute him by saying “What about profession such as lawyer and doctor?” But then Altucher counters that to be a professional,  you just need to read the right book and ask the right question to the right people.   It is difficult to refute : say if you want to learn programming, taking a university course and getting credits don’t really help that much.   Working on an open source project or an internship does.    On speech recognition, classes may be useful but at the end of the day, reading papers, or generally talking with experts in the field is the real help. 

So what is the meaning of University then?   Though I have many friends who have graduate degrees and I have a master myself,  I do appreciate Altucher’s point.    Because what he said highlight some of my doubt about the college education system.   e.g. Is a person really smarter after 5 years of college education?   Do they learn better?   Does it worth the $50000 debt?    When I look at many of my friends,  for most of the time, the answer is no.    The truth is for many who want to learn, they will seek out college education after they have some experience.    They actively seek for knowledge they lack of.  On the other hand, when I look at many of my PhD friends, they either have no motivation to learn nor their duty gives them no time to learn.   It is a pity.   

I believe learning is a life-long issue and it should be independent to any institutions.   
Arthur
Categories
Uncategorized

Collapse Video

It caught my eyes and made me think……

Arthur

Categories
Aaron Swartz acoustic score Dragon goldman sach Kurzweil list Sphinx4 sphinxtrain subword units

January 2013 Write-up

Miraculously, I still have some momentum for this blog and I have kept on the daily posting schedule.

Here is a write up for this month:  Feel free to look at this post on how I plan to write this blog:

Some Vision of the Grand Janitor’s Blog

Sphinx’ Tutorials and Commentaries

SphinxTrain1.07’s bw:

Commentary on SphinxTrain1.07’s bw (Part I)
Commentary on SphinxTrain1.07’s bw (Part II)

Part I describes the high-level layout, Part II and describe half the state network was built.

Others:
Acoustic Score and Its Sign
Subword Units and their Occasionally Non-Trivial Meanings

Sphinx4:
Sphinx 4 from a C background : Material for Learning

News

Goldman Sachs not Liable
Aaron Swartz……

Other writings:

On Kurzweil : a perspective of an ASR practitioner

Enjoy!

Arthur