Hi
After a break, I am trying to catch up on the brutefir performance test
in adk.
Unfortunately, with the current revision of adk (2af0538) I get a
segmentation fault when running brutefir in offline mode.
It can be reproduced by building qemu with brutefir and sox and then doing:
cd /etc/
mkdir bftest
cd bftest
sox -t sl -r 44100 -c 2 /dev/zero -r 44100 -c 2 -b 16 pinknoise.wav
synth 1:00 pinknoise vol 0.6
cat > wavtest.conf << "EOF"
# Begin wavtest.conf
# File used for testing brutefir
# Uses dirac pulse als filter.
# Stereo only. Input from file pinknoise.wav. Output to file output.wav.
## DEFAULT GENERAL SETTINGS ##
float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 4096,16; # length of filters
# config_file: "/home/audiovero/.brutefir_config"; # standard location
of main config file
overflow_warnings: true; # echo warnings to stderr if overflow occurs
show_progress: false; # echo filtering progress to stderr
max_dither_table_size: 0; # maximum size in bytes of precalculated dither
allow_poll_mode: false; # allow use of input poll mode
modules_path: "/usr/lib/brutefir"; # extra path where to find BruteFIR
modules
monitor_rate: true; # monitor sample rate
powersave: -80; # pause filtering when input is zero
lock_memory: false; # try to lock memory if realtime prio is set
convolver_config: "brutefir_convolver"; # location of convolver config file
#benchmark: true;
## LOGIC ##
logic: "cli" { port: 3000; };
## COEFFS ##
coeff "dirac" {
filename: "dirac pulse";
format: "FLOAT64_LE";
};
## INPUT, OUTPUT ##
input "fleft", "fright" {
device: "file" { path: "pinknoise.wav"; skip: 44;}; #
ignore_xrun: true; };
sample: "S16_LE";
channels: 2/0,1;
};
output "fr", "fl" {
# device: "alsa" { device: "hw:0";}; # ignore_xrun: true; };
device: "file" { path: "output.wav"; };
sample: "S16_LE";
channels: 2/0,1;
dither: true;
};
## FILTERS ##
filter "frfilter" {
from_inputs: "fright";
to_outputs: "fr";
coeff: "dirac";
};
filter "flfilter" {
from_inputs: "fleft";
to_outputs: "fl";
coeff: "dirac";
};
# End wavtest.conf
EOF
brutefir -nodefault wavtest.conf
which gives:
"Generating random numbers...Segmentation fault"
.config can be found here:
https://mega.nz/#!5wp3QL6T!JtJxHTm8_wR5RGrDsxTSkUT6CuQD-nW3iNxvEDDfva0
uname -a on qemu:
Linux openadk 4.4.50-1 #1 Sun Mar 12 19:58:04 CET 2017 x86_64 GNU/Linux
The same thing happend also on my asus_p5bvm machine on revision 0c6a3bd.
On earlier revisions of adk (see oder e-mails) the rest ran fine.
I don't really see where this might be coming from.
Any ideas or insights are welcome! :-)
Cheers
Oliver
P.S.
The config file was modified slightly to avoid the /data path, so the
the test can be run from anywhere, now.