Hallo Julian,
ich hab mal den Thread überflogen und weiß nicht ganz genau was Du machen möchtest.
Aus der brutefir_config errate ich folgendes:
3 Wege Stereo, ohne Einzelentzerrung. Richtig?
Ich hab mir deine beiden Configs mal angeschaut.
Die erste hat 3 Wege und 6 Ausgänge, die 2. nur 4 Ausgänge?
Den Fehler mit den 48kHz Files hast du in der 2. schon geändert; Du benutzt aber 5 mal das File XO1L44.dbl, welches vermutlich für den linken Kanal gedacht ist, und nur einmal XO1R44.dbl (für den rechten Hochtöner). Ist das so von Dir beabsichtigt?
Du hast überhaupt keine Weiche; auf dem Hochtöner kommt das gleiche Signal wie auf dem Tieftöner an.... Ich glaube das muss XO1R44.dbl, XO2R44.dbl und XO3R44.dbl heißen für die rechten Kanäle.....
Warum Brutefir bei Dir nicht stabil durchläuft kann ich nicht sagen, ich schlage aber folgende Änderungen vor:
ZU den "DEFAULT GENERAL SETTINGS"
Grundsätzlich:
Der Atom Prozessor ist auch in der Dual Core Version nicht so doll der Rechenkünstler.
Was hast du den momentan installiert? Das Spb Linux, ein vollständiges oder ein angepasstes Ubuntu?
Je nachdem was Du am laufen hast (evtl. grafische Oberfläche) kann es mit den 64 bit Files ziemlich eng werden. (siehe auch in der Brutefir Beschreibung:
Depending on processor used, you may lose assembler optimisations when running in 64 bit. Also, memory bandwidth used by BruteFIR will naturally double, which reduces performance. Thus, although 64 bit and 32 bit operations are generally equally fast, due to increased memory usage, BruteFIR needs 30 - 50% extra processor time, not counting additional effects if assembler optimisations are lost.)
Auf kurz: 64 bit ist nicht so der Burner für Brutefir.
Daher zunächst float_bits: 32; ausprobieren.
Filterlängen partitionieren:
Daher filter_length: 4096,16; oder 8192,8; probieren.
Auch allow_poll_mode: true; kann zu Problemen führen. Wenn die Soundkarte das braucht meldet sich Brutefir bei dir!
Daher:
allow_poll_mode: false;
Was auch nicht so gut sein muss; lock_memory.
Die Brutefir Beschreibung hierzu:
Warning: there seems to be a bug in the Linux kernel which makes the shared memory to be locked one time for each process, meaning that when lock_memory is set to true, BruteFIR will seem to consume a lot more memory than it should. Also, it makes of course no sense to lock memory if your system does not have a swap activated. Due to this issue, the best thing to do is to have a system with no swap and avoid locking the memory.
Daher die Zeile lock_memory löschen.
Wenn Du Jack benutzen willst sollte diese config funktionieren. (Da wo #Falsches File; steht mußt Du unbedingt die Filter überprüfen; ich habs mit 64bit Dummy-Files getestet; warum die Tieftöner einen anderen Eingang haben, der in deiner Config nirgendwo vorkam, habe ich auch nicht verstanden)
Code: Alles auswählen
# 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
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: 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: false; # pause filtering when input is zero
convolver_config: "/home/guschdl/.brutefir_convolver"; # location of convolver config file
## LOGIC ##
#logic: "cli" { port: 3000; };
## COEFFS ##
coeff "HTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File;
format: "FLOAT64_LE";
};
coeff "HTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "MTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "MTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "TTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "TTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
## INPUT, OUTPUT ##
input "left", "right" {
device: "jack" { };
sample: "AUTO";
channels: 2/0,1;
};
output "HTL_out", "HTR_out", "MTL_out", "MTR_out", "TTL_out", "TTR_out" {
device: "jack" { ports: "alsa_pcm:playback_1", "alsa_pcm:playback_2",
"alsa_pcm:playback_3", "alsa_pcm:playback_4", "alsa_pcm:playback_5", "alsa_pcm:playback_6"; };
sample: "AUTO";
channels: 6/0,1,2,3,4,5;
delay: 0,0,0,0,0,0;
dither: true;
};
## FILTERS ##
filter "HTL_filter" {
from_inputs: "left";
to_outputs: "HTL_out";
# coeff: -1;
coeff: "HTL";
};
filter "HTR_filter" {
from_inputs: "right";
to_outputs: "HTR_out";
# coeff: -1;
coeff: "HTR";
};
filter "MTL_filter" {
from_inputs: "left";
to_outputs: "MTL_out";
# coeff: -1;
coeff: "MTL";
};
filter "MTR_filter" {
from_inputs: "right";
to_outputs: "MTR_out";
# coeff: -1;
coeff: "MTR";
};
filter "TTL_filter" {
from_inputs: "left"; # Eingang geändert
to_outputs: "TTL_out";
# coeff: -1;
coeff: "TTL";
};
filter "TTR_filter" {
from_inputs: "right"; # Eingang geändert
to_outputs: "TTR_out";
# coeff: -1;
coeff: "TTR";
};
Jack würde ich über die Kommandozeile starten; ggf. Starter:
jackd -P89 -dalsa -r44100 -p1024 -n2 -D -Chw:0 -Phw:0 -S
Als Patchbay diese benutzen:
http://www.linuxdsp.co.uk/download/jp1/index.html
Mit qjackctl habe ich bei meiner schwachen "Resteverwertungskiste", Athlon Mobile mit 1600 MHz , 512 MB Speicher, Terratec Aureon SKY, Probleme, wenn ich mit Starter JACK starte gibt es keine...Warum das so ist weiß ich nicht.
Die Prozessorlast liegt bei < 30% der Proz dümpelt bei 800 MHz (Ich hab die Config auf dem obigen Rechner getestet,die Karte hat ein Via Envy24 HT Soundchip (ICE1724) soweit liegt sie mit deiner ICE1712 nicht auseinander...)
Für die Alsa Nutzung dieses File:
Code: Alles auswählen
# 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
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: 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: false; # pause filtering when input is zero
convolver_config: "/home/guschdl/.brutefir_convolver"; # location of convolver config file
## LOGIC ##
#logic: "cli" { port: 3000; };
## COEFFS ##
coeff "HTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File;
format: "FLOAT64_LE";
};
coeff "HTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "MTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "MTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "TTL" {
filename: "/home/guschdl/Acourate/XO1L44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
coeff "TTR" {
filename: "/home/guschdl/Acourate/XO1R44.dbl"; #Falsches File
format: "FLOAT64_LE";
};
## INPUT, OUTPUT ##
input "left", "right" {
device: "alsa" { device: "hw:0"; ignore_xrun: true; };
sample: "S24_4LE";
channels: 2/0,1;
};
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: 6/0,1,2,3,4,5;
delay: 0,0,0,0,0,0;
dither: true;
};
## FILTERS ##
filter "HTL_filter" {
from_inputs: "left";
to_outputs: "HTL_out";
# coeff: -1;
coeff: "HTL";
};
filter "HTR_filter" {
from_inputs: "right";
to_outputs: "HTR_out";
# coeff: -1;
coeff: "HTR";
};
filter "MTL_filter" {
from_inputs: "left";
to_outputs: "MTL_out";
# coeff: -1;
coeff: "MTL";
};
filter "MTR_filter" {
from_inputs: "right";
to_outputs: "MTR_out";
# coeff: -1;
coeff: "MTR";
};
filter "TTL_filter" {
from_inputs: "left"; # Eingang geändert
to_outputs: "TTL_out";
# coeff: -1;
coeff: "TTL";
};
filter "TTR_filter" {
from_inputs: "right"; # Eingang geändert
to_outputs: "TTR_out";
# coeff: -1;
coeff: "TTR";
};
Diese Config habe ich auch mit 64 bit getestet; leider startet Brutefir damit nicht immer; erst im dritten Anlauf lief es durch.(Prozessorlast und Speicherverbrauch allerdings vollkommen unproblematisch. lass ich mir mit "htop" anzeigen)
Wenn Du ein "angepasstes Ubuntu" verwendest, denke daran, dass Ubuntu Pulseaudio als Soundsystem benutzt; evtl. fehlt hier was, mit dem Paket "pavucontrol" installierst Du alles nach. In pavucontrol dann die Eingänge und Ausgänge wählen....
Die Probleme mit der "Nicht Wiedergabe" trotz installiertem Alsamixer, hatte ich nämlich bei meiner reduzierten Ubuntu Version mit LXDE auch. (Belegt jetzt ca 1.5 GB auf dem Stick)
Viel Glück
Da Alc
@ Udo: Ich arbeite ja jetzt lieber mit den Disconnect und Connect Befehlen unter Jack, gibt es da so ein Befehl wie Disconnect All, also wo auf einen Schlag alles gekappt wird?