This patch adds topology sof-apl-eq-dmic to help testing acoustical
audio capture via DMIC or work as example for other machine drivers. The
capture format is set as four channels, S32_LE, 48 kHz. The IIR EQ is
a 2nd order Butterworth high-pass with cut-off frequency at 50 Hz to
suppress non-audible lowest frequencies. The EQ provides additional
+20 dB gain to avoid the recording to sound too silent.
The IIR EQ or additional FIR EQ instance can when needed provide other
form factor specific equalization.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds into SOFT/tune/eq a script mls_freq_resp.m that can
be used as low budget or quick developer tool to measure device frequency
response. The configuration files mls_play_config.txt and
mls_rec_config.txt configure the audio devices for local or remote
ssh aplay/arecord execution.
The MLS measurement with a short time window, e.g. less than 10 ms can
partially achieve the same as anechoic measurement. However this
is not intended to replace usage any professional audio measurement. If
using this use with care!
Note also that as such this script measures the response of a
speaker - microphone system. One response need to be known and
under calibration to get reliable results for other. Even ADC and DAC
responses may impact.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Integrate both tools to provide common CLI.
Also provide better logging format for logger tool.
Signed-off-by: ArturX Kloniecki arturx.kloniecki@linux.intel.com
This patch updates the export format to currently used format in
topology. It adds also possibility to pass text comment into line
above the bytes from EQ design script. The date is appended
automatically after comment.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds a simple control tool to setup during runtime (idle)
the IIR or FIR equalizer with new coefficients configuration. It is
useful in tuning of the equalizers. The tool also has capability to read
the EQ configuration from DSP.
Run "sof-eqctl -h" to see usage. The directory SOFT/tune/eq contains tool
to create EQ setup data.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Adding type string to widget data allows the driver to identify
different effects. As an example use this in the equalizer.
Also modify equalizer to pass default parameters in control's
private data.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This patch adds EQ, bytecontrol, and EQ+volume pipeline m4 macros and an
enhanced topology with EQ for UP2 + HiFiberry. There is not yet FIR/IIR
type select. The EQ type is currently hardcoded into kernel.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Do not use a static defined number of channels, use the channels passed
in otherwise ASoC will try to allocate number of channels that should
not be allowed.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
This patch adds removing of extra zeros in the FIR coefficients. The
zeros can happen in some responses due to fixed point quantization of
very small values. The zero taps consume DSP resources for nothing so
better to clean them out for EQ configuration data.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds export function for the m4 syntax bytes data and adds
the export of such blob to example designs. The example EQ designs are
edited to make this format export too.
In addition the example FIR length is adjusted to be near current IPC
length maximum (384) and improve the effect quality.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Define 3 new PCMs and backends for HDMI/DP playback on GLK platform.
Here are the updated pipelines in sof-glk-da7219.m4:
PCM0 ----> volume (pipe 1) ---> SSP1 (speaker - maxim98357a, BE link 0)
PCM1 <---> volume (pipe 2,3) <--> SSP2 (headset - da7219, BE link 1)
PCM99 <---- volume (pipe 4) <--- DMIC0 (dmic capture, BE link 2)
PCM5 ----> volume (pipe 5) ---> iDisp1 (HDMI/DP playback, BE link 3)
PCM6 ----> Volume (pipe 6) ---> iDisp2 (HDMI/DP playback, BE link 4)
PCM7 ----> volume (pipe 7) ---> iDisp3 (HDMI/DP playback, BE link 5)
There is also support for changing HDMI/DP pipelines to pass-through for
validation purpose, which is commented off by default.
Pleaes note that 3 virtual widgets hifi1~3 are removed, because they'll
be created by HDMI codec driver. This m4 was verified on GLK platform.