| <?xml version="1.0" encoding="UTF-8"?> |
| <audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0"> |
| <!-- List of effect libraries to load. |
| Each library element must contain a "name" attribute and a "path" attribute giving the |
| name of a library .so file in /vendor/lib/soundfx on the target |
| |
| If offloadable effects are present, the AOSP library libeffectproxy.so must be listed as |
| well as one library for the SW implementation and one library for the DSP implementation: |
| <library name="proxy" path="libeffectproxy.so"/> |
| <library name="some_fx_sw" path="lib_some_fx_sw.so"/> |
| <library name="some_fx_hw" path="lib_some_fx_hw.so"/> |
| |
| If the audio HAL implements support for AOSP software audio pre-processing effects, |
| the following library must be added: |
| <library name="pre_processing" path="libaudiopreprocessing.so"/> |
| --> |
| <libraries> |
| <library name="bundle" path="libbundlewrapper.so"/> |
| <library name="reverb" path="libreverbwrapper.so"/> |
| <library name="visualizer" path="libvisualizer.so"/> |
| <library name="downmix" path="libdownmix.so"/> |
| <library name="loudness_enhancer" path="libldnhncr.so"/> |
| <library name="dynamics_processing" path="libdynproc.so"/> |
| <library name="haptic_generator" path="libhapticgenerator.so"/> |
| </libraries> |
| |
| <!-- list of effects to load. |
| Each "effect" element must contain a "name", "library" and a "uuid" attribute. |
| The value of the "library" element must correspond to the name of one library element in |
| the "libraries" element. |
| The "name" attribute is indicative, only the value of the "uuid" attribute designates |
| the effect. |
| The uuid is the implementation specific UUID as specified by the effect vendor. This is not |
| the generic effect type UUID. |
| |
| Offloadable effects are described by an "effectProxy" element which contains one "libsw" |
| element containing the "uuid" and "library" for the SW implementation and one "libhw" |
| element containing the "uuid" and "library" for the DSP implementation. |
| The "uuid" value for the "effectProxy" element must be unique and will override the default |
| uuid in the AOSP proxy effect implementation. |
| |
| If the audio HAL implements support for AOSP software audio pre-processing effects, |
| the following effects can be added: |
| <effect name="agc" library="pre_processing" uuid="aa8130e0-66fc-11e0-bad0-0002a5d5c51b"/> |
| <effect name="aec" library="pre_processing" uuid="bb392ec0-8d4d-11e0-a896-0002a5d5c51b"/> |
| <effect name="ns" library="pre_processing" uuid="c06c8400-8e06-11e0-9cb6-0002a5d5c51b"/> |
| --> |
| |
| <effects> |
| <effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/> |
| <effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/> |
| <effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/> |
| <effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/> |
| <effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/> |
| <effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/> |
| <effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/> |
| <effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/> |
| <effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/> |
| <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/> |
| <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/> |
| <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/> |
| <effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/> |
| </effects> |
| |
| <!-- Audio pre processor configurations. |
| The pre processor configuration is described in a "preprocess" element and consists in a |
| list of elements each describing pre processor settings for a given use case or "stream". |
| Each stream element has a "type" attribute corresponding to the input source used. |
| Valid types are: |
| "mic", "camcorder", "voice_recognition", "voice_communication" |
| Each "stream" element contains a list of "apply" elements indicating one effect to apply. |
| The effect to apply is designated by its name in the "effects" elements. |
| |
| <preprocess> |
| <stream type="voice_communication"> |
| <apply effect="aec"/> |
| <apply effect="ns"/> |
| </stream> |
| </preprocess> |
| --> |
| |
| <!-- Audio post processor configurations. |
| The post processor configuration is described in a "postprocess" element and consists in a |
| list of elements each describing post processor settings for a given use case or "stream". |
| Each stream element has a "type" attribute corresponding to the stream type used. |
| Valid types are: |
| "music", "ring", "alarm", "notification", "voice_call" |
| Each "stream" element contains a list of "apply" elements indicating one effect to apply. |
| The effect to apply is designated by its name in the "effects" elements. |
| |
| <postprocess> |
| <stream type="music"> |
| <apply effect="music_post_proc"/> |
| </stream> |
| <stream type="voice_call"> |
| <apply effect="voice_post_proc"/> |
| </stream> |
| <stream type="notification"> |
| <apply effect="notification_post_proc"/> |
| </stream> |
| </postprocess> |
| --> |
| |
| <!-- Device pre/post processor configurations. |
| The device pre/post processor configuration is described in a deviceEffects element and |
| consists in a list of elements each describing pre/post proecessor settings for a given |
| device or "devicePort". |
| Each devicePort element has a "type" attribute corresponding to the device type (e.g. |
| speaker, bus), an "address" attribute corresponding to the device address and contains a |
| list of "apply" elements indicating one effect to apply. |
| If the device is a source, only pre processing effects are expected, if the |
| device is a sink, only post processing effects are expected. |
| The effect to apply is designated by its name in the "effects" elements. |
| The effect will be enabled by default and the audio framework will automatically add |
| and activate the effect if the given port is involved in an audio patch. |
| If the patch is "HW", the effect must be HW accelerated. |
| |
| <deviceEffects> |
| <devicePort type="AUDIO_DEVICE_OUT_BUS" address="BUS00_USAGE_MAIN"> |
| <apply effect="equalizer"/> |
| </devicePort> |
| <devicePort type="AUDIO_DEVICE_OUT_BUS" address="BUS04_USAGE_VOICE"> |
| <apply effect="volume"/> |
| </devicePort> |
| <devicePort type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom"> |
| <apply effect="agc"/> |
| </devicePort> |
| </deviceEffects> |
| --> |
| |
| </audio_effects_conf> |