On Thursday, 28 November 2013 at 10:30:36 UTC, Chris wrote:
There are voice analysis and speech processing toolkits like
Covarep and Voicebox (see links below) that were coded in
Matlab, because they were originally only prototypes. There has
been talk of porting them to C++. My first thought, as you
might imagine, was why not use D? However, I don't know if
there are any performance issues, especially for real time
systems (in speech recognition), talking about GC, or in fact
any other issues (number grinding etc.).
A lot of the analysis tools are based on some sort of HMM
(http://en.wikipedia.org/wiki/Hidden_Markov_model) and I think
D could handle that elegantly.
https://github.com/covarep/covarep
http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
I agree that D would make an excellent platform for such signal
processing work, though I don't know what real-time constraints
would have to be worked out either. Perhaps a better approach
would be to write a D wrapper for the C version of the CMU Sphinx
suite, then move development to D over time:
http://cmusphinx.sourceforge.net/
I don't know the relative merits of those three software projects
though. Maybe Sphinx isn't the best implemented, but it
certainly might be the quickest to get up and running with D.