I have been quite focused on SphinxTrain lately. So I haven't touched Sphinx 4 for a while. As I have one afternoon which I can use with leisure (not really), so I decide to take a look of some basic material again.
Sphinx-4, as a recognizer, is interesting piece software to me, a recovering recognizer programmer. It seems remote but oddly familiar. It is sort of a dream-land for experimenting different decoding strategies. During Sphinx 3.5 to 3.7, I tried to make Sphinx 3.X to be more generalized in terms of search. Those effort was tough mainly because the programs were in C. As you might guess, those modification requires much reinvention of a lot of good software engineering mechanisms (such as class).
Sphinx-4 is now widely studied. There are many projects using Sphinx-4 and its architecture is analyzed in many sites. That's why I have abundant amount of material to learn the recognizer. (Yay! 🙂 )
Here are the top 5 pages in my radar now and I am going to study them in detail:
- Introduction : What Sphinx-4 is? And how to use it.
- Sphinx 4 Application Programmer Guide : What excites me is model switching capability. I also love the way the current recognizer can be linked to multiple languages.
- Configuration Manager : That's an interesting part as well. That is a recognizer which is configurable for every components. Is it a good thing? There are pros and cons about a hierarchical configuration system. But for most of the time, I think that's a better way than flat command-line structure.
- Instrumentation : How to test the decoder with examples on TIDIGITS and many more database.
- FAQ: Here is a list of questions which make me curious.
- The White Paper : Extremely illuminating, I also appreciate the scholarship when they compare different versions of Sphinxes.
- The 2003 paper: I haven't gone through this one yet but it's certainly something I want to check out.