Commit Graph

20 Commits

Author SHA1 Message Date
Seppo Ingalsuo 6a3b2a9f46 Tune: Fix help text for SRC generator
This patch corrects the shown parameters orders for help text
and updates the copyright text style.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2020-01-29 14:30:53 +00:00
Seppo Ingalsuo 6f99d71d58 Tune: SRC: Fix rate exclusion in generator script
This patch fixes a mistake that forces generation of rate into
fs_inout matrix diagonal. The purpose of this test is to enable
SRC to pass equal input and output rate, so in case not equal
input and output rates the generator would not disable such
conversion if requested.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2020-01-29 14:30:53 +00:00
Seppo Ingalsuo e0a9afe6a7 Topology: Apply high-pass for HDA capture streams
This patch replaces in topology sof-hda-generic.m4 the use of macro
pipe-volume-capture.m4 usage with a new macro pipe-highpass-capture.m4.
The used 40 Hz cut-off is sufficient to suppress the DC pulse in the
beginning of capture from headset with minimal impact to other
applications such as recording music.

The capture volume ramp length is changed from 250 ms to 400 ms. The
longer ramp is feasible because the microphone path seems to open
at 500 ms from capture. It helps to attenuate the remaining noises
in the beginning of capture.

The patch also adds additional high-pass responses macros for
topology with different 20-50 Hz cut-off frequencies into
SOF/tools/topology/m4.

The changes for Matlab/Octave script example_iir_eq.m that
generated the filter coefficients are included here as well.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2020-01-16 19:48:33 +00:00
Seppo Ingalsuo f7b9e6270f Tools: EQ: Make a light FIR configuration to test with GCC build
The Xtensa GCC build on APL platform can process about 40 taps
FIR filter so it is useful to have one such configuration. The
eq_fir_mid.txt is be applied with sof-ctl tool.

The patch contains the Octave script modification. The print of final
filter length is added to blob packer script to see the resulting
length when the filter is generated. The small filter spec change
helps the filter tool to achieve result that is close to requested
shape.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-12-20 13:47:18 +00:00
Curtis Malainey c1be04e64c EQ: GUI: Remove globals
Globals should not exist if they don't have to, they are limiting to
extensibility

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey 64f60cdad3 EQ: GUI: Add remote deployment
Add function to deploy eq automatically to dut at runtime

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey 33048b7f72 EQ: GUI: Load dsp.ini from ChromeOS
Add function that parses dsp.ini files into the GUI format and then into
SOF format.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey 50e27a10b0 EQ: GUI: Add external control window
Add window for controlling loading and deployment

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey fe2d9c197f EQ: Handle edge case in peaking filter
Handle div by 0 case for gui

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey 30bbfb49bb EQ: Add chromium signal processing elements
Add modules for signal processing of biquad filters needed for chromium

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Curtis Malainey 65c6da750a EQ: Add gui for IIR filters
Recreate gui for audio-tuning.appspot.com using SOF config. For IIR
filters only currently. Once DRC is ported then GUI can be ported as
well.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-12-19 20:44:35 +00:00
Seppo Ingalsuo 92ec08dad5 Tools: Tune: Fix file paths for example FIR script
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-09-13 10:25:58 +01:00
Seppo Ingalsuo fa2f3a51ad Tools: Tune: Get SOF ABI header for EQs with sof-ctl
This patch avoids the need to main SOF ABI version information in
Matlab/Octave file eq_get_abi.m for equalizer tools. The ABI
header is fetched via new "-p" command line option for sof-ctl.

The BSD 3 clause copyright text is also updated to new short style.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-09-13 10:25:58 +01:00
Seppo Ingalsuo 92b23fa856 Tools: EQ: Don't force upper case EQ response name
The existing IIR response names are not all upper case. This patch
removes the conversion to upper case to be able to automatically
generate the topology m4 syntax example equalizers.

Without this patch run of example_iir_eq.m script causes successive
topologies build to fail.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-09-08 13:19:48 +01:00
Seppo Ingalsuo c55aed4793 Tune: Update file path for demo EQ responses
This patch fixes the wrong file path to output example EQs and places
an identifier string to high-pass responses used in topology embedded
filter setup. The identifier is needed to correctly refer in topology
to right response when there are several similar type EQs in the
topology e.g. two separate IIR filters.

A new 16 kHz rate high-pass filter export is added into the script to
be used in voice pipelines.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-08-19 09:47:04 +02:00
Seppo Ingalsuo ee5c247c57 SRC: Add attenuation of -1 dB into processing to avoid saturation
This patch replaces all the filter coefficients to avoid the
unpleasant effect of samples saturation that the previous 0 dB max.
gain scaled coefficients could cause. The saturation of transients
may still happen but it should be more rare.

The filter coefficients scaling is changed from fixed pass band peak
align (to 0 dB) into DC gain controllable via new parameter gain in
src_param.m.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-03-04 15:08:06 +00:00
Seppo Ingalsuo dd8cfda311 EQ: Update ABI version number in configuration to match current version
This patch updates the provided example responses as data for
sof-eqctl and in the include files for topologies. The updates into
Matlab scripts are included also. The FIR and IIR example script is
updated to contain all examples.

The patch includes also a bug fix into IPC handler where the check
against SOF_IPC_MSG_MAX_SIZE is off by one and caused it to reject
all set data commands (to the EQs).

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-12-19 10:28:25 +00:00
Seppo Ingalsuo 0526077c87 Tools: Update SRC tool for 50 kHz modes, SRC testbench, add topology
This patch adds 50 kHz into SRC generator script for std and tiny
profiles. The src generator script is cleaned up and the default
conversion matrix is moved into caller script for easier maintenance.
The plots appearance is improved and the generated coefficients code
look is improved to pass the git pre- and post-commit script
requirements.

The SRC test bench scripts are updated for changed locations. A SRC
playback topology is used for test bench and real device usage.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-12-18 11:29:32 +00:00
Seppo Ingalsuo cc6c76f1de Tools: Tune: Update EQ tools for new user ABI plus other cleanup
This patch adds into filter tools retrieving of ABI version from a
single function (a quick solution) and updates all configuration
data tools to apply the user ABI header.

The confusing platform_max_channels struct field is renamed to
channels_in_config (the EQ channel map) that creates many updates. The
EQ response plot title is fixed.

Finally new functions to decode IIR and FIR settings blobs is added.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-11-30 17:19:59 +02:00
Curtis Malainey 5b5888ce07 Move SOFT into sub folder for SOF merge
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2018-11-24 23:27:24 -08:00