mirror of
https://github.com/csukuangfj/kaldifeat.git
synced 2025-08-09 01:52:39 +00:00
104 lines
2.8 KiB
ReStructuredText
104 lines
2.8 KiB
ReStructuredText
Introduction
|
|
============
|
|
|
|
`kaldifeat`_ implements
|
|
speech feature extraction algorithms **compatible** with `Kaldi`_ using `PyTorch`_,
|
|
supporting CUDA as well as autograd.
|
|
|
|
`kaldifeat`_ has the following features:
|
|
|
|
- Fully compatible with `Kaldi`_
|
|
|
|
.. note::
|
|
|
|
The underlying C++ code is copied & modified from `Kaldi`_ directly.
|
|
It is rewritten with `PyTorch` C++ APIs.
|
|
|
|
- Provide not only ``C++ APIs`` but also ``Python APIs``
|
|
|
|
.. note::
|
|
|
|
You can access `kaldifeat`_ from ``Python``.
|
|
|
|
- Support autograd
|
|
- Support ``CUDA`` and ``CPU``
|
|
|
|
.. note::
|
|
|
|
You can use CUDA for feature extraction.
|
|
|
|
- Support ``online`` (i.e., ``streaming``) and ``offline`` (i.e., ``non-streaming``)
|
|
feature extraction
|
|
- Support chunk-based processing
|
|
|
|
.. note::
|
|
|
|
This is especially usefull if you want to process audios of several
|
|
hours long, which may cause OOM if you send them for computation at once.
|
|
With chunk-based processing, you can process audios of arbirtray length.
|
|
|
|
- Support batch processing
|
|
|
|
.. note::
|
|
|
|
With `kaldifeat`_ you can extract features for a batch of audios
|
|
|
|
|
|
.. see https://sublime-and-sphinx-guide.readthedocs.io/en/latest/tables.html
|
|
|
|
Currently implemented speech features and their counterparts in `Kaldi`_ are
|
|
listed in the following table.
|
|
|
|
.. list-table:: Supported speech features
|
|
:widths: 50 50
|
|
:header-rows: 1
|
|
|
|
* - Supported speech features
|
|
- Counterpart in `Kaldi`_
|
|
* - `kaldifeat.Fbank`_
|
|
- `compute-fbank-feats`_
|
|
* - `kaldifeat.Mfcc`_
|
|
- `compute-mfcc-feats`_
|
|
* - `kaldifeat.Plp`_
|
|
- `compute-plp-feats`_
|
|
* - `kaldifeat.Spectrogram`_
|
|
- `compute-spectrogram-feats`_
|
|
* - `kaldifeat.OnlineFbank`_
|
|
- `kaldi::OnlineFbank`_
|
|
* - `kaldifeat.OnlineMfcc`_
|
|
- `kaldi::OnlineMfcc`_
|
|
* - `kaldifeat.OnlinePlp`_
|
|
- `kaldi::OnlinePlp`_
|
|
|
|
Each feature computer needs an option. The following table lists the options
|
|
for each computer and the corresponding options in `Kaldi`_.
|
|
|
|
.. hint::
|
|
|
|
Note that we reuse the parameter names from `Kaldi`_.
|
|
|
|
Also, both online feature computers and offline feature computers share the
|
|
same option.
|
|
|
|
.. list-table:: Feature computer options
|
|
:widths: 50 50
|
|
:header-rows: 1
|
|
|
|
* - Options in `kaldifeat`_
|
|
- Corresponding options in `Kaldi`_
|
|
* - `kaldifeat.FbankOptions`_
|
|
- `kaldi::FbankOptions`_
|
|
* - `kaldifeat.MfccOptions`_
|
|
- `kaldi::MfccOptions`_
|
|
* - `kaldifeat.PlpOptions`_
|
|
- `kaldi::PlpOptions`_
|
|
* - `kaldifeat.SpectrogramOptions`_
|
|
- `kaldi::SpectrogramOptions`_
|
|
* - `kaldifeat.FrameExtractionOptions`_
|
|
- `kaldi::FrameExtractionOptions`_
|
|
* - `kaldifeat.MelBanksOptions`_
|
|
- `kaldi::MelBanksOptions`_
|
|
|
|
Read more to learn how to install `kaldifeat`_ and how to use each feature
|
|
computer.
|