3 ms·
I've been fiddling with the Kaldi speech recognition toolkit over the past 6 weeks or so, which provides "recipes" for creating speech recognition frameworks (b
by nmfisher 7y ago
I've been fiddling with the Kaldi speech recognition toolkit over the past 6 weeks or so, which provides "recipes" for creating speech recognition frameworks (basically a combination of preprocessing/featurizing/training steps for various speech recognition models (HMM/GMM, neural nets, speaker adaptive training, etc).
These recipes are a bunch of bash scripts to glue the toolkit binaries together, all connected via Unix pipes.
With all respect to the authors, I feel that Python would have been a much better choice for this task. Bash is a verbose scripting language to begin with, not to mention much more difficult to modularize. I find it takes me at least twice as long to decipher bash scripts compared with their pythonic equivalent.
I think it's a good example of "old, tried and true" not necessarily being "best".
- slavik81 7y agoBash and Python are effectively the same age. Python is 30 years old and Bash is 31.
- nmfisher 7y agoTrue, but I don't think Python really eclipsed Bash in terms of popularity (or Perl, for that matter) until much, much later. I've always thought of Bash as the "traditional" approach to gluing binaries/pipes together. Bash has been a staple of most Linux distributions for as long as I can remember, but Python only seemed to start being packaged as default in the mid-2000s (or at least, that's the impression I have. My memory could be failing me).
- ncmncm 7y agoBash is largely a reimplementation of ksh, which is just an extention of sh. Pretty much anything in bash would be written much the same way in sh, which dates from, when, 1972? So, no, bash and Python are not the same age, in practice.
- JanisL 7y agoIncidentally this frustration with Kaldi is exactly why we made the Persephone ASR project in Python: https://github.com/persephone-tools https://github.com/persephone-tools