This patch adds capability to apply for capture microphone calibration
data (ASCII text lines with Hz, dB values). The calibration data file
name needs to be edited into configuration file mls_rec_config.txt. Such
calibration data is provided by several inexpensive USB measurement
microphones manufacturers.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
In case of getting invalid trace address file descriptor
now moves forward only one dword, not whole struct dma_log
as it was earlier.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Initial _ACTIVE fields are replaced by a single clock control
This change can lead to regressions, it needs to be aligned with the same
change at the kernel level.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch adds two minimal capture topologies to enable doing tests
those require raw audio capture with unmodified S32_LE samples, e.g.
channels order preserve test where the mic # origin can be checked
from side information in LSB bits.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Add direction for widget dai, 0 for playback and 1 for capture.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
In PIPELINE_PCM_ADD, DAI_FORMAT is not set but are used later.
Need to set this value to avoid protenial issues.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch impacts topologies sof-apl-nocodec, sof-apl-da7219, and
sof-glk-da7219 those use the pipe-passthrough-capture macro for DMIC.
The PCM saple rate is limited to 48 kHz (was 8 - 192 kHz). The capture
channels count can be only PIPELINE_CHANNELS (was 1 - PIPELINE_CHANNELS).
This prevents corrupted audio capture that happens when DMIC topology
parameters and capture parameters differ. It happens because DMIC FIFOs
drop samples or add unwanted samples when the configuration does not match.
In sof-apl-nocodec topology the PIPELINE_CHANNELS is set to 2 that
matches the configuration.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
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>