GithubHelp home page GithubHelp logo

ulkursln / libfvad Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dpirch/libfvad

0.0 1.0 0.0 1.1 MB

Voice activity detection (VAD) library, based on WebRTC's VAD engine

License: BSD 3-Clause "New" or "Revised" License

Makefile 2.48% Shell 0.76% M4 8.98% C++ 2.02% C 85.76%

libfvad's Introduction

libfvad: voice activity detection (VAD) library

Build Status

This is a fork of the VAD engine that is part of the WebRTC Native Code package (https://webrtc.org/native-code/), for use as a standalone library independent from the rest of the WebRTC code. There are currently no changes in functionality.

Building and Installing

libfvad uses autoconf/automake. After cloning the git repository, the configure script can be generated using ./bootstrap, afterwards the library can be build and installed with the usual ./configure, make and make install.

An optional example can be enabled enabled by ./configure --enable-examples. This requires libsndfile (http://www.mega-nerd.com/libsndfile/, e.g. apt install libsndfile1-dev).

Tests can be run with make check.

Usage

The API is documented in the include/fvad.h header file.

Origin

This library largely consists of parts of the WebRTC Native Code package, the repository of which can be found at https://chromium.googlesource.com/external/webrtc:

  • Most of webrtc/common_audio/vad/ has been moved to src/vad.
  • Parts of webrtc/common_audio/signal_processing have been moved to src/signal_processing. Parts of this signal processing library not needed by the VAD engine have been removed. Also, some platform-specific assembly code has been removed for now, for easier maintainability.
  • Relevant unit tests have been converted into automake tests and moved to tests.

Merging upstream changes

It is intended that future changes and fixes in the WebRTC Native Code package will also be be merged into libfvad.

To help with this, the libfvad git repository has an upstream-import branch containing the required subset of the WebRTC Native Code package's files, and an upstream-renamed branch which also contains these unmodified files, but moved/renamed to the libfvad directory structure.

The tools/import.sh script is intended to be run in the upstream-import branch and imports changes from a local clone of the WebRTC Native Code package git repository; it reads tools/import-paths which contains the list of files to import, and reads and updates tools/import-commit which contains the most recent imported commit hash of the source repository.

After this import, the changes can be merged first into the upstream-renamed branch and then into the master branch. The intermediate step is necessary because git merge would treat files that were both renamed and heavily changed as new files.

libfvad's People

Contributors

dpirch avatar pkasting avatar niklasenbom avatar pthatcherg avatar tkchin avatar alexanderb14 avatar ouj avatar vladimirtechman avatar afedor avatar agouaillard avatar arlolra avatar ehlemur-zz avatar floppym avatar hekra01 avatar pasko avatar fippo avatar max-potapov avatar maojie avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.