[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