This patch adds explicit conversion to signed int32 type for response to
channels indices in assign_response and filter coefficients. The bug was
visible if trying to activate in IIR blob the per channel filter bypass
by having a negative value (-1) in any of channel assigns. Octave assumed
the type to be unsigned and produced wrong configuration bytes.
The filter coefficients are already integer type from previous
quantization code in the conversion process. However it does not hurt to
have extra safety to avoid similar issue as assign.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Previously we used to have tests scattered around, so let's put
them under one directory to make things more clear.
Now under top level test directory we have directories:
audio - objective audio quality tests
used to be under test/
qa - qa tests run by the CI
new test component in soft repo
topology - topology test file generation
used to be under topology/tests
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
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>