mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
398f7059fc
This DSP library can be used to enhance voice signal for real time communication call. In implements multiple filters like noise reduction, high pass filter, echo cancellation, automatic gain control, etc. The webrtcdsp element can be used along, or with the help of the webrtcechoprobe if echo cancellation is enabled. The echo probe should be placed as close as possible to the audio sink, while the DSP is generally place close to the audio capture. For local testing, one can use an echo loop pipeline like the following: autoaudiosrc ! webrtcdsp ! webrtcechoprobe ! autoaudiosink This pipeline should produce a single echo rather then repeated echo. Those elements works if they are placed in the same top level pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=767800
562 lines
5.7 KiB
Makefile
562 lines
5.7 KiB
Makefile
if USE_ASSRENDER
|
|
ASSRENDER_DIR = assrender
|
|
else
|
|
ASSRENDER_DIR =
|
|
endif
|
|
|
|
if USE_VOAMRWBENC
|
|
VOAMRWBENC_DIR = voamrwbenc
|
|
else
|
|
VOAMRWBENC_DIR =
|
|
endif
|
|
|
|
if USE_APEXSINK
|
|
APEXSINK_DIR = apexsink
|
|
else
|
|
APEXSINK_DIR =
|
|
endif
|
|
|
|
if USE_BS2B
|
|
BS2B_DIR=bs2b
|
|
else
|
|
BS2B_DIR=
|
|
endif
|
|
|
|
if USE_BZ2
|
|
BZ2_DIR=bz2
|
|
else
|
|
BZ2_DIR=
|
|
endif
|
|
|
|
if USE_CHROMAPRINT
|
|
CHROMAPRINT_DIR=chromaprint
|
|
else
|
|
CHROMAPRINT_DIR=
|
|
endif
|
|
|
|
if USE_CURL
|
|
CURL_DIR=curl
|
|
else
|
|
CURL_DIR=
|
|
endif
|
|
|
|
if USE_DASH
|
|
DASH_DIR=dash
|
|
else
|
|
DASH_DIR=
|
|
endif
|
|
|
|
if USE_DC1394
|
|
DC1394_DIR=dc1394
|
|
else
|
|
DC1394_DIR=
|
|
endif
|
|
|
|
if USE_DIRECTFB
|
|
DIRECTFB_DIR=directfb
|
|
else
|
|
DIRECTFB_DIR=
|
|
endif
|
|
|
|
if USE_WAYLAND
|
|
WAYLAND_DIR=wayland
|
|
else
|
|
WAYLAND_DIR=
|
|
endif
|
|
|
|
if USE_DAALA
|
|
DAALA_DIR=daala
|
|
else
|
|
DAALA_DIR=
|
|
endif
|
|
|
|
if USE_DTS
|
|
DTS_DIR=dts
|
|
else
|
|
DTS_DIR=
|
|
endif
|
|
|
|
if USE_GL
|
|
GL_DIR=gl
|
|
else
|
|
GL_DIR=
|
|
endif
|
|
|
|
if USE_GTK3
|
|
GTK3_DIR=gtk
|
|
else
|
|
GTK3_DIR=
|
|
endif
|
|
|
|
if USE_QT
|
|
QT_DIR=qt
|
|
else
|
|
QT_DIR=
|
|
endif
|
|
|
|
if USE_RESINDVD
|
|
RESINDVD_DIR = resindvd
|
|
else
|
|
RESINDVD_DIR =
|
|
endif
|
|
|
|
if USE_FAAC
|
|
FAAC_DIR=faac
|
|
else
|
|
FAAC_DIR=
|
|
endif
|
|
|
|
if USE_FAAD
|
|
FAAD_DIR=faad
|
|
else
|
|
FAAD_DIR=
|
|
endif
|
|
|
|
if USE_VOAACENC
|
|
VOAACENC_DIR=voaacenc
|
|
else
|
|
VOAACENC_DIR=
|
|
endif
|
|
|
|
if USE_FLITE
|
|
FLITE_DIR=flite
|
|
else
|
|
FLITE_DIR=
|
|
endif
|
|
|
|
#if USE_G729
|
|
#G729_DIR=g729
|
|
#else
|
|
G729_DIR=
|
|
#endif
|
|
|
|
if USE_GSM
|
|
GSM_DIR=gsm
|
|
else
|
|
GSM_DIR=
|
|
endif
|
|
|
|
if USE_KATE
|
|
KATE_DIR=kate
|
|
else
|
|
KATE_DIR=
|
|
endif
|
|
|
|
if USE_LADSPA
|
|
LADSPA_DIR = ladspa
|
|
else
|
|
LADSPA_DIR =
|
|
endif
|
|
|
|
if USE_LV2
|
|
LV2_DIR = lv2
|
|
else
|
|
LV2_DIR =
|
|
endif
|
|
|
|
if USE_LIBDE265
|
|
LIBDE265_DIR = libde265
|
|
else
|
|
LIBDE265_DIR =
|
|
endif
|
|
|
|
if USE_LIBMMS
|
|
LIBMMS_DIR=libmms
|
|
else
|
|
LIBMMS_DIR=
|
|
endif
|
|
|
|
if USE_LIBVISUAL
|
|
LIBVISUAL_DIR=libvisual
|
|
else
|
|
LIBVISUAL_DIR=
|
|
endif
|
|
|
|
if USE_MODPLUG
|
|
MODPLUG_DIR=modplug
|
|
else
|
|
MODPLUG_DIR=
|
|
endif
|
|
|
|
if USE_MPEG2ENC
|
|
MPEG2ENC_DIR=mpeg2enc
|
|
else
|
|
MPEG2ENC_DIR=
|
|
endif
|
|
|
|
if USE_MIMIC
|
|
MIMIC_DIR=mimic
|
|
else
|
|
MIMIC_DIR=
|
|
endif
|
|
|
|
if USE_MPLEX
|
|
MPLEX_DIR=mplex
|
|
else
|
|
MPLEX_DIR=
|
|
endif
|
|
|
|
if USE_MUSEPACK
|
|
MUSEPACK_DIR=musepack
|
|
else
|
|
MUSEPACK_DIR=
|
|
endif
|
|
|
|
if USE_NAS
|
|
NAS_DIR=nas
|
|
else
|
|
NAS_DIR=
|
|
endif
|
|
|
|
if USE_NEON
|
|
NEON_DIR=neon
|
|
else
|
|
NEON_DIR=
|
|
endif
|
|
|
|
if USE_OFA
|
|
OFA_DIR=ofa
|
|
else
|
|
OFA_DIR=
|
|
endif
|
|
|
|
if USE_OPENAL
|
|
OPENAL_DIR=openal
|
|
else
|
|
OPENAL_DIR=
|
|
endif
|
|
|
|
if USE_OPENCV
|
|
OPENCV_DIR=opencv
|
|
else
|
|
OPENCV_DIR=
|
|
endif
|
|
|
|
if USE_OPENEXR
|
|
OPENEXR_DIR = openexr
|
|
else
|
|
OPENEXR_DIR =
|
|
endif
|
|
|
|
if USE_OPENH264
|
|
OPENH264_DIR = openh264
|
|
else
|
|
OPENH264_DIR =
|
|
endif
|
|
|
|
if USE_OPENNI2
|
|
OPENNI2_DIR=openni2
|
|
else
|
|
OPENNI2_DIR=
|
|
endif
|
|
|
|
if USE_OPENJPEG
|
|
OPENJPEG_DIR = openjpeg
|
|
else
|
|
OPENJPEG_DIR =
|
|
endif
|
|
|
|
if USE_OPUS
|
|
OPUS_DIR=opus
|
|
else
|
|
OPUS_DIR=
|
|
endif
|
|
|
|
if USE_RSVG
|
|
RSVG_DIR=rsvg
|
|
else
|
|
RSVG_DIR=
|
|
endif
|
|
|
|
if USE_TIMIDITY
|
|
TIMIDITY_DIR=timidity
|
|
endif
|
|
|
|
if USE_WILDMIDI
|
|
TIMIDITY_DIR=timidity
|
|
endif
|
|
|
|
if !USE_WILDMIDI
|
|
if !USE_TIMIDITY
|
|
TIMIDITY_DIR=
|
|
endif
|
|
endif
|
|
|
|
if USE_FLUIDSYNTH
|
|
FLUIDSYNTH_DIR=fluidsynth
|
|
endif
|
|
|
|
if USE_SBC
|
|
SBC_DIR=sbc
|
|
else
|
|
SBC_DIR=
|
|
endif
|
|
|
|
if USE_SCHRO
|
|
SCHRO_DIR=schroedinger
|
|
else
|
|
SCHRO_DIR=
|
|
endif
|
|
|
|
if USE_SDL
|
|
SDL_DIR=sdl
|
|
else
|
|
SDL_DIR=
|
|
endif
|
|
|
|
if USE_SMOOTHSTREAMING
|
|
SMOOTHSTREAMING_DIR = smoothstreaming
|
|
else
|
|
SMOOTHSTREAMING_DIR =
|
|
endif
|
|
|
|
# if USE_SMOOTHWAVE
|
|
# SMOOTHWAVE_DIR=smoothwave
|
|
# else
|
|
SMOOTHWAVE_DIR=
|
|
# endif
|
|
|
|
if USE_SNDFILE
|
|
SNDFILE_DIR=sndfile
|
|
else
|
|
SNDFILE_DIR=
|
|
endif
|
|
|
|
if USE_SNDIO
|
|
SNDIO_DIR = sndio
|
|
else
|
|
SNDIO_DIR =
|
|
endif
|
|
|
|
if USE_SOUNDTOUCH
|
|
SOUNDTOUCH_DIR=soundtouch
|
|
else
|
|
SOUNDTOUCH_DIR=
|
|
endif
|
|
|
|
if USE_SPANDSP
|
|
SPANDSP_DIR = spandsp
|
|
else
|
|
SPANDSP_DIR =
|
|
endif
|
|
|
|
if USE_SPC
|
|
SPC_DIR=spc
|
|
else
|
|
SPC_DIR=
|
|
endif
|
|
|
|
if USE_SRTP
|
|
SRTP_DIR=srtp
|
|
else
|
|
SRTP_DIR=
|
|
endif
|
|
|
|
if USE_GME
|
|
GME_DIR=gme
|
|
else
|
|
GME_DIR=
|
|
endif
|
|
|
|
if USE_TELETEXTDEC
|
|
TELETEXTDEC_DIR=teletextdec
|
|
else
|
|
TELETEXTDEC_DIR=
|
|
endif
|
|
|
|
if USE_XVID
|
|
XVID_DIR=xvid
|
|
else
|
|
XVID_DIR=
|
|
endif
|
|
|
|
if USE_ZBAR
|
|
ZBAR_DIR=zbar
|
|
else
|
|
ZBAR_DIR=
|
|
endif
|
|
|
|
if USE_RTMP
|
|
RTMP_DIR = rtmp
|
|
else
|
|
RTMP_DIR =
|
|
endif
|
|
|
|
if USE_HLS
|
|
HLS_DIR = hls
|
|
else
|
|
HLS_DIR =
|
|
endif
|
|
|
|
if USE_WEBP
|
|
WEBP_DIR=webp
|
|
else
|
|
WEBP_DIR=
|
|
endif
|
|
|
|
if USE_X265
|
|
X265_DIR=x265
|
|
else
|
|
X265_DIR=
|
|
endif
|
|
|
|
if USE_DTLS
|
|
DTLS_DIR=dtls
|
|
else
|
|
DTLS_DIR=
|
|
endif
|
|
|
|
if USE_VULKAN
|
|
VULKAN_DIR=vulkan
|
|
else
|
|
VULKAN_DIR=
|
|
endif
|
|
|
|
if USE_WEBRTCDSP
|
|
WEBRTCDSP_DIR=webrtcdsp
|
|
else
|
|
WEBRTCDSP_DIR=
|
|
endif
|
|
|
|
SUBDIRS=\
|
|
$(VOAACENC_DIR) \
|
|
$(ASSRENDER_DIR) \
|
|
$(VOAMRWBENC_DIR) \
|
|
$(APEXSINK_DIR) \
|
|
$(AUDIOFILE_DIR) \
|
|
$(BS2B_DIR) \
|
|
$(BZ2_DIR) \
|
|
$(CHROMAPRINT_DIR) \
|
|
$(CURL_DIR) \
|
|
$(DASH_DIR) \
|
|
$(DC1394_DIR) \
|
|
$(DIRECTFB_DIR) \
|
|
$(WAYLAND_DIR) \
|
|
$(DAALA_DIR) \
|
|
$(DTS_DIR) \
|
|
$(RESINDVD_DIR) \
|
|
$(GL_DIR) \
|
|
$(GTK3_DIR) \
|
|
$(QT_DIR) \
|
|
$(FAAC_DIR) \
|
|
$(FAAD_DIR) \
|
|
$(FLITE_DIR) \
|
|
$(FLUIDSYNTH_DIR) \
|
|
$(GSM_DIR) \
|
|
$(G729_DIR) \
|
|
$(KATE_DIR) \
|
|
$(LADSPA_DIR) \
|
|
$(LV2_DIR) \
|
|
$(LIBDE265_DIR) \
|
|
$(LIBMMS_DIR) \
|
|
$(LIBVISUAL_DIR) \
|
|
$(MODPLUG_DIR) \
|
|
$(MPEG2ENC_DIR) \
|
|
$(MIMIC_DIR) \
|
|
$(MPLEX_DIR) \
|
|
$(MUSEPACK_DIR) \
|
|
$(NAS_DIR) \
|
|
$(NEON_DIR) \
|
|
$(OFA_DIR) \
|
|
$(OPENAL_DIR) \
|
|
$(OPENCV_DIR) \
|
|
$(OPENEXR_DIR) \
|
|
$(OPENH264_DIR) \
|
|
$(OPENJPEG_DIR) \
|
|
$(OPENNI2_DIR) \
|
|
$(OPUS_DIR) \
|
|
$(RSVG_DIR) \
|
|
$(SBC_DIR) \
|
|
$(SCHRO_DIR) \
|
|
$(SDL_DIR) \
|
|
$(SMOOTHSTREAMING_DIR) \
|
|
$(SMOOTHWAVE_DIR) \
|
|
$(SNDFILE_DIR) \
|
|
$(SNDIO_DIR) \
|
|
$(SOUNDTOUCH_DIR) \
|
|
$(SPANDSP_DIR) \
|
|
$(GME_DIR) \
|
|
$(SPC_DIR) \
|
|
$(SRTP_DIR) \
|
|
$(TELETEXTDEC_DIR) \
|
|
$(TIMIDITY_DIR) \
|
|
$(XVID_DIR) \
|
|
$(ZBAR_DIR) \
|
|
$(RTMP_DIR) \
|
|
$(HLS_DIR) \
|
|
$(WEBP_DIR) \
|
|
$(X265_DIR) \
|
|
$(DTLS_DIR) \
|
|
$(VULKAN_DIR) \
|
|
$(WEBRTCDSP_DIR)
|
|
|
|
DIST_SUBDIRS = \
|
|
assrender \
|
|
apexsink \
|
|
bs2b \
|
|
bz2 \
|
|
chromaprint \
|
|
curl \
|
|
dash \
|
|
dc1394 \
|
|
directfb \
|
|
wayland \
|
|
faac \
|
|
faad \
|
|
flite \
|
|
fluidsynth \
|
|
gsm \
|
|
hls \
|
|
ladspa \
|
|
kate \
|
|
libde265 \
|
|
libmms \
|
|
libvisual \
|
|
lv2 \
|
|
daala \
|
|
dts \
|
|
gl \
|
|
gtk \
|
|
qt \
|
|
modplug \
|
|
mimic \
|
|
mpeg2enc \
|
|
mplex \
|
|
musepack \
|
|
nas \
|
|
neon \
|
|
ofa \
|
|
openal \
|
|
opencv \
|
|
openexr \
|
|
openh264 \
|
|
openni2 \
|
|
openjpeg \
|
|
opus \
|
|
rsvg \
|
|
resindvd \
|
|
sbc \
|
|
schroedinger \
|
|
sdl \
|
|
smoothstreaming \
|
|
sndfile \
|
|
sndio \
|
|
soundtouch \
|
|
spandsp \
|
|
spc \
|
|
srtp \
|
|
gme \
|
|
teletextdec \
|
|
timidity \
|
|
voaacenc \
|
|
voamrwbenc \
|
|
xvid \
|
|
zbar \
|
|
rtmp \
|
|
webp \
|
|
x265 \
|
|
dtls \
|
|
vulkan \
|
|
webrtcdsp
|
|
|
|
include $(top_srcdir)/common/parallel-subdirs.mak
|