kaldi.js

821 views
Skip to first unread message

Adrian B

unread,
Aug 3, 2017, 12:56:31 PM8/3/17
to kaldi-developers
I've written a Web Assembly wrapper around Kaldi to perform in-browser client side ASR. Is this something you'd welcome in the Kaldi repository proper or would you prefer that I keep it separate? The changes are pretty non-invasive: a couple of additions to the build system, new BLAS libraries because Web Assembly doesn't have SIMD instructions yet, a version of the online Chain decoder, and a JavaScript interface for people to include in their web pages.

Daniel Povey

unread,
Aug 3, 2017, 2:57:44 PM8/3/17
to kaldi-developers
That's interesting.
Do you have any demos?
Generally speaking we've been steering clear of including specific
application-level things in the core Kaldi repo, because it will tend
to grow the scope of the project beyond what it's in our expertise to
maintain.
> --
> visit http://kaldi-asr.org/forums.html to find out how to join.
> ---
> You received this message because you are subscribed to the Google Groups
> "kaldi-developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to kaldi-develope...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Adrian

unread,
Aug 3, 2017, 3:26:52 PM8/3/17
to kaldi-developers

I'm putting together a demo. Should be ready in a couple weeks.


You received this message because you are subscribed to a topic in the Google Groups "kaldi-developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/kaldi-developers/jakcCUK5lKY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to kaldi-develope...@googlegroups.com.

Adrian

unread,
Oct 3, 2017, 10:29:25 PM10/3/17
to kaldi-developers
Here's the demo, a "couple weeks" later. It's Zork, aka Colossal Cave. There are still a few kinks to work out.

The acoustic model is the Aspire TDNN on the Kaldi website with speaker adaptation removed and with SVD-compression / retraining. The resulting weight matrices are stored with Kaldi's matrix compression w/ one byte per weight. It winds up being ~8.5 megs. Even after retraining it's significantly weaker than the original. I'd like to train another one with the newer architecture Vijay developed and with less reverb / noise added to the training data.

Let me know if you have any comments or suggestions.

Daniel Povey

unread,
Oct 3, 2017, 11:08:22 PM10/3/17
to kaldi-developers
cool.
it seems to run. i guess it's not set up to recognize things that are
too far out of the domain? sometimes when I said things it did not
return anything.

Adrian

unread,
Oct 4, 2017, 1:39:22 PM10/4/17
to kaldi-developers

Yes. The domain is limited to the game's vocabulary.

vinc...@yahoo.com

unread,
Oct 30, 2017, 12:11:39 PM10/30/17
to kaldi-developers
Adrian,

Do you have a public repo where you published this ?

Cheers.

Adrian

unread,
Oct 30, 2017, 12:45:25 PM10/30/17
to kaldi-de...@googlegroups.com
Yes: https://github.com/adrianbg/kaldi.js

The code is in a bit of a bad state. Expect history-breaking changes in the near term.
Reply all
Reply to author
Forward
0 new messages