Ich versuche mich die letzten Tage, meinen Faltrechner (ein passives Atom-Board mit Delta 1010LT als Soundkarte) mit BruteFIR ans Laufen zu bekommen.
Ziel sei erst einmal die Filterung eines analogen Eingangssignals. Später möchte ich entweder vom Faltrechner abspielen, oder Quelle und Falter digital verbinden.
Im Moment scheitere ich an BruteFIR.
Meine Config:
Code: Alles auswählen
## DEFAULT GENERAL SETTINGS ##
float_bits: 64; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 65536; # length of filters
overflow_warnings: true; # echo warnings to stderr if overflow occurs
show_progress: true; # echo filtering progress to stderr
max_dither_table_size: 0; # maximum size in bytes of precalculated dither
allow_poll_mode: true; # 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: false; # pause filtering when input is zero
lock_memory: true; # try to lock memory if realtime prio is set
convolver_config: "/home/guschdl/.brutefir_convolver"; # location of convolver config file
## LOGIC ##
#logic: "cli" { port: 3000; };
## COEFFS ##
coeff "HTL" {
filename: "/home/guschdl/Acourate/Cor1L48.dbl";
format: "FLOAT64_LE";
};
coeff "HTR" {
filename: "/home/guschdl/Acourate/Cor1R48.dbl";
format: "FLOAT64_LE";
};
coeff "MTL" {
filename: "/home/guschdl/Acourate/Cor1L48.dbl";
format: "FLOAT64_LE";
};
coeff "MTR" {
filename: "/home/guschdl/Acourate/Cor1L48.dbl";
format: "FLOAT64_LE";
};
coeff "TTL" {
filename: "/home/guschdl/Acourate/Cor1L48.dbl";
format: "FLOAT64_LE";
};
coeff "TTR" {
filename: "/home/guschdl/Acourate/Cor1L48.dbl";
format: "FLOAT64_LE";
};
## INPUT S/PDIF
input "d_leftin", "d_rightin" {
device: "alsa" { device: "hw:0"; ignore_xrun: true; };
sample: "S24_4LE";
channels: 12/0,1;
};
## OUTPUT S/PDIF
output "HTL_out", "HTR_out", "MTL_out", "MTR_out", "TTL_out", "TTR_out" {
device: "alsa" { device: "hw:0"; ignore_xrun: true; };
sample: "S24_4LE";
channels: 10/0,1,2,3,4,5;
# delay: 0,0,0,0,0,0;
# dither: true;
};
## FILTERS ##
filter "HTL_filter" {
from_inputs: "d_leftin";
to_outputs: "HTL_out";
# coeff: -1;
coeff: "HTL";
};
filter "HTR_filter" {
from_inputs: "d_rightin";
to_outputs: "HTR_out";
# coeff: -1;
coeff: "HTR";
};
filter "MTL_filter" {
from_inputs: "d_leftin";
to_outputs: "MTL_out";
# coeff: -1;
coeff: "MTL";
};
filter "MTR_filter" {
from_inputs: "d_rightin";
to_outputs: "MTR_out";
# coeff: -1;
coeff: "MTR";
};
filter "TTL_filter" {
from_inputs: "d_leftin";
to_outputs: "TTL_out";
# coeff: -1;
coeff: "TTL";
};
filter "TTR_filter" {
from_inputs: "d_rightin";
to_outputs: "TTR_out";
# coeff: -1;
coeff: "TTR";
};
Brutefir steigt aber nach einiger Zeit mit
Code: Alles auswählen
BruteFIR v1.0f (August 2005) (c) Anders Torger
Internal resolution is 64 bit floating point.
SSE2 capability detected -- optimisation enabled.
Creating 4 FFTW plans of size 8192...finished.
Warning: could not save wisdom:
could not open "/home/audiovero/.brutefir_convolver" for writing: No such file or directory.
Loading 2 coefficient sets...finished.
Realtime priorities are min = 1, usermax = 2, mid = 3 and max = 4.
Estimated CPU clock rate is 1661 MHz. CPU count is 2.
Filters in process 0: 0
Filters in process 1: 1
Input poll mode activated
Realtime priority 3 set for input process (pid 1382)
Realtime priority 4 set for filter process (pid 1384)
Realtime priority 4 set for filter process (pid 1383)
Realtime priority 3 set for output process (pid 1385)
Fixed I/O-delay is 8192 samples
Audio processing starts now
ALSA I/O: underflow! (write on �� )
ALSA I/O: Could not restart audio: File descriptor in bad state.
I/O module failed to write, aborting.
Zum Ersten scheitere ich schon daran, die richtigen Eingangskanäle zu finden - auf die Anzahl 12 kam ich nur durch Ulis Beispielconfig. Zum Zweiten: woher kann ich wissen wie die Kanäle zugeordnet sind? "8,9" sind wohl die digitalen Eingänge, welche brauche ich? Die Delta 1010 hat 10 analoge Eingänge.
Danke schonmal, das war erst der Anfang
Viele Grüße,
Julian
Edit: Fehlermeldung und Config passen hier nicht zusammen, die Fehlermeldung gilt für eine 2-Kanal Lösung mit zu kurzer, eingestellter Filterlänge.