Skip to main content

No project description provided

Project description

Introduction

Kaldi-compatible online fbank feature extractor without external dependencies.

Tested on the following architectures and operating systems:

  • Linux
  • macOS
  • Windows
  • Android
  • x86
  • arm
  • aarch64

Usage

See the following CMake-based speech recognition (i.e., text-to-speech) projects for its usage:

They use kaldi-native-fbank to compute fbank features for real-time speech recognition.

Python APIs

First, please install kaldi-native-fbank by

git clone https://github.com/csukuangfj/kaldi-native-fbank
cd kaldi-native-fbank
python3 setup.py install

or use

pip install kaldi-native-fbank

To check that you have installed kaldi-native-fbank successfully, please use

python3 -c "import kaldi_native_fbank; print(kaldi_native_fbank.__version__)"

which should print the version you have installed.

Please refer to

for usages.

For easier reference, we post the above file below:

#!/usr/bin/env python3

import sys

try:
    import kaldifeat
except:
    print("Please install kaldifeat first")
    sys.exit(0)

import kaldi_native_fbank as knf
import torch


def main():
    sampling_rate = 16000
    samples = torch.randn(16000 * 10)

    opts = kaldifeat.FbankOptions()
    opts.frame_opts.dither = 0
    opts.mel_opts.num_bins = 80
    opts.frame_opts.snip_edges = False
    opts.mel_opts.debug_mel = False

    online_fbank = kaldifeat.OnlineFbank(opts)

    online_fbank.accept_waveform(sampling_rate, samples)

    opts = knf.FbankOptions()
    opts.frame_opts.dither = 0
    opts.mel_opts.num_bins = 80
    opts.frame_opts.snip_edges = False
    opts.mel_opts.debug_mel = False

    fbank = knf.OnlineFbank(opts)
    fbank.accept_waveform(sampling_rate, samples.tolist())

    assert online_fbank.num_frames_ready == fbank.num_frames_ready
    for i in range(fbank.num_frames_ready):
        f1 = online_fbank.get_frame(i)
        f2 = torch.from_numpy(fbank.get_frame(i))
        assert torch.allclose(f1, f2, atol=1e-3), (i, (f1 - f2).abs().max())


if __name__ == "__main__":
    torch.manual_seed(20220825)
    main()
    print("success")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kaldi-native-fbank-1.19.3.tar.gz (68.5 kB view hashes)

Uploaded Source

Built Distributions

kaldi_native_fbank-1.19.3-cp312-cp312-win_amd64.whl (251.9 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

kaldi_native_fbank-1.19.3-cp312-cp312-win32.whl (223.1 kB view hashes)

Uploaded CPython 3.12 Windows x86

kaldi_native_fbank-1.19.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (218.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp311-cp311-win_amd64.whl (250.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

kaldi_native_fbank-1.19.3-cp311-cp311-win32.whl (222.6 kB view hashes)

Uploaded CPython 3.11 Windows x86

kaldi_native_fbank-1.19.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (217.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp310-cp310-win_amd64.whl (251.2 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

kaldi_native_fbank-1.19.3-cp310-cp310-win32.whl (222.4 kB view hashes)

Uploaded CPython 3.10 Windows x86

kaldi_native_fbank-1.19.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (217.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp39-cp39-win_amd64.whl (251.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

kaldi_native_fbank-1.19.3-cp39-cp39-win32.whl (222.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

kaldi_native_fbank-1.19.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (217.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp38-cp38-win_amd64.whl (250.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

kaldi_native_fbank-1.19.3-cp38-cp38-win32.whl (222.2 kB view hashes)

Uploaded CPython 3.8 Windows x86

kaldi_native_fbank-1.19.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (217.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp37-cp37m-win_amd64.whl (251.7 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

kaldi_native_fbank-1.19.3-cp37-cp37m-win32.whl (224.5 kB view hashes)

Uploaded CPython 3.7m Windows x86

kaldi_native_fbank-1.19.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.3 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

kaldi_native_fbank-1.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (222.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

kaldi_native_fbank-1.19.3-cp36-cp36m-win32.whl (224.5 kB view hashes)

Uploaded CPython 3.6m Windows x86

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page