NLP layer for correcting speech to text errors

Improve speech based interfaces with text corrections

nlp for speech to text corrections
Buy now ! $5000
Get in touch via email
embedded NLP


ThatNeedle Corrector can compute corrections in text quickly so you can implement near real-time corrections for your app.


The library is lightweight and you can implement automatic corrections in text to fix errors obtained from speech. After implementation, the user of your application will just feel as if nearly correct speech transcription has been done.

Speech compatible

This corrector is well suited for correction of errors seen in popular speech-to-text frameworks, such as DeepSpeech, Wav2Letter.

Programming Language Support

You will get a header file and a .a file (binary static library) that you can use with your C++ program.

Library for Python - You will get a .so file (binary) that you can import in your Python code.

Library for Java - Coming soon !

The programming interface:

The library is rather easy to use. There are 3 functions that you use:

1. init()
This is called once before using the library. Please note you should have registered the lib using the regutil executable and your license key earlier. If the library is not registered it won't work. You will get "unregistered message" and won't see any corrections.

2. compute(s1, s2)

compute takes two arguments, both are strings. the first string is the old text and the 2nd string is the the new text. The function then computes the changes between the two. compute() is capable of picking up complex changes too.i.e. not just one-to-one changes but also, 1:N, N:1, N:M, N:N etc mappings of changes that occurred between the 2 strings.
These are only recorded as corrections if they acutally qualify as speech-to-text corrections. i.e. if some body just has a change of mind and says "happy birthday to you" instead of "good morning Donald", it won't qualify as a correction.
This is a subtelty often missed but we handle it well.

3. correct(s)

correct() function takes one string argument and returns the corrected text (if any). If there are no corrections, the original text will be returned from the function.
correct() takes care of both the manual correction fed through compute() and any automatic corrections that it deems necessary.