[pulseaudio-discuss] [ANNOUNCE] WebRTC AudioProcessing v0.2 release

Arun Raghavan arun at accosted.net
Wed Apr 27 12:56:39 UTC 2016


Hi folks,
I'm happy to finally announce an update to the webrtc-audio-processing
library. A copy of the updates and git shortlog is at the end.

*Important*: This is an API breaking release, so packagers beware.
PulseAudio versions 8.0 and before should depend on
webrtc-audio-processing 0.1. Upcoming PulseAudio 9.0 release
candidates and later will depend on webrtc-audio-processing 0.2.

I am not aware of any other public software that depends on this
library. Rationale for the API break is at:

  http://arunraghavan.net/2015/10/psa-breaking-webrtc-audio-processing-api/

Release is at:

http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-0.2.tar.xz
MD5: 3af3e71d50b743eacadcf38f6e9db2f8
SHA1: 5e851bd60e4633c2517a7c450afef40044bf67a9

Cheers,
Arun

Changes:

Release 0.2
-----------

Updated AudioProcessing code to be more current.

Contains API breaking changes.

Upstream changes include:

  * Rewritten AGC and voice activity detection
  * Intelligibility enhancer
  * Extended AEC filter
  * Beamformer
  * Transient suppressor
  * ARM, NEON and MIPS optimisations (MIPS optimisations are not hooked up)

API changes:

  * We no longer include a top-level audio_processing.h. The webrtc tree format
    is used, so use webrtc/modules/audio_processing/include/audio_processing.h
  * The top-level module_common_types.h has also been moved to
    webrtc/modules/interface/module_common_types.h
  * C++11 support is now required while compiling client code
  * AudioProcessing::Create() does not take any arguments any more
  * AudioProcessing::Destroy() is gone, use standard C++ "delete" instead
  * Stream parameters are now configured via StreamConfig and ProcessingConfig
    rather than set_sample_rate(), set_num_channels(), etc.
  * AudioFrame field names have changed
  * Use config API for newer audio processing options
  * Use ProcessReverseStream() instead of AnalyzeReverseStream(), particularly
    when using the intelligibility enhancer
  * GainControl::set_analog_level_limits() is broken. The AGC implementation
    hard codes 0-255 as the volume range

Other notes:

  * The new audio processing parameters are not all tested, and a few are not
    enabled upstream (in Chromium) either
  * The rewritten AGC appears to be less sensitive, and it might make sense to
    initialise the capture volume to something reasonable (33% or 50%, for
    example) to make sure there is sufficient energy in the stream to trigger
    the AGC mechanism

--- git shortlog v0.1..v0.2 ----

run Raghavan (32):
      Update common_audio
      Update system_wrappers
      Update audio_processing module
      build: Make build succeed without test and non-audio deps
      build: Some fixes for make distcheck
      Update .gitignore for .dirstamp files
      build: More build fixes and cleanups
      build: Drop old gpyi file
      debug: Update protobuf file
      build: Fix up include file paths
      build: Stop hard-coding OS/platform CFLAGS
      build: Add architecture checks for x86 and ARM
      build: Fix distcheck
      Drop redundant header
      build: Minor whitespace changes
      build: Use CXXFLAGS instead of CFLAGS in compile testing
      system_wrappers: Add missing file for ARM builds
      build: Define ARM arch preprocessor macros
      build: Define assembler flags where required
      build: Conditionally build C variants of assembler-optimised code
      doc: Update README
      doc: Add upstream repo URL to README
      build: Install module_common_types.h and dependencies
      build: Don't install a top level copy of audio_processing.h
      common_audio: Remove extraneous header
      doc: Split out and expand on updating notes
      build: Install trace.h to allow clients access to the Trace API
      build: Dist ancillary documentation
      doc: Add a pro-tip to update instructions
      Update code to current Chromium master
      doc: Add release notes about changes and API breakage
      build: Update library version info


More information about the pulseaudio-discuss mailing list