This project includes several components that can be used independently:
pocketsphinx.js - a JavaScript library generated by emscripten which is basically PocketSphinx wrapped to provide a simpler API, and compiled into JavaScript.
recognizer.js - a wrapper around pocketsphinx.js inside a Web Worker to unload the UI thread from downloading and running the large JavaScript file and running the costly speech recognition process.
audioRecorder.js - an audio recording library, based on Recorderjs. It converts the recorded samples to the proper sample rate and passes them to the recognizer.
callbackManager.js - a small utility to interact with Web Workers with calls and callbacks rather than message passing.