After several years not touching Sphinx (or for that regard, any serious coding), I start to have a conversation with myself, namely, the me who maintained Sphinx 3.X 6 years ago.
When I was working with the project, I was tasked to work on Sphinx 3. I have been an advocate of Sphinx 3 ever since. To say the truth, I might have overdone it - there are many great recognizers in the world. Just look within the family: Sphinx 4, PocketSphinx and recently MultiSphinx by Dave are all great recognizers. (Dave has also fixed a lot of my bugs. So if you look into the source code, you will see places where he screamed, or I paraphrase "Arthur, what are you talking about?")
Experience with many outside companies changed me. I literally turned from a naive twenty something guy to a thirty something guy. Still naive, but my world view has certainly changed. In fact, for many purposes, I found that learning all components of Sphinx is very beneficial.
Let's think in this way: each of the project from CMU Sphinx was meant to solve a practical problem in real life. For example, in Sphinx 4, not only you have great out-of-the-box performance. You also got the native code which can be incorporated into Java-based servers. This is a huge plus when you are thinking of writing a web application. And web applications will be around for a long time.
Same as PocketSphinx, it is meant to be a version of Sphinx which can be integrated different embedded systems. I am yet to learn about MultiSphinx but I always have faith on Dave and his ideas.
This makes me want to learn again. It's weird, once you open your mind, you will see doors everywhere. For me, my next targets would be learning Sphinx 4 and PocketSphinx. Both of them have great importance. Will I still work on Sphinx 3? Probably. X can always bigger than 8. It's the programming reality which makes me change. As I would think now, it's a good change, a very good change.
The Grand Janitor
No comments:
Post a Comment