pykaldi | A Python wrapper for Kaldi | Speech library
kandi X-RAY | pykaldi Summary
kandi X-RAY | pykaldi Summary
PyKaldi is a Python scripting layer for the Kaldi speech recognition toolkit. It provides easy-to-use, low-overhead, first-class Python wrappers for the C++ code in Kaldi and OpenFst libraries. You can use PyKaldi to write Python code for things that would otherwise require writing C++ code such as calling low-level Kaldi functions, manipulating Kaldi and OpenFst objects in code or implementing new Kaldi tools. You can think of Kaldi as a large box of legos that you can mix and match to build custom speech recognition solutions. The best way to think of PyKaldi is as a supplement, a sidekick if you will, to Kaldi. In fact, PyKaldi is at its best when it is used alongside Kaldi. To that end, replicating the functionality of myriad command-line tools, utility scripts and shell-level recipes provided by Kaldi is a non-goal for the PyKaldi project.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Extract segments from a WAV file
- Open an input file
- Fast decoding function
- Read a FST format file
- Read from stream
- Return the type of the object
- Generates a SAD graph
- Compile the grammar
- Compute the VAD
- Apply ARMA to a matrix
- Determine the python library
- Compute MFCC features from wav specification
- Aligns the input text
- Run CMAKE
- Get the partial output
- Segment a single frame
- Determines iffst
- Compute CMVN stats for two channels
- Determinize the lattice of a given fst
- Create a TransitionModel from the given files
- Creates a field for a field
- Calculate shortest shortest path
- Svd decomposition
- Element - wise eigenvalue operator
- Eigenvectors of the matrix
- Read a TransitionModel from files
pykaldi Key Features
pykaldi Examples and Code Snippets
Community Discussions
Trending Discussions on pykaldi
QUESTION
I am dealing with a speech recognition task. So far, I have been using the Google Cloud Speech Recognition API (in Python) with good results. The API returns a confidence value along with every chunk of the transcribed text. The confidence is a number between 0 and 1 as stated in the docs, but I did not find any deeper explanation of how Google's API derives this number, so I assume it somehow comes from the Neural Network that does the recognition.
The next step I want to take is to make my own (offline) automatic speech recognition program, and I found that pyKaldi should be fine up to the task. I did not start programming it yet, but I want to know beforehand (for research purposes) - can Kaldi return some similar value of confidence, as does the Google Speech-to-Text API? And what really is this "confidence", and how is it computed?
...ANSWER
Answered 2019-Oct-23 at 11:28Yes, pyKaldi supports confidence values (word confidence score), calculated with minimum bayes risk (MBR). You will find all the necessary information in the documentation. Here is the link to the description of the module:
https://pykaldi.github.io/api/kaldi.lat.html?highlight=mbr#module-kaldi.lat.sausages
As the name says, it is a confidence value, but it is not expressing how "probable" it is that the resulting text output for a word, derived (or given, in a probabilistic setting) from a sequence of audio chunks is correct. In my opinion the expressivity or meaningfulness is a bit fuzzy and depending on the quality of the model and the training data (noise, reverb etc.). It is meaningful in comparing alternatives, telling you the one with the higher value is more likely to be the correct one. This in turn poses the problem of which distance to call a significant difference. A single confidence value does not tell you anything, nor can you compare two different recognizer models only on the basis of their confidence values. Microsoft terms it "Instead, confidence scores provide a mechanism for comparing the relative accuracy of multiple recognition alternates for a given input. This facilitates returning the most accurate recognition result."
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pykaldi
Kaldi Docs: Read these to learn more about Kaldi.
PyKaldi Docs: Consult these to learn more about the PyKaldi API.
PyKaldi Examples: Check these out to see PyKaldi in action.
PyKaldi Paper: Read this to learn more about the design of PyKaldi.
If you are using a relatively recent Linux or macOS, such as Ubuntu >= 16.04, CentOS >= 7 or macOS >= 10.13, you should be able to install PyKaldi without too much trouble. Otherwise, you will likely need to tweak the installation scripts.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page