Commit 884c8905 authored by Paul B Mahol's avatar Paul B Mahol

lavfi: add aecho filter

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 4977e467
...@@ -3,6 +3,8 @@ releases are sorted from youngest to oldest. ...@@ -3,6 +3,8 @@ releases are sorted from youngest to oldest.
version <next> version <next>
- aecho filter
version 2.0: version 2.0:
......
...@@ -347,6 +347,66 @@ aconvert=u8:auto ...@@ -347,6 +347,66 @@ aconvert=u8:auto
@end example @end example
@end itemize @end itemize
@section aecho
Apply echoing to the input audio.
Echoes are reflected sound and can occur naturally amongst mountains
(and sometimes large buildings) when talking or shouting; digital echo
effects emulate this behaviour and are often used to help fill out the
sound of a single instrument or vocal. The time difference between the
original signal and the reflection is the @code{delay}, and the
loudness of the reflected signal is the @code{decay}.
Multiple echoes can have different delays and decays.
A description of the accepted parameters follows.
@table @option
@item in_gain
Set input gain of reflected signal. Default is @code{0.6}.
@item out_gain
Set output gain of reflected signal. Default is @code{0.3}.
@item delays
Set list of time intervals in milliseconds between original signal and reflections
separated by '|'. Allowed range for each @code{delay} is @code{(0 - 90000.0]}.
Default is @code{1000}.
@item decays
Set list of loudnesses of reflected signals separated by '|'.
Allowed range for each @code{decay} is @code{(0 - 1.0]}.
Default is @code{0.5}.
@end table
@subsection Examples
@itemize
@item
Make it sound as if there are twice as many instruments as are actually playing:
@example
aecho=0.8:0.88:60:0.4
@end example
@item
If delay is very short, then it sound like a (metallic) robot playing music:
@example
aecho=0.8:0.88:6:0.4
@end example
@item
A longer delay will sound like an open air concert in the mountains:
@example
aecho=0.8:0.9:1000:0.3
@end example
@item
Same as above but with one more mountain:
@example
aecho=0.8:0.9:1000|1800:0.3|0.25
@end example
@end itemize
@section afade @section afade
Apply fade-in/out effect to input audio. Apply fade-in/out effect to input audio.
......
...@@ -52,6 +52,7 @@ OBJS-$(CONFIG_AVFORMAT) += lavfutils.o ...@@ -52,6 +52,7 @@ OBJS-$(CONFIG_AVFORMAT) += lavfutils.o
OBJS-$(CONFIG_SWSCALE) += lswsutils.o OBJS-$(CONFIG_SWSCALE) += lswsutils.o
OBJS-$(CONFIG_ACONVERT_FILTER) += af_aconvert.o OBJS-$(CONFIG_ACONVERT_FILTER) += af_aconvert.o
OBJS-$(CONFIG_AECHO_FILTER) += af_aecho.o
OBJS-$(CONFIG_AFADE_FILTER) += af_afade.o OBJS-$(CONFIG_AFADE_FILTER) += af_afade.o
OBJS-$(CONFIG_AFORMAT_FILTER) += af_aformat.o OBJS-$(CONFIG_AFORMAT_FILTER) += af_aformat.o
OBJS-$(CONFIG_AINTERLEAVE_FILTER) += f_interleave.o OBJS-$(CONFIG_AINTERLEAVE_FILTER) += f_interleave.o
......
This diff is collapsed.
...@@ -48,6 +48,7 @@ void avfilter_register_all(void) ...@@ -48,6 +48,7 @@ void avfilter_register_all(void)
#if FF_API_ACONVERT_FILTER #if FF_API_ACONVERT_FILTER
REGISTER_FILTER(ACONVERT, aconvert, af); REGISTER_FILTER(ACONVERT, aconvert, af);
#endif #endif
REGISTER_FILTER(AECHO, aecho, af);
REGISTER_FILTER(AFADE, afade, af); REGISTER_FILTER(AFADE, afade, af);
REGISTER_FILTER(AFORMAT, aformat, af); REGISTER_FILTER(AFORMAT, aformat, af);
REGISTER_FILTER(AINTERLEAVE, ainterleave, af); REGISTER_FILTER(AINTERLEAVE, ainterleave, af);
......
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
#include "libavutil/avutil.h" #include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 3 #define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 79 #define LIBAVFILTER_VERSION_MINOR 80
#define LIBAVFILTER_VERSION_MICRO 101 #define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \ LIBAVFILTER_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment