Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
Nein, nein. Nicht rausnehmen.
Das Ding funktioniert doch so.
Input ---> Filter --> Output
Aer wie schaut der Filter aus? Das bestimmen die Koeffizienten. Also an die Stelle wo -1 steht muss der Name des Coeffs. (Der wiederum definiert aus welcher Quelle er stammt, normalerweise eine Datei).
Zumindest ist das mein Verständnis der Brutefir-Struktur.
Beiträge: 362
Themen: 23
Registriert seit: 06.10.2012
hm ja irgendwie versteh ich es nicht.
Den Filterpfad hab ich ja oben bereits drinn.
Sorry das ich so dumm Frage aber was sollte da nun rein.
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
Naja,
"oben" sagst du, dass es Parameter (Koeefizienten, Coeff) für Filter gibt und wo sie liegen. Der "coeff" kriegt auch einen Namen.
"Unten" spezifierst du, welcher Filter auf welchen Kanal wirken soll. Das weiß brutefir ja sonst nicht, oder? Also sagst du ihm der Filter zwischen für den dem einen Eingang und dem Ausgang benutzt den Coeff des Namens, den du oben vergeben hast. Oder es soll einfach durchgeroutet werden (= -1).
Beiträge: 362
Themen: 23
Registriert seit: 06.10.2012
Ok ich glaub ich habs verstanden nach dem ich da mal das Forum gelesen habe.
http://www.aktives-hoeren.de/viewtopic.php?f=28&t=2112
ich versuche die mir jetzt anzupassen wie bei "Udor"
VG
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
The Alchemist schrieb:Ich hab nun einen Convolver 2x4 mit Lirc Streamer, Spdif und Analog Eingang:yahoo:.
Hallo Alchemist,
kannst du mal 2 Worte über Lirc verlieren? Wie und wofür setzt du das ein. Ein Fernsteuerung (ohne ssh) verschiedener Sachen (z.B. Wechsel der Filterbänke oder ALSA-Einstellungen) wäre schon ne feine Sache und steht auch auf meinem Zettel. Und Lirc klingt interessant.
Gruß
Beiträge: 1.049
Themen: 7
Registriert seit: 08.06.2010
@kasbc, schast Du einmal hier: http://www.diy-hifi-forum.eu/forum/showt...624&page=6
Die Dateien muss ich noch ein Bisschen erläutern und hochladen. Wird allerdings einfacher, wenn Du dann mit Debian und nur MPD unterwegs bist.
Gruß
La vida es no ponyhof :bye:
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
Beiträge: 784
Themen: 47
Registriert seit: 17.03.2013
Soderle,
mein NUC mit Debian spielt mittlerweile. Ich habe noch einige Probleme mit Störgeräuschen ( die allerdings weg sind, sobald ich die Lautstärke über MPD etwas reduziere ),da weiß ich noch nicht genau wo der Hund begraben wird. Den Pegel in der Brutefir-Config senken bringt erst mal nichts, von daher vermute ich, dass der Pegel aus MPD für Brutefir zu hoch ist und es dann verzerrt. Zweite Vermutung wäre der Filter, der zumindest in RePhase auch über oder unter 0dB liegt. Daher habe ich die Kurve dort so gelegt, dass sie unter 0dB bleibt, indem ich den Regler im ersten Dialog benutzt habe. Ob das so alles richtig ist und Sinn ergibt, weiß ich natürlich nicht
Das größte Problem sind allerdings die Messungen.... ich bin da viel am Ausprobieren. Phase am Hörplatz messen ist Mumpitz, das haut nicht hin. Der Abstand ist dafür zu groß. Ich hatte mir folgendes überlegt:
Frequenzgang und Phase in 1m Abstand messen, im Nahfeld alle Chassis messen und inkl. Phase eine zusammengesetze Messung erstellen. Dann beide Kurven übereinanderlegen und schauen, was man genau herausfiltern kann. Der Bass wird einfach glatt gezogen.
Alle Korrekturen, die ich im höheren Frequenzband gemacht habe, funktionieren nicht richtig, bzw. es klingt merkwürdig.
So ganz vertraut bin ich mit den Einstellungen in RePhase auch nicht. Genauer gesagt, weiß ich nicht, was man bei centering und windowing korrekt einstellt. Die Phase wird auch anders als in Arta angezeigt....kennt da jemand einen Trick?
Gruß, Stefan
[URL="http://www.igdh.eu"]
[IMGNR]http://www.igdh.eu/logo_igdh_mini.png[/IMGNR]
[/URL]
Beiträge: 1.049
Themen: 7
Registriert seit: 08.06.2010
Das MPD den Loopback Eingang übersteuert wäre durchaus möglich. Die Dämpfung in der Brutefir Konfiguration muss im Bereich "coeffs" stehen. (Vorzeichen beachten! Positiv bedeutet Dämpfung).
Die Grundeinstellungen in rePhase lass ich aus Unkenntnis so wie sie sind :o .
Die Phase korrigiere ich im Nahfeld, wobei ich der Meinung bin , dass das auch nur im Bereich etwaiger Frequenzübergänge sinnvoll ist, also Trennfrequenz, ggf. Bassreflex.
Desweiteren habe auch ich die Erfahrung gemacht, dass es besser ist Frequenzen abzusenken, statt anzuheben.
Zu Arta kann ich leider nichts sagen..
Gruss
La vida es no ponyhof :bye:
Beiträge: 784
Themen: 47
Registriert seit: 17.03.2013
Ah, da liegt der Hund also begraben. Ich habe den Pegel nun um 6dB abgesenkt. Läuft super.
Ich habe allerdings das Problem, dass die Wiedergabe nach ca. 10 Minuten abbricht. Erst wenn ich einmal neu starte, läuft es wieder. Ich habe in der /etc/kbd/config schon den entsprechenden Eintrag für das Abschalten des Bildschirms angepasst.
[URL="http://www.igdh.eu"]
[IMGNR]http://www.igdh.eu/logo_igdh_mini.png[/IMGNR]
[/URL]
Beiträge: 784
Themen: 47
Registriert seit: 17.03.2013
Ich habs' jetzt raus :mad::mad::mad::mad::mad:
Problem war, dass Debian einen Login auf der Konsole erwartet. Wenn das nach 10 Minuten nicht passiert, schaltet er den Monitor ab, was auch die Ausgabe des Audiosignals killt. Nachdem ich mich durch gefühlt 40 verschiedene Foren und Blogs gewühlt habe und nie das gefunden habe, was gerade passt, habe ich jetzt die Lösung:
Den Bootloader Grub so anpassen, dass er den Bildschirm bei der Anmeldung nicht nach 10 Minuten automatisch abschaltet:
nano /etc/default/grub
Code: GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"
Die Grub config darf man nie direkt editieren, sondern eben nur die /etc/default/grub. Daher brauch man noch folgenden Befehl um die Änderungen einzuspielen:
Ich hoffe das hier hilft irgendwann mal jemandem. Mich hat das ganz schön Nerven gekostet. Dafür läuft jetzt auch alles.:rtfm:
[URL="http://www.igdh.eu"]
[IMGNR]http://www.igdh.eu/logo_igdh_mini.png[/IMGNR]
[/URL]
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
:thumbup:
Das sind so die Sachen, die man sich irgendwo speichen sollte ...
Beiträge: 217
Themen: 16
Registriert seit: 25.12.2014
19.02.2016, 18:03
(Dieser Beitrag wurde zuletzt bearbeitet: 19.02.2016, 18:19 von sion.)
So am Rande:
Ich habe mir jetzt einen BeagleBone Black geordert. Anscheinend kann er mindestens vier Kanäle per I2C ausgeben. Das könnte auch eine interessante Möglichkeit zum BruteFIR-Crossover mit entsprechenden DACs sein. Einen ersten Versuch werde ich demnächst mit zwei alten Braun L260-Lautsprechern und zwei Polyvection PlainAMPs wagen. Die Brauns haben ihre besten Tage schon hinter sich (auf dem Sperrmüll gefunden) und die PlainAMPs haben nicht nur schon den DAC mit an Board, sondern sind auch ziemlich billig. Bzw, wie ich hoffe, preisgünstig. Wenn ich es hinbekomme, werde ich berichten...
Übrigens, für alle Linux-Audio-Interessierten finden sich in der Bachelorthesis von Henrik Langer interessante Hinweise. Ausnahmsweise auch mal auf Deutsch: http://www.creative-technologies.de/wp-c...Latenz.pdf
Beiträge: 1.049
Themen: 7
Registriert seit: 08.06.2010
Hat denn der BeagleBone ein MCLK Signal bzw. haben die Plainamps eine eigene Clock?
2 Soundkarten können auch schon mal aus dem Takt geraten aber probieren kann mans mal 
Gruß
La vida es no ponyhof :bye:
Beiträge: 217
Themen: 16
Registriert seit: 25.12.2014
19.02.2016, 18:33
(Dieser Beitrag wurde zuletzt bearbeitet: 19.02.2016, 18:48 von sion.)
Gute Frage
Der PlainAMP hat wohl keine eigene Clock, der BeagleBone schon, wenn ich es richtig verstanden habe. Und es gibt eine gewisse Schwierigkeit was die Taktung betrifft. Im Standardkernel werden max 48khz unterstützt. Polyvection bietet aber einen gepatchten Kernel an. https://polyvection.com/support/plain-se...atibility/ . Um mehr als zwei Kanäle ansprechen zu können, muss der Kernel nochmals angepasst werden. Das wird noch lustig für mich Adepten. Ich hoffe, die Lernkurve wird nicht zu steil. Aber ich bin ja zäh 
Zukunftsmusik: Zwei HifiBerry DAC+ Pro am Beaglebone. Derzeit betreibe ich schon einen am Raspberry und bin vom Sound mehr als überzeugt.
Gruß
Klaus
edit P.S.: Habe den Link mit der Masterclock nochmal gefunden: https://hifiduino.wordpress.com/2014/03/...for-audio/
Zitat:The Master clock in BBB is provided by the on-board 24.576MHz and fixed at this frequency and can be directly accessed from the outside.
Das ist etwas problematisch mit bestimmten Frequenzen
Zitat:Therefore, since a bit-clock has to be generated from this external 24.576MHz clock, only the 48KHz family of sample rates can be supported. Notice that the most common high res sample frequencies are 96KHz and 192KHz and are fully supported by the board.
Deshalb auch der Custom-Kernel von Polyvection. Wie es klingt? Mal hören...
Beiträge: 362
Themen: 23
Registriert seit: 06.10.2012
Hi Leute
Ich glaube das ich mein Loopback nun hinbekommen habe und Brutefir im Prinzip funktioniert. Dennoch werden die Filter anscheinend nicht richtig verarbeitet.
Alsop cih denke das Brutefir soweit arbeitet mit dem Loopback da, sobald das Brutefür abgeschalten wird auch kein Ton mehr kommt.
Eventuell kann noch jemand mal einen Blick darauf werfen.
etc/asound.conf
Code: pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}
etc/modules
Code: # /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
snd-aloop
i2c-dev
aplay -l
Code: **** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: sndrpihifiberry [snd_rpi_hifiberry_amp], device 0: HifiBerry AMP HiFi tas5713-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Somit ist das Loopback auf 0 und der amp auf 1 was ich so beabsichtigt habe
und die Bruteconfig
Code: float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 4096,8; # length of filters
#config_file: "~/bf/.bfcfg"; # standard location of main config file
overflow_warnings: false; # 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: true; # allow use of input poll mode
modules_path: "."; # extra path where to find BruteFIR modules
monitor_rate: false; # monitor sample rate
powersave: true; # pause filtering when input is zero
lock_memory: true; # try to lock memory if realtime prio is set
convolver_config: "~/.brutefir_convolver"; # location of convolver config fi$
## INPUT DEFAULTS ##
input "l_in", "r_in" {
device: "alsa" { device: "hw:Loopback,1"; };
sample: "S16_LE";
channels: 2;
};
output "l_out", "r_out" {
device: "alsa" { device: "hw:1,0"; };
sample: "S32_LE";
channels: 2/0,1;
delay: 0,0;
dither: true;
};
## FILTER DEFAULTS ##
filter "/home/pi/Filter/links.bin" {
from_inputs: "l_in"/8.0;
to_outputs: "l_out"/0.0;
process: 0; # process index to run in (-1 means auto)
coeff: -1; # -1 means "copy"
delay: 0; # predelay, in blocks
crossfade: false; # crossfade when coefficient is changed
};
filter "/home/pi/Filter/rechts.bin" {
from_inputs: "r_in"/8.0;
to_outputs: "r_out"/0.0;
process: 0; # process index to run in (-1 means auto)
coeff: -1;
delay: 0; # predelay, in blocks
crossfade: false; # crossfade when coefficient is changed
};
Ich habe schon viele verschiedene Configs versucht zu Testen aber hab einige auch nicht zum laufen bekommen. Meistens wegen Parse error oder so.
Wenn es läuft kommt auch Musik und Fehler sind auch keine Vorhanden.
Der Ton kommt auch geschätzt mit der Verzögerung die ich durch die Filterlänge vorgebe. Das einzigste was ich einfach nicht hinbekomme, ist das die Filter funktionieren.
Muss ich an der etc/asound noch was machen.
Weil das Loopback scheint ja zu funktionieren über Brutefir.
Über Hilfe wäre ich wie immer sehr Dankbar!!
Vg Stefan
Beiträge: 1.049
Themen: 7
Registriert seit: 08.06.2010
22.02.2016, 22:33
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2016, 22:46 von The Alchemist.)
Versuch das mal:
Code: float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 4096,8; # length of filters
#config_file: "~/bf/.bfcfg"; # standard location of main config file
overflow_warnings: false; # 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: true; # allow use of input poll mode
modules_path: "."; # extra path where to find BruteFIR modules
monitor_rate: false; # monitor sample rate
powersave: true; # pause filtering when input is zero
lock_memory: true; # try to lock memory if realtime prio is set
convolver_config: "~/.brutefir_convolver"; # location of convolver config fi$
coeff "left" {
#filename: "/home/pi/filter/links.bin"; #filterl
filename: "dirac pulse";
format: "FLOAT_LE";
attenuation: 8.0;
};
coeff "right" {
# filename:"/home/pi/filter/rechts.bin"; #filterr
filename: "dirac pulse";
format: "FLOAT_LE";
attenuation: 8.0;
};
## INPUT DEFAULTS ##
input "left-in", "right-in" {
device: "alsa" { device: "hw:Loopback,1"; };
sample: "S16_LE";
channels: 2;
};
output "left-out", "right-out" {
device: "alsa" { device: "hw:1,0"; };
sample: "S32_LE";
channels: 2/0,1;
delay: 0,0;
dither: true;
};
## FILTER ##
filter "leftfilter" {
from_inputs: "left-in";
to_outputs: "left-out";
coeff: "left";
};
filter "rightfilter" {
from_inputs: "right-in";
to_outputs: "right-out";
coeff: "right";
};
und kopier dann die Fehlermeldungen hier hin. Das ist eine Konfig die zunächst mal ein Dirac Signal faltet (sollte sie zumindest)  , d.h. sie macht quasi nix.
Sofern deine Filter links und rechts.bin heissen und nur 32768 Taps gross sind löscht Du die # und setzt sie vor die Zeile mit Dirac. Und warum im Input nicht "hw:0" steht versteh ich auch nicht...
Gruß
La vida es no ponyhof :bye:
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
Warum glaubst du mir das mit "coeff = -1" nicht ?
Du gibst dem Filter den NAMEN einer Datei, d.h. aber nicht, dass er sie nutzt. So wird immer nur der Input zum Output kopiert. Hatten wir doch schon ...
Gruß
P.S: Ja, so wie Alchemist das gemacht hat müsste es gehen.
Beiträge: 362
Themen: 23
Registriert seit: 06.10.2012
Ich habs jetzt zum laufen bekommen.
Vielen Dank
hatte jetzt paar tage nix gemacht an dem Ding und das mit coeff dann auch wieder verplant durch ewiges rumgesuche.
Ich dachte irgendwie das es so auch gehen muss da er ja die Filter als Prozess nach dem Start angezeigt hat.
Nun läufts auf jeden Fall perfekt bisher.
Cool jetzt kann ich endlich mal überlegen was ich mir da jetzt fürn Böxlein bastle.:yahoo:
VG Stefan
Beiträge: 446
Themen: 2
Registriert seit: 12.12.2008
|