PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Raspberry Pi 2 Möglichkeiten?



Slaughthammer
21.02.2015, 16:04
Moin,

Ich möchte mir ja noch immer eine Schlafzimmerbeschallung realisieren. Die Lautsprechertechnik ist da das kleinste Problem, das größere Problem ist die Elektronik. Vielleicht kann ein Raspberry Pi 2 da ja Abhilfe schaffen, hier erstmal was ich mir Vorstelle:

Aktivlautsprecher, 2 Wege, DSP-Weiche aufm RasPi laufen lassen, Musik auf Netzwerkfestplatte, Webstreams etc, möglicherweise auch bluetooth audio vom smartphone?, Bedienung des RasPis als Netzwerkplayer ohne eigenens Display übers Android Smartphone, Audiowiedergabe Zeitlich programmierbar (als Radiowecker...), Schaltet den AVR ein und aus.

Ist das alles mit dem Raspberry Pi 2 hinzukriegen? Auch wenn man sich noch nie im Leben mit Linux befasst hat, aber generelll im Umgang mit Computern ziemlich fit ist?

Gruß, Onno

Marcus.S
21.02.2015, 16:25
Moin Onno,

vieles davon ist auch ohne Linuxkenntnisse machbar, schließlich gibts da fertige und passende Distributionen zu. Einzig zum Thema Bluetooth kann ich nichts sagen, da habe ich keine Erfahrungen mit.

Aber: auch einen RasPi 2 würde ich nie als Netzwerkplayer einsetzen. Ist zwar mein persönliches Problem, aber fast alle Schnittstellen (inklusive LAN) an einem einzigen USB-Controller anzubinden halte ich für eine saublöde Idee.

M.E. übrigens die eleganteste Variante für dein Vorhaben ist der Logitech Media Server. Wenn du die Möglichkeit hast, den auf der Netzwerkplatte zu installieren, brauchts auf nahezu beliebig vielen Streamern nur noch einen Client (Squeezelite) dafür. Steuersoftware gibts auch für Android reichlich und du bekommst ohne jede Fummelei neben der Musik aus deinem Lokalen Netz auch Webradio, Wimp und Co. eingebunden. Wenn du auf dem Netzlaufwerk keine Software installieren kannst, fühlt sich der LMS auch auf dem gleichen Gerät wie der Player ziemlich wohl :)

LG
Marcus

The Alchemist
21.02.2015, 18:06
Aber: auch einen RasPi 2 würde ich nie als Netzwerkplayer einsetzen. Ist zwar mein persönliches Problem, aber fast alle Schnittstellen (inklusive LAN) an einem einzigen USB-Controller anzubinden halte ich für eine saublöde Idee.



Diese grosse Schwachstelle des PI1 ist beim PI2 kein Thema (obwohl genauso ausgeführt). 2x3 Wege aktiv ist kein Problem.. der PI 2 ist eine echte Überraschung. Linux Kenntnisse braucht es schon.
Gruß

Marcus.S
21.02.2015, 18:31
Onno kriegt das hin. Alles, was es an Kenntnissen braucht ist im Netz mehr als gut dokumentiert und solang man keine Angst vor Dingen hat, die man nicht mit der Maus machen kann, klappts auch mit der Shell ;)

Funktioniert das wirklich so gut mit dem neuen SoC und wenn ja, bei welchen Bitraten und Auflösungen?
Nicht, dass ich mir doch nochmal son Ding zulegen muss :denk: Eigentlich bin ich nämlich mittlerweile ziemlich auf die cubox-i eingeschossen.
Wäre ja schon schick wenn der RP2 nicht nur durch den Blitzbug überraschen würde ;)

newmir
21.02.2015, 18:43
Logitech Media Server und Squeezelite kann ich für deine Zwecke auch nur empfehlen.

http://www.gerrelt.nl/RaspberryPi/wordpress/tutorial-installing-squeezelite-player-on-raspbian/

Allerdings habe ich diese Anleitung nicht selber verfiziert.

Grundsätzlich wäre auch PiCorePlayer zu empfehlen - fertige Distribution,die sehr einfach zum Erfolg fuehrt. Aber ob Dir das hilft .... weil du willst ja auch noch DSP Software installieren. Und dann ist so ein abgespecktes Unix vielleicht suboptimal.

Bezueglich DSP und Crossover fand ich folgendes ganz brauchbar, aber so richtig einfach ist es auch nicht. Aber im Prinzip habe ich das ans laufen bekommen. Nur habe ich das noch nicht auf dem Raspberry Pi probiert.

http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/

Als Soundkarte wuerde ich LogiLink 7.1 Dolby USB Sound Box empfehlen. Da gibt es jede Menge Berichte genau für diesen Zweck und das scheint problemlos zu sein. Meine bisherigen Versuch besagen auch ...problemlos.


Genau Dein Projekt habe ich auch auf meiner To-Do-Liste. Nur leider gerade zu wenig Zeit.

Woods
21.02.2015, 19:04
Falls es der RPi + LMS werden soll, werfe ich noch Squeezeplug (http://www.squeezeplug.eu/)in den Raum. Eine Distro, bei der alles LMS-relevante schon vorkonfiguriert ist - reduziert das nötige Linux-Wissen deutlich und funktioniert auch mit Hifi-Berry.

Marcus.S
21.02.2015, 19:07
Mir fällt grad, wegen der Weichengeschichte, ein Nachteil von Squeezelite ein: es kann kein Jack. Ich fummel deswegen seit ner Weile mit einer Kombination aus alsa-loopback und jackd ´rum. Wobei das auf ner x86-Kiste passiert und ich nicht sagen kann, ob das so ohne Weiteres auf nem Arm läuft.

The Alchemist
21.02.2015, 20:21
Jack habe ich auf einem ARM Board noch nicht vernünftig zum laufen gebracht, nicht auf dem Pi 1 nicht auf dem Hummingboard-i1 nicht auf dem RPi 2.

Und bitte nicht den Pi1 mit dem Pi2 (Quad-Core) gleichsetzen.

Die genannten Anleitungen beziehen sich alle auf den Pi1, falls es jemand noch nicht mitbekommen hat: seit Anfang Februar gibt es einen Pi mit einem QuadCore Proz, den PI2. Der hat nichts mit dem Pi Rev2 oder dem Pi B+ zu tun, nur um das mal klar zu stellen.

Für den Pi 2 gibt es zum Teil angepasste Sachen, die aber wie z.B. Volumio, noch ordentlich Macken habe.

Zur Cubox-i kann ich nichts sagen, aber von der Bildschärfe ist mein Hummingboard-i1 dem Pi2 überlegen. Für Dinge wie Openelec bevorzuge ich deshalb mein
Hummingboard.

Gruß

Slaughthammer
21.02.2015, 22:54
Bild ist mir egal, im Schlafzimmer gibts keinen Monitor/Fernseher.

Externe Quellen muss der Pi auch nicht verarbeiten. Evtl bekommt er auch seinen eigenen Dateträger mit Musik.

Ich hab an sich gerade genug Zeit, mich in die Materie einzuarbeiten, hänge ja verletzt zu Hause fest.

Die Frage bleibt, ist der Pi 2 für das was ich will überhaupt geeignet? Stichwort DSP, bekommt man das Routing hin? Alchemist, du hattest das doch schon mit BruteFir laufen, geht das Stabil? Latenz ist mir nur für Audiowiedergabe schnuppe, ist schön, wenns unter 2 sec. bleibt. Werden wohl auch nur zwei Wege. Ach ja, die Logilink 7.1 Box wollte ich eh verwenden. Die leistet mir im Wohnzimmer ja auch schon fürs digitale Loopback gute Dienste.

Das ganze soll dann wohl eine AVR ansteuern... Evtl wird der Kram auch in dessen Gehäuse integriert, wäre auch toll, wenn sich da eine Möglichkeit findet, dass der Pi den AVR auch Ein/Ausschalten kann, gibts da was?

Und wie siehts mit einer zeitlich automatisierten Wiedergabe aus? Ist das realistisch? Wäre mir auch wichtig, dass das geht ---> besserer Radiowecker ;)

Gruß, Onno

The Alchemist
22.02.2015, 11:18
Die Frage bleibt, ist der Pi 2 für das was ich will überhaupt geeignet? Stichwort DSP, bekommt man das Routing hin?

Genau kann ich Dir diese Frage nicht beantworten. Ich kann Dir versichern, dass MPD und Brutefir über Stunden ohne Probleme laufen und zwar mit genau der Karte die Du einsetzen möchtest. Die Dateien kommen dabei vom NAS.

Mit den Möglichkeiten des Ein- und Auschaltens externer Geräte kenne ich mich nicht aus. Vielleicht solltest Du aber wissen, dass der Pi keine eigene Uhr mitbringt, von daher sollte immer eine Netzwerkverbinung vorhanden sein.

Gruß

Woods
22.02.2015, 11:27
Das ganze soll dann wohl eine AVR ansteuern... Evtl wird der Kram auch in dessen Gehäuse integriert, wäre auch toll, wenn sich da eine Möglichkeit findet, dass der Pi den AVR auch Ein/Ausschalten kann, gibts da was?


Mein Raspberry schaltet meinen Verstärker über einen vorhanden Remote-In Eingang ein. Ich habe auf dem Raspberry einen lirc-Server laufen und einen GPIO des Pis mit dem Remote-In des Verstärkers verbunden (einfaches Mono-Klinken-Kabel mit offenem Ende). So kann der Raspberry dem Verstärker Fernbedienungssignale schicken. Ich nutze das, um mit meinem Smartphone meinen Verstärker ohne Sichtkontakt zu steuern. Falls kein Remote-In vorhanden ist, kann man auch ohne großen Aufwand eine Infrarot LED am Pi betreiben und damit den AVR steuern. Grundsätzlich ist das also technisch möglich.
Wieviel Linux-Hirn-Schmalz für deine Anpassung und Automatisierung notwendig ist, weiß ich nicht. Ich habe größtenteils nur Turorials abgetippt..;)

Slaughthammer
02.04.2015, 23:11
So, ich nochmal. Der RasPi 2 hat ja auch 8-Kanal Audioausgabe übder HDMI. Wenn man eh einen AVR nutzt, kann man sich ja so die Soundkarte sparen, wenn der AVR eh schon brauchbare A/D Wandlung eingebaut hat. Lässt sich das dann mit BruteFIR auch passend ansteuern?

Wie sieht das bei dem kleinen eigentlich mit Ein/Ausschaltung aus? Einfach immer an, weil braucht eh fast keinen Strom im Leerlauf? Reagiert der auch empfindlich auf spontanen Stromentzug (aka Abschaltung mittels Schalter ohne runterfahren)?

Gruß, Onno

mussigg
03.04.2015, 07:19
Ich mach' jetzt mal die Tüte Popcorn auf und lese gespannt mit. Hier ist ja geballte Erfahrung am Start, das kann mir Raspi- und Linux-Noob nur auf die Sprünge helfen!

Vielen Dank und weiter so! :thumbup: Die nächsten Tage fange ich selber mit der Mauschubserei an, dann nerve ich euch mit Fragen, wenn die dann nicht schon beantwortet sind... :D

Gruss, Rolf

Keizo
03.04.2015, 08:13
Moin,

Raspi 2 läuft stabiler als der B, musste noch kein OS neu aufsetzen. Videostreaming über Openelec ist ein Traum, tausend coole Plugins, perfekt.
Musik unter Openelec funktioniert per Airplay vom Moto G passabel über imediashare.
Blöd ist, dass die Tonverbindung abbricht, wenn ich die Glotze ausschalten und der Pi selbigen per CEC auch wieder einschaltet.
Spotify Connect per airplay geht wohl nur über das iPhone, nicht über Android. Ich hab spotinc als Plugin integriert, ist aber mega umständlich und die Glotze muss an bleiben.
HDMI für reine Tonübertragung ist wohl nix, das Aufsplitten des Signals auf die PreOuts vom Avr oder die verstärkten Ausgänge gehen nicht, HDMI ist codiert.
Lösung ist wohl ne USB Soundkarte wie Logilink UA99.

Tommy
03.04.2015, 08:23
Hi.

Also ich hab auch Kodi drauf laufen, und bei mir klappt das mit dem Ton über HDMI.
Auch die Wiedergabe von Audio DVDs ist kein Problem.

Nur KKV Dateien bekommt er wohl nicht hin.

Keizo
03.04.2015, 08:50
Yo, hab mich missverständlich ausgedrückt. Sound geht bei mir natürlich auch über HDMI, aber man kann das Signal nicht zum aktivieren verwenden, da dass Signal nicht auf die einzelnen Ausgänge geroutet werden kann. Um das zu nutzen, muss man meines Wissens nach analog raus in die analogen Eingänge und kann das es dann verstärkt abgreifen.

The Alchemist
03.04.2015, 09:01
Rein von der Idee her sollte das klappen. Ob aber der Alsa- Treiber für HDMI am Raspi die Kanäle bereitstellt weiß ich nicht.
An meinem Desktop habe ich via HDMI zugriff auf 4 digitale Stereokanäle.

Gleich gehts in den Urlaub :dance:, da kann ich jetzt was den PI angeht nix mehr testen.

Gruß

mcdwerner
03.04.2015, 09:24
Hi,

hier wird beschrieben, wie man unter ALSA den HDMI-Ausgang für Mehrkanal nutzen kann (runterscrollen):
http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/

Hab das allerdings noch nicht selber gemacht.

Nutze bei mir hier 2 RasPi-B als Netzwerkplayer. Allerdings mit selbst geschriebener Software. Laufen beide bei mir seit Monaten ohne Probleme in Stereo (nicht Mehrkanal!)

Slaughthammer
03.04.2015, 12:34
Hey, das sieht ja schonmal sehr gut aus, danke für den Link! Könnte genau das sein, was ich brauche.

Gruß, Onno

Pfeffermühle
03.04.2015, 18:29
Hallo,


... Der RasPi 2 hat ja auch 8-Kanal Audioausgabe übder HDMI. Wenn man eh einen AVR nutzt, kann man sich ja so die Soundkarte sparen, wenn der AVR eh schon brauchbare A/D Wandlung eingebaut hat. ...

im Prinzip eine geniale Lösung, aber ich glaube die Hardware des Raspi unterstützt nur 2 Kanäle via HDMI

... ist bei meinem Acer Tablet auch so

schade eigentlich :(

Grüße Udo

Tommy
03.04.2015, 19:36
???
Die Hardware?
Ist doch Digital...
Sollte also wenn dann nur ein Software-Problem sein, oder?
Ich hab nicht wirklich Ahnung von Audio Codecs, oder so, aber bei mir läuft 7.1 über den Raspi 2 ohne Probleme. Dann ist es doch eigentlich nur nötig die richtige Software zu haben, welche die Kanäle so aufteilt, wie man es haben möchte... :confused:

incoggnito2
03.04.2015, 19:44
sollte dass mit mehr Audikanälen funktionieren, wäre dass in der Tat recht interessant.:cool:

mcdwerner
03.04.2015, 20:56
hab mal kurz gegoogelt, wenn das hier stimmt geht es wohl nicht "out of the box":
http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=50630

Mein Tip: im Zusammenhang mit Linux und/oder Software gibt's imho auf Englisch immer die besseren Suchergebnisse ;)

Pfeffermühle
03.04.2015, 21:07
???
Die Hardware?
Ist doch Digital...
Sollte also wenn dann nur ein Software-Problem sein, oder?
Ich hab nicht wirklich Ahnung von Audio Codecs, oder so, aber bei mir läuft 7.1 über den Raspi 2 ohne Probleme. Dann ist es doch eigentlich nur nötig die richtige Software zu haben, welche die Kanäle so aufteilt, wie man es haben möchte... :confused:

... mmh, der Experte bin ich auch nicht in diesem Thema, aber ich hatte im Raspberry-Forum gelesen, das nur 2 Kanäle über HDMI möglich sind.

http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=50630

es gibt Komprimierungsverfahren für HDMI ... der AVR übernimmt dann die Decodierung nach 5.1 7.1 ... das geht

aber es geht ja darum die 8 Kanäle im Raspberry zu bearbeiten u. dann digital an den AVR weiterzugeben u. das funktioniert nach meinem Kenntnisstand nicht.

... lasse mich aber liebend gerne eines besseren belehren :)
... wenn das funzt wäre echt super


Grüße Udo

Tommy
04.04.2015, 06:40
wenn ich jetzt nicht ganz auf dem Schlauch stehe und das hier (https://osmc.tv/2015/02/raspberry-pi-2-released-with-osmc-support) so korrekt ist, dann sollte es doch möglich sein, aus einzelnen Tonspuren ein PCM??? Signal zu mixen, und dieses über HDMI zum AVR auszugeben, oder???
Also wie schon gesagt, bei mir läuft Dolby und auch DTS einwandfrei über 8 Kanäle.

EDIT:
Das hier könnte ab der hälfte ungefähr auch interessant sein. (http://wiki.ubuntuusers.de/.asoundrc)

EDIT2:
see 6 × mono → 5.1 (https://trac.ffmpeg.org/wiki/AudioChannelManipulation)

mcdwerner
04.04.2015, 09:08
meine Einschätzung ist auch, dass es "irgendwie" geht. Linux/Alsa ist höchst konfigurierbar. Leider ist die Konfiguration nicht immer selbsterklärend (vorsichtig ausgedrückt ;-)
=> viel Spass beim Editieren der .asoundrc :cool:

Vielleicht finden wir ja noch jemanden, der das schonmal gemacht hat...

Ich hab gestern mal ein wenig mit meinem alten Raspi rumgespielt, der schafft ohne Aussetzer und mit 0.1 Sek. Latenz maximal 7-8 EQ-Filter. Die Performance könnte beim Raspi2 also für eine Aktivierung reichen!?

Slaughthammer
04.04.2015, 14:28
Performancetechnisch habe ich da keine Bedenken beim RasPi2. Zumal für die reine Auiowiedergabe die Latenz ja auch unkritisch ist.

HDMI kann bis zu 8 Kanäle als unkomprimierten PCM Stream mit bis zu 24 Bit Auflösung und 48 kHz Samplingfrequenz übertragen. Das sollte also auch kein Problem darstellen.

Gruß, Onno

Pfeffermühle
04.04.2015, 15:47
Performancetechnisch habe ich da keine Bedenken beim RasPi2. Zumal für die reine Auiowiedergabe die Latenz ja auch unkritisch ist.


jetzt juckt es mich auch in den Fingern ;)



HDMI kann bis zu 8 Kanäle als unkomprimierten PCM Stream mit bis zu 24 Bit Auflösung und 48 kHz Samplingfrequenz übertragen. Das sollte also auch kein Problem darstellen.


da bleibe ich skeptisch (ich glaube das ist vom Chipsatz abhängig, aber wie gesagt ich bin da kein Experte)

soviel kann ich sagen:
bei meinem alten PC mit HDMI-Ausgang (ATI 3XXXX Chipsatz) ging es nicht
und auch mein ACER Tablet macht nur 2 Kanäle

aber:
8 Kanal PCM Audio funktioniert mit meinem aktuellen PC (Asus NVidea Chipsatz) u.
auf einem kleinen INTEL NUC funzt es auch


falls die HDMI-Lösung nicht geht, bleibt ja immernoch die Möglichkeit das ganze via USB Sound z.B die Logilink 7.1 zu realisieren
... ich habe eine ESI UDJ6 (6 Kanäle) ... werde es damit probieren

wie gesagt, jetzt juckt es mich auch ... Raspi 2 ist bestellt ... mal schauen was da geht :)

Grüße Udo

mcdwerner
04.04.2015, 17:19
hab jetzt mal mit meinem alten Raspi rumgespielt, dieser Befehl:
ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o alsa,sysdefault:ALSA

gibt u.a. folgenden Output:
...
Opened output "alsa", mode "write". Format: s16_le, channels 6, srate 44100, interleaved.
...
Er findet also hier "output ... channels 6 ..." :D

(der Parameter "-b 4096" setzt die maximale Buffergröße, ohne dem hat's bei mir Aussetzer!)

"sysdefault:ALSA" sollte also HDMI sein. Leider habe ich keinen AV-Receiver da zum Testen. Am Monitor wird nur "left woofer, right woofer" ausgegeben. Ob die anderen Kanäle genutzt werden kann ich von hier aus leider nicht sagen :(

Hier nochmal der Link zur Anleitung bezügl. ecasound etc.:
http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/

Evtl. müsst ihr die Default-Soundausgabe von Klinke auf HDMI umstellen:
http://www.raspberrypi.org/documentation/configuration/audio-config.md

Slaughthammer
04.04.2015, 17:58
jetzt juckt es mich auch in den Fingern ;)

Ja, verständlich. Wenn das so funktioniert, ist das einfach ein konkurenzlos günstiger DSP, der total pflegeleicht in der Einbindung ist. Zusätzlich bietet das ganze auch einfach mehr Rechenpower und Möglichkeiten als ein MiniDSP. Bzgl. deines alten PCs oder Tablets würde ich das erstmal nicht überbewerten, die früheren HDMI Geräte haben da oft Unfug verzapft, das ist aber seit ein paar Jahren deutlich besser geworden.



falls die HDMI-Lösung nicht geht, bleibt ja immernoch die Möglichkeit das ganze via USB Sound z.B die Logilink 7.1 zu realisieren
... ich habe eine ESI UDJ6 (6 Kanäle) ... werde es damit probieren

Ja, das ist aber nunmal nicht ganz so elegant. Da ich auch Plane, die Anlage für die ich den RasPi nutzen will auch mal mit Akkus Mobil zu betreiben, wird es dann wohl zumindest dafür auf eine externe Soundkarte hinauslaufen, da ich dann keinen AVR mitschleppen/versorgen will. Da werden es dann eher ein paar Class D Module.

Gruß, Onno

Slaughthammer
23.04.2015, 11:53
hab jetzt mal mit meinem alten Raspi rumgespielt, dieser Befehl:
ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o alsa,sysdefault:ALSA

gibt u.a. folgenden Output:
...
Opened output "alsa", mode "write". Format: s16_le, channels 6, srate 44100, interleaved.
...
Er findet also hier "output ... channels 6 ..." :D

(der Parameter "-b 4096" setzt die maximale Buffergröße, ohne dem hat's bei mir Aussetzer!)

"sysdefault:ALSA" sollte also HDMI sein. Leider habe ich keinen AV-Receiver da zum Testen. Am Monitor wird nur "left woofer, right woofer" ausgegeben. Ob die anderen Kanäle genutzt werden kann ich von hier aus leider nicht sagen :(

Hier nochmal der Link zur Anleitung bezügl. ecasound etc.:
http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/

Evtl. müsst ihr die Default-Soundausgabe von Klinke auf HDMI umstellen:
http://www.raspberrypi.org/documentation/configuration/audio-config.md

So, jetzt mal tierische Fette zu den Meeresbewohnern. Hab alles hier, welche Distribution sollte man denn verwenden?

Gruß, Onno

mcdwerner
23.04.2015, 12:21
@Onno: ich fühl mich jetzt mal angesprochen :-)
Ich hab bei mir kein spezielles OS drauf, ich glaub Raspbian. Bin grad in d. Arbeit, kann aber heute abend nochmal nachsehen, wenn Du willst.

Falls Du xbmc verwenden willst, dafür gibt's ne eigene Distribution:
https://osmc.tv/
Damit hab ich allerdings keine Erfahrung und xbmc läuft auch unter Raspbian:
http://www.raspbian.org/RaspbianXBMC


Was jetzt folgt sind rein theoretische Überlegungen von mir, mit HDMI, Mehrkanal etc. hab ich Null Erfahrung!
Hab mir jetzt nochmal meinen letzten Post angesehen, die Konfiguration war: PI =HDMI=> TV
Mein TV hat zwar nur Stereolautsprecher, aber wenn der über HDMI auf den anderen Kanälen was bekommt, müsste der dann nicht einen "Downmix" machen? Sonst geht mir doch Information (Sound) verloren? Was ich damit sagen will: Wenn meine Überlegung hier stimmt, dann hat mein PI bei meinem Test nur 2 Kanäle ausgegeben, da ja am TV nur "left woofer, right woofer" zu hören war!
Aber letztendlich: Versuch macht kluch ;)

Slaughthammer
23.04.2015, 12:28
Den Downmix macht üblicherweise schon der Player, der weiß ja, wie viele Kanäle an der Soundkarte zur Verfügung stehen.

Ich hab jetzt erstmal RuneAudio installiert, mal gucken ob ich damit klar komme.



Aber letztendlich: Versuch macht kluch ;)

Ich fürchte, da muss ich jetzt auch mal durch ;)

Gruß, Onno

The Alchemist
23.04.2015, 19:17
So ich denke wir machen mal hier weiter.
Hier eine kleine Anleitung, wie man mit putty auf den Pi zugreift

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-6-using-ssh/ssh-under-windows

Der Nutzer ist root das Passwort rune

Zusätzlich sollte noch 2 mal Runeaudio im Netzwer sichtbar sein, bei mir ist das einmal RUNEAUDIO und einmal runeaudio.

Wenn man auf "runeaudio" zugreifen möchte muss man sich ebenfalls anmelden.
Über das Netzwerk kann man dann bequem die config.txt, die sich im Ordner boot befindet editieren.

Gruß

Slaughthammer
23.04.2015, 19:41
Alles klar, Konsole über Putty, Dateizugriff über WinSCP läuft. Danke erstmal, den Rest werde ich schon irgendwie schaffen.

mcdwerner
23.04.2015, 19:49
geht vielleicht etwas zu weit aber falls ein tiefergehender Einstieg in Linux gewünscht ist empfehle ich:
https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-2
ich find's besser als Fernsehen ( was zugegebenermassen nicht schwierig ist ;- )

The Alchemist
23.04.2015, 20:46
Alles klar, Konsole über Putty, Dateizugriff über WinSCP läuft. Danke erstmal, den Rest werde ich schon irgendwie schaffen.

Engagierte Einstellung....:D

Ich mach totzdem noch ein bisschen weiter. Im Menu von Runeaudio treffen wir auf den punkt MPD. Dort kann man als Ausgabe "Audio output interface" RaspberryPI HDMI out wählen.... Ich hab zusätzlich noch den Eintrag in die config.txt gemacht (sicher ist sicher).

Die Installation der modifizierten MPD Version und von Brutefir:

Via SSH auf den pi und dann

sudo wget http://www.friedmann-elektronik.de/RuneAudio-RP2/mpd-rune-0.19.6-1-pipe-output-armv7h.pkg.tar.xz

dann wird das Paket geladen.

Installieren mit:
sudo pacman -U mpd-rune-0.19.6-1-pipe-output-armv7h.pkg.tar.xz

mit Y die Installation bestätigen.

Das gleiche nochmal für Brutefir:

sudo wget http://www.friedmann-elektronik.de/RuneAudio-RP2/brutefir-1.0m-1-armv7h.pkg.tar.xz

und installieren mit:

sudo pacman -U brutefir-1.0m-1-armv7h.pkg.tar.xz

Danach hab ich ein "PowerOff" über das Menü gemacht und vor dem Neustart das HDMI Kabel gesteckt.

(Der Pi mag es gar nicht , wenn an im laufenden Betrieb etwas in Ihn hineinsteckt

Ton kommt sofort über die im Monitor eingebauten Quäken..

Für heute dann erstmal Schluss.

Gruss




Was ist eigentlich mit Marcus S.?

Slaughthammer
23.04.2015, 21:25
Ich bin natürlich weiterhin für jede Hilfe dankbar ;)

"pacman -U" was heißt -U? konnte ich in den gängigen erläuterungen zu pacman nicht finden...

Und ich wollte eigentlich mit ecasound arbeiten, weil ich mich in die Falterei nicht auch noch einarbeiten möchte. Da sind mir PEQs etc einfach lieber. FIR-Filter hab ich bisher nur für die Bandpässe genutzt, und da mit einem einfachen Plugin, bei dem man einfach die Grenzfrequenzen angibt und fertig...

Naja, ecasound lässt sich mit sudo pacman -U nicht installieren:

[root@runeaudio ~]# sudo wget http://ecasound.seul.org/download/ecasound-2.9.1.tar.gz
--2015-04-23 22:06:36-- http://ecasound.seul.org/download/ecasound-2.9.1.tar.gz
Resolving ecasound.seul.org (ecasound.seul.org)... 128.31.0.34
Connecting to ecasound.seul.org (ecasound.seul.org)|128.31.0.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1057333 (1.0M) [application/x-gzip]
Saving to: 'ecasound-2.9.1.tar.gz'

ecasound-2.9.1.tar.gz 100%[==============================>] 1.01M 389KB/s in 2.7s

2015-04-23 22:06:39 (389 KB/s) - 'ecasound-2.9.1.tar.gz' saved [1057333/1057333]

[root@runeaudio ~]# sudo pacman -U ecasound-2.9.1.tar.gz
loading packages...
error: missing package metadata in ecasound-2.9.1.tar.gz
error: 'ecasound-2.9.1.tar.gz': invalid or corrupted package

Und jetzt weiß ich auch nicht mehr weiter :D

Gruß, Onno

Und was mit Marcus S. ist, habe ich mich auch schon gefragt...

The Alchemist
23.04.2015, 21:48
Die von mir verlinkten Dateien sind ARCH Pakete, was Du heruntergeladen hast ist der Quelltext von ECAsound, den kann man leider so nicht installieren. Wie man aus einem Quelltext unter ARCH ein laufendes Programm zustande bekommt ....:dont_know:hab ich noch nicht gemacht.
Vielleicht sollte ich mich mal damit beschäftigen. Anleitungen dazu gibt es im Netz, auch wie man dann ein Paket mit den Abhängigkeiten erstellt.

Ich hab aber ein wenig gegockelt und bin ein wenig demotiviert. Es scheint, als ob das Kernelmodul für den BCM2835 unter Alsa nur in Stereo funktioniert, so wie ich es verstanden habe wird alles auf 2.0 zusammengemischt. AC3 und DTS Passthrough sind kein Problem. Da ich kein AVR mit HDMI hab, kann ich das auch nicht testen.

Es gibt wohl ein paar Einschränkungen... Was ich machen kann, ist eine Brutefir_config und ein paar Filter stricken, die Du dann ausprobieren könntest. Dabei geht es dann hauptsächlich um den Test der Mehrkanalfähigkeit.

Gruss

mcdwerner
23.04.2015, 21:51
@Onno: die Option -U bedeutet "lokales Paket installieren", also eines, das Du runtergeladen hast
https://wiki.archlinux.de/title/Pacman

Ein richtiger Man(n) nutzt übrigens das eingebaute Manual auf der Konsole: man [befehl] also z.B.:
man pacman (beenden mit "q")

die Endung .tar.gz bedeutet, dass das ein gezipptes File ist, das du vermutlich erst entpacken musst:
https://wiki.archlinux.org/index.php/Tar

die hier behaupten übrigens, dass du ecasound nicht "manuell" installieren musst sondern über die sog. Paketverwaltung (pacman):
http://pacnet.karbownicki.com/package/ecasound/

Die Idee einer Paketverwaltung ist für einen Windowsuser ungewohnt, aber beim 2. Hinsehen genial:
http://de.wikipedia.org/wiki/Paketverwaltung

Also nix manuell runterladen sondern einfach den
sudo pacman -S ecasound
Befehl eingeben und die Paketverwaltung kümmert sich um:
Dateien runterladen und installieren (und zwar nicht nur für das Programm selber sondern auch für alle eventuellen Abhängigkeiten). Wenn Du auf diese Weise installierst wirst du auch über Updates auf dem Laufenden gehalten und für ein Update genügt pacman -Syu

Slaughthammer
23.04.2015, 22:12
Aha, prinzipiell klappt das auch, aaaber:


[root@runeaudio ~]# sudo pacman -S ecasound
resolving dependencies...
looking for conflicting packages...

Packages (11) blas-3.5.0-1 lapack-3.5.0-1 liblo-1:0.28-1 liboil-0.3.17-3
lilv-0.20.0-1 lv2-1.10.0-1 python2-numpy-1.9.1-1 serd-0.20.0-1
sord-0.12.2-1 sratom-0.4.6-1 ecasound-2.9.1-4

Total Download Size: 6.10 MiB
Total Installed Size: 36.77 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages ...
liblo-1:0.28-1-armv7h 42.9 KiB 715K/s 00:00 [######################] 100%
liboil-0.3.17-3-armv7h 125.8 KiB 1144K/s 00:00 [######################] 100%
blas-3.5.0-1-armv7h 84.4 KiB 1406K/s 00:00 [######################] 100%
lapack-3.5.0-1-armv7h 2.7 MiB 1354K/s 00:02 [######################] 100%
error: failed retrieving file 'python2-numpy-1.9.1-1-armv7h.pkg.tar.xz' from mirror.archlinuxarm.org : The requested URL returned error: 404
warning: failed to retrieve some files
lv2-1.10.0-1-armv7h 152.4 KiB 1386K/s 00:00 [######################] 100%
serd-0.20.0-1-armv7h 40.2 KiB 2011K/s 00:00 [######################] 100%
sord-0.12.2-1-armv7h 25.7 KiB 1287K/s 00:00 [######################] 100%
sratom-0.4.6-1-armv7h 13.1 KiB 1311K/s 00:00 [######################] 100%
lilv-0.20.0-1-armv7h 92.3 KiB 1318K/s 00:00 [######################] 100%
ecasound-2.9.1-4-armv7h 1004.5 KiB 1357K/s 00:01 [######################] 100%
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.

Es gibt da wohl gerade Probleme mit der Verfügbarkeit?

edit: google spuckt bei suche nach python2-numpy-1.9.1-1-armv7h.pkg.tar.xz häufig eine Datei mit der Versionsnummer 1.9.2.2 aus... Problem im Paket mit aktuellen/veralteten Versionen?

Slaughthammer
23.04.2015, 23:00
Onno, was hast Du für einen AVR?

Das ist meiner Meinung nach relativ unerheblich. Einen einfachen Direct Modus oder Pure Audio haben die eigentlich alle und welche ohne HDMI bekommt man auch kaum noch. Aber wenns dich interessiert: Ich nutze seit etwa 2 Jahren einen Onkyo TX-SR674E. Funktioniert ganz gut, hat für den Heimgebraucht locker genug Power. Lässt sich allerdings nicht intern auftrennen, zumindest nicht ohne da diverse Controller umzuprogrammieren. Läuft im Wohnzimmer an meinen Knallfröschen, wird über eine ESI Gigaport HD+ am Multichannel In befeuert.

Könnte aber im Wohnzimmer von meiner neuen Errungenschaft, einem Pioneer VSX-1018 AH abgelöst werden, wenn der sich auftrennen lässt. Ich träume nämlich immer noch davon, am AVR umschalten zu können, ob die Musik ausm Rechner oder vom CD-Player kommt. Wenn man auch noch analoge Quellen so mit dran bekommt, wäre es auch gar nicht schlecht. Habe mich aber bisher noch nicht mit dem Pioneer befasst....

Ich vermute, dass die ernshaften Qualitätsunterschiede zum einem im mechanischen Aufbau liegen, zum anderen bei so Sachen wie Einmesssystem, Rescaling der Bildformate etc. also alles Sachen, die uns hier eher nicht betreffen.

Beide AVRs habe ich bei Ebay für ~150€ bekommen, wichtig war mir in erster Linie einen mit metallischer Front zu bekommen, WAF und so...

Gruß, Onno

sion
24.04.2015, 06:23
[Es gibt da wohl gerade Probleme mit der Verfügbarkeit?

edit: google spuckt bei suche nach python2-numpy-1.9.1-1-armv7h.pkg.tar.xz häufig eine Datei mit der Versionsnummer 1.9.2.2 aus... Problem im Paket mit aktuellen/veralteten Versionen?

Hallo Onno,

möglicherweise ist die Paketdatenbank nicht aktuell. Bei Debian lautet der entsprechende entsprechende Befehl apt-get update. Mit arch-linux bin ich nicht vertraut. Du findet umfassende Informationen zum arch-linx Paketmanager hier:
https://wiki.archlinux.de/title/Pacman
Du müsstest also erst

pacman -Syausführen.
Danach sollten sich die Pakete installieren lassen.
Warnung: Bevor Du pacman -Su oder pacman -Syu ausführt (das findet sich ebenfalls in der verlinkten Seite), solltest Du Dich auf der Rune-Audio-Seite vergewissern, dass Du Dir damit nicht Dein System zerschießt. Bei volumio kann so etwas wegen angepasster Skripte bös enden ...

Gruß

Klaus

mcdwerner
24.04.2015, 07:18
@Onno: hatte ich gestern vergessen. Wie sion schreibt sollte man vor der Installation oder dem Update von Paketen immer die lokale Datenbank aktualisieren, damit die Abhängigkeiten richtig aufgelöst werden.

Zu der obigen Meldung, falls pacman -Sy nichts bringt: Du könntest versuchen zuerst numpy zu installieren (pacman -S python2-numpy) und danach ecasound, dann sollte die Abhängigkeit bereits erfüllt sein. Ich denke (hoffe) nicht, dass ecasound exakt von der numpy-Version 1.9.1-1 abhängig ist.

@sion: falls ein einfaches Update (das evtl. auch wichtige Sicherheitsupdates enthalten kann) eine Distribution zerschiesst, dann ist imho die Distribution Sch...se.

sion
24.04.2015, 07:48
@sion: falls ein einfaches Update (das evtl. auch wichtige Sicherheitsupdates enthalten kann) eine Distribution zerschiesst, dann ist imho die Distribution Sch...se. Sehe ich durchaus ebenso. Ist (neben anderen) auch ein gewichtiger Kritikpunkt an volumio. Meine Warnung gab ich deshalb, da volumio und Runeaudio ein Fork von RaspiFi sind. Ich vermute, dass es bei Rune-Audio besser gelöst ist. Aber, wie gesagt, vielleicht doch erst mal schlau machen.

Gruß

Klaus

edit: P.S.: http://www.runeaudio.com/forum/how-do-i-update-to-latest-night-of-runeos-t786.html

The Alchemist
24.04.2015, 08:02
Ein einfaches
sudo pacman -Sy zerstört gar nichts. Ecasound lässt sich danach installieren.

Als Ausgabe beim Test kommt Left Woofer, Right Woofer, würde zusammen gemischt müssten die anderen Kanäle auch über Rechts und Links ausgegeben werden. Das passiert schon mal nicht. Auch am Fernseher bekomme ich nur 2 Kanäle.

Was die Möglichkeit von Updates angeht, sollte man bedenken, dass es sich um Spezialanwendungen handelt, da darf es auch Einschränkungen geben.
Bei Volumio sehe ich allerdings das Problem, das Fehler immer weiter mitgeschleppt werden und gute Programmierer wie bei Runeaudio fehlen.

Gruß

Slaughthammer
24.04.2015, 13:20
Wenn ich das jetzt so lese, denke ich mir nur: Warum bin ich da nicht selber drauf gekommen? Naja... Bin halt ein elender Linux n00B, ich hoffe da ist das zu verziehen. Mal schauen, was ich an Multichannel Output zustande bringe. Hardwaretechnisch kann der Pi das, mit OMX ist es zumindest möglich. Man müsste nur wissen, wie OMX dazu die Ausgänge anspricht...??

Gruß, Onno

mcdwerner
24.04.2015, 14:03
@Onno: das einzige, was ich nach kurzer Recherche rausfinden konnte ist, dass OMX nicht ALSA benutzt.
interessant wären die Ausgaben von:
cat /proc/asound/cards
und
aplay -L (funktioniert nur, wenn alsa-utils installiert sind)
dort könnte man weiterforschen

Slaughthammer
24.04.2015, 14:09
Kein Problem:


[root@runeaudio ~]# cat /proc/asound/cards
0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
[root@runeaudio ~]# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device

alsa-utils sind standardmäßig dabei.

Wenn omx nicht alsa nutzt, was dann? ecasound kann auch diverse andere ausgabemodule nutzen:


Supported Audio Inputs/Outputs

Soundcards via ALSA (Advanced Linux Sound Architecture), audio subsystem for Linux-2.6 and newer kernels
JACK, a low-latency audio server
Soundcards via OSS (/dev/dsp), Open Sound System, audio subsystem for various Linux/BSD/UNIX systems
aRts, audio server (KDE 2.x and newer)

Nachtrag: Jack ist in Runeaudio standardmäßig mitinstalliert. Zumindest sag Pacman das, wenn ich Jack2 installieren will... mal gucken, was man damit anstellen kann!

Ok, Jack setzt sich wohl auch nur vor ALSA... Ich versuche gerade herauszufinden, wie man OSS installiert. Vllt erkennt der ja den HDMI als 7.1 PCM Ausgang?

mcdwerner
24.04.2015, 14:36
wenn mich meine Mini-C++Kenntnisse nicht im Stich lassen, haben die OMX-Leute praktisch einen eigenen Treiber bzw. ein eigenes Routing programmiert :
https://github.com/huceke/omxplayer/blob/master/OMXAudioCodecOMX.cpp

Ich vermute mal das hätten die nicht gemacht, wenn's mit ALSA "out of the box" gehen würde :-(

Slaughthammer
24.04.2015, 14:50
Habe gerade hier nochmal zurückgelsen, du hattest doch schonmal von ecasound eine bestätigung, dass 6 cannel pcm läuft?

hab jetzt mal mit meinem alten Raspi rumgespielt, dieser Befehl:
ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o alsa,sysdefault:ALSA
Habe ich mal bei mir in die Shell kopiert, und klar, chan_lables_6.wav wurde nicht gefunden... was ist das für eine Datei?

Gruß, Onno

The Alchemist
24.04.2015, 15:16
Die Datei kommt vom Taylor:


wget http://faculty.tru.ca/rtaylor/rt-plugins/chan_labels_6.wav

Gruß

Slaughthammer
24.04.2015, 15:29
Ok, ich höre auch nur left und right woofer....


[root@runeaudio ~]# ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o alsa,sysdefault:ALSA
************************************************** ************************
* ecasound v2.9.1 (C) 1997-2014 Kai Vehmanen and others
************************************************** ************************
(eca-chainsetup-parser) Looping enabled. Length of input objects will be
... used to set the loop point.
(eca-chainsetup-parser) Setting buffersize to (samples) 4096.
(eca-chainsetup) Chainsetup "untitled-chainsetup"
(eca-chainsetup) "rtlowlatency" buffering mode selected.
(eca-chainsetup) NOTE: using existing audio parameters -f:s16_le,6,44100
... for object 'chan_labels_6.wav' (tried to open with -f:s16_le,2,44100).
(eca-chainsetup) Opened input "chan_labels_6.wav", mode "read". Format:
... s16_le, channels 6, srate 44100, interleaved (locked params).
(eca-chainsetup) Opened output "alsa", mode "write". Format: s16_le,
... channels 6, srate 44100, interleaved.
(eca-chainsetup) Setting loop point to 5.81.
- [ Connected chainsetup: "untitled-chainsetup" ] ------------------------
- [ Controller/Starting batch processing ] -------------------------------
- [ Engine - Driver start ] ----------------------------------------------
WARNING: ALSA playback underrun, glitches in audio playback possible! Break was at least -346505479.04 ms long.
WARNING: ALSA playback underrun, glitches in audio playback possible! Break was at least -346505488.93 ms long.


Wie beendet man den Loop? Wird langsam nervig...

mcdwerner
24.04.2015, 15:36
Beenden in der Konsole: CTRL+C

rst1
24.04.2015, 15:39
Moin,



Die Datei kommt vom Taylor:


wget http://faculty.tru.ca/rtaylor/rt-plugins/chan_labels_6.wavGruß

gibts zu dem Ding irgendwo weitergehende Erläuterungen? Ich hab hier auf verschiedenen PCs und Abspielsoftwares teils unterschiedliche Ergebnisse.. auf dem Laptop fehlt "right mid" immer, am grossen PC fehlts nur beim abspielen mit VLS, mit Winamp ist "right mid" vorhanden, aber deutlich lauter als "left mid", ausserdem kommen die nicht sauber von links oder rechts, "mid" kommt beides eher aus "center" (den ich hier aber nicht hab) *kopfkratz* Ist das so richtig wenn man das normal als Stereo abspielt? Oder ist meine Systemkonfig irgendwie im Eimer?

Slaughthammer
24.04.2015, 16:28
Das ist einfach eine 6-Kanal Audiodatei. Foobar spielt die einwandfrei als 5.1 ab, die Kanäle sind wohl als Left, Right, Surround Left, Surround Right, Center und LFE gekennzeichnet.... Ist hier aber offtopic ;)

Wie das bei dir Wiedergegeben wird, kann man ohne dein System und Konfiguration zu kennen nicht genau sagen. Bei meinem Windows Sytem unter Foobar läufts sauber, wenn ich Foobar sagen, welchen Kanal es auf welchen Soundkartenausgang routen soll (per Asio)

Man muss für DS-Support dafür das Ausgabegerät als 5.1 Konfigurieren, damit es sauber wiedergegeben wird. Aber wie gesagt, das ist hier gerade etwas offtopic.

Gruß, Onno

The Alchemist
24.04.2015, 22:00
So, ich hab gerade etwas länger versucht 6 Kanäle mit Brutefir über HDMI zu initialisieren. Leider hat nichts geklappt. Alles was über 2 Kanäle hinausgeht wird mit Fehlermeldungen quittiert.
(Stereo mit Brutefir über HDMI ist problemlos möglich)

Mit meinen spärlichen Linuxkenntnissen bin ich da leider vorerst am Ende.

Gruß

Slaughthammer
24.04.2015, 22:10
Sieht bei mir jetzt ähnlich aus. Ich hab da noch ein paar Linuxhacker an der Hand, wenn ich in 6-8 Wochen wieder einigermaßen Fit bin, werde ich mir da mal Hilfe holen. In der Zwischenzeit mach ich mal mit den Lautsprechern, die damit später betrieben werden sollen weiter.

Gruß, Onno

soundcheck
04.05.2015, 14:04
Habe seit geraumer Zeit die Filter von RTaylor im 4 Kanal-Setup laufen. Ich nutze den Crossover, Equalizer und Timer.

Funktioniert wunderbar.

Ich gehe dabei über die "pipe" von squeezelite->ecasound->Alsa->USB.

Man benötigt ein spezielles Start-Script, um beide Apps geichzeitig zu starten.


Natuerlich steht und fällt alles mit einem guten Multichannel-DAC, der auch von Alsa unterstuetzt wird.
Ich nutze ein RME Fireface UCX mit Thel PowerSupply im Class Compliant Mode. (Limit: 24/96khz)

Allerdings sollte man nicht vergessen, dass man nur sehr aufwendig unterschiedliche Samplerates unterstuetzt bekommt.
Soll heissen. Vor dem Crossover muss noch alles auf eine zuvor festgelegt Samplerate rauf- bzw. runter gesampled werden.
Ein aggressives qualitativ hochwertiges Upsampling allein führt zu einer erheblichen Mehrbelastung des Systems.
Also habe ich alles bei 44.1/24 belassen. HiRez Ade.

Für mein Setup wird übrigends kein Jack benötigt! Man kann die Ausgänge des UCX direkt über Ecasound ansprechen.

Auf jeden Fall sollte man mit einem Debian basierenden System starten. All die benötigten Pakete sind unter Arch Linux nicht unbedingt verfügbar.

Das alles ohne tiefere Linux Kenntnisse hinzubekommen betrachte ich als echte Herausforderung.

Daher besser nen MiniDsp (NanoDigi o.ä.) kaufen.



Viel Spass.

The Alchemist
04.05.2015, 15:21
Hier ging es darum mehrkanalig über HDMI auszugeben, über USB ist das kein Problem, das hab ich mit Brutefir mit 6 Kanälen und Luft nach oben schon getestet. (mit Pipe von MPD auf Brutefir, da braucht es nicht einmal ein Script um das zu starten)

Space
13.05.2015, 16:20
Ich gehe dabei über die "pipe" von squeezelite->ecasound->Alsa->USB.

4 Kanäle über USB des Raspberry... was hast du getan, damitv es ohne Dropouts funktioniert?

The Alchemist
13.05.2015, 16:30
Der Pi 2 macht das vollkommen ohne Probleme. Das Singlecore Modell schafft das nicht.

Gruß

soundcheck
15.05.2015, 13:34
4 Kanäle über USB des Raspberry... was hast du getan, damitv es ohne Dropouts funktioniert?

Der B+ macht das sogar 6-kanalig ohne Dropouts.
Man muss natuerlich die jeweilgen Prozess Prioritäten und Puffer entsprechend anpassen. Und wie gesagt. Aufwändige Upsampling Prozesse sollten vermieden werden.
Squeezelite Ausgangs Thread Prioritäten und Ecasound Prioritäten muessen aufeinander abgestimmt and elevated sein.

Zudem sind natuerlich die wohl bekannten HW/OS Optimierungen (Speicher/CPU/etc) für einen RPI B+ anzuwenden.

Viel Spass

Michael20
20.05.2015, 06:29
So seit gestern den Raspi2 am laufen, mit RuneAudio. Bootzeit wirklich top, 7sec erreich ich aber nicht ganz.

Die HDMI Ausgabe ist bei euch auch so mit Artefakten gefüllt, nicht das der Raspi2 einen HW defekt hat :confused:

Nutzt ihr eine App zum ansteuern, welche?

Slaughthammer
20.05.2015, 23:30
Stereoton über HDMI sollte eigentlich sauber laufen in Runeaudio, zumindest tuts das bei mir. Evtl mit anderem Empfangsgerät testen?

Gruß, Onno

Michael20
21.05.2015, 07:05
Es geht um die Bild ausgabe ;) Ton kommt über Hifiberry :dance:

Slaughthammer
21.05.2015, 14:09
Bin noch nicht auf die Idee gekommen, da einen Monitor anzuschließen.... Mögliherweise ist RuneAudio da dann auch einfach das falsche Betriebssystem, afaik ist da nur SSH und Webinterface vorgesehen.

Gruß, Onno

The Alchemist
21.05.2015, 15:07
Also der HDMI Ausgang sollte keine Artefakte produzieren, eventuell mal ein anderes Kabel probieren?

Ich nutze eins von TEDI...ca. 4€

Gruß

soundcheck
26.05.2015, 08:35
Hab nun auch einen PI2.

Moode Audio ist sehr zu empfehlen. http://tcmods.org/
Natuerlich für die Leute, die mit MPD als Player klarkommen.
Ist natürlich artverwandt mit Rune oder Volumio.
Für mich ist allerdings keins der obigen MPD Installationen ein Thema.
Möchte z.B. Qobuz nicht mehr missen und auch die Networking/Multi-Client Funktionen sind alles andere als vergleichbar mit einer LogitechMediaServer und Squeezelite Lösung.

Ich habe mir SoA (Squeeze on Arch) installiert. Leider gibt es für den PI2 kein fertiges SoA Image. Man muss sich erst das Standard Minimal Arch Image installieren und dann die SoA Scripts runterladen und laufen lassen. Ohne Linux Kenntnisse oder HowTo ist das nicht zu bewerkstelligen.

Mein erster Eindruck vom PI2. Er bringt bei meinen Anwendungen keine Vorteile fürs Streaming.
Auch scheint das Multiprozessor Handling vom Kernel/OS alles andere als ausgereift. Nahezu der gesamte Load spielte sich auf dem 1. Prozessor ab.
Ich habs dann z.B. auch nicht geschafft einen IRQ einem bestimmten Prozessor zuzuordnen.
Mit einigem Aufwand schafft man es allerdings z.B. die Player App einem "isolierten" Prozessor zuzuordnen. Ein einfaches "taskset" reicht nicht aus.

Mal sehen, was ich da noch rausholen kann. Muss mir als nächstes erst einmal meinen eigenen "Audio"-Kernel für den PI2 generieren.

Gruss

The Alchemist
26.05.2015, 10:13
Auch scheint das Multiprozessor Handling vom Kernel/OS alles andere als ausgereift. Nahezu der gesamte Load spielte sich auf dem 1. Prozessor ab.


Diese Aussage kann ich nicht nachvollziehen, mit Raspbian und Runeaudio 0.3 laufen Anwendungen, die meherere Kerne nutzen, vollkommen ohne Modifikation auf diesen verteilt.
Kleines Bild Runeaudio und Brutefir.

soundcheck
26.05.2015, 11:13
Werd mal checken was bei meiner Arch Installation diesbezueglich abgeht.

Allerdings bin ich eh eher daran interessiert mein Audio Zeugs zu isolieren.

Irgendwelche Ideen wie man die CPU Affinity von IRQs (momentan alle auf CPU0) auf dem PI2 ändern kann? Bei mir gibt es lediglich I/O Fehler beim Versuch neue Zuordnungen zu schaffen.

The Alchemist
01.12.2015, 19:28
Ursprünglich hatten wir hier die Diskussion um Multichannel über HDMI auf dem PI begonnen. Es geht, zumindest für unsere Zwecke

Mein erster Versuch ist ja vor ein paar Tagen gescheitert, allerdings nahm ich an, dass der Kernel den verwendet hatte, Multichannel fähig war. War er nicht.

Mehrfaches erneutes gockeln brachte neue Erkenntnisse für mich und zwangen mich dazu meinen ersten Kernel zu kompilieren.

Die Kernelmodule teste ich grade; zumindest bei 8 Kanälen, 44100 Hz S16_LE scheint die Welt fast in Ordnung.

Das Channelmapping ist nicht konform, die Kanäle werden durcheinander gewürfelt, wenn sie aber immer gleich bleiben, kann man damit leben...

Gruß

Slaughthammer
01.12.2015, 20:27
Ich melde mal großes Interesse an weiterem Fortschritt bis hin zu einer dokumentierten Lösung hin an! Meine Linux-Kenntnisse sind leider minimal, daher kann ich da nicht mitwirken...

Gruß, Onno

soundcheck
02.12.2015, 08:43
Übrigends.

Die IRQs lassen sich beim PI(2) keiner anderen CPU zuordnen.
Sie sind fest mit CPU0 verbunden.
Das jedenfalls erlauben andere Boards.

Ah. Und Multichannel und DSP - selbst einfaches Resampling - würd ich auf einem PI(2) auf jeden Fall vermeiden. Das Teil läuft unheimlich schnell an den Anschlag.

Einfaches Streaming ist OK. Klingt sogar richtig gut. Mehr aber nicht.

Habe mir einen aktuellen i5 NUC gekauft. Damit geht z.B. MC-DSP, Resamplen, oder Convolution. Jetzt hat die liebe Seele Ruh.

Gruss

The Alchemist
02.12.2015, 09:19
...

Ah. Und Multichannel und DSP - selbst einfaches Resampling - würd ich auf einem PI(2) auf jeden Fall vermeiden. Das Teil läuft unheimlich schnell an den Anschlag.

....
Gruss

Alle meine Versuche mit Mehrkanalwiedergabe und Brutefir über USB liefen zu meiner vollsten Zufriedenheit.
Die Aussage kann ich daher nicht nachvollziehen und werde sie auch nicht weiter kommentieren.

Jetzt geht es hier um die Nutzung von HDMI, was einen AVR vorraussetzt. Die scheiden für die Goldohren ja sowieso aus.

Gruß

soundcheck
02.12.2015, 09:50
Offensichtlich sprichst du von 44.1./16.

Das hast du ja nach diversen "Kernel Manipulationen" gerade noch eben hinbekommen. Nun ja. 16bit Audio nach 64bit DSP. Tatsächlich nichts für Goldohren.

Über die Anzahl der Taps und die Qualtät beim Resamplen wollen wir dann gar nicht erst sprechen.

Und sich dann über Goldohren lustig machen.

Und. Ich habe da so eine Regel:

"Gefalteter Mist, bleibt Mist!"

Also.
Regel Nr.1: Erst einmal die Anlage in Ordnung bringen und dann mit den Bits spielen.
Das werden dir sogar Uli und die anderen Oberfalter bestätigen.


Viel Spass.

The Alchemist
02.12.2015, 15:35
Ui, ui, ui. Oberfalter.... ich wußte gar nicht, dass es so etwas gibt! :D

Tatsächlich geht es hier um die highfidele Holzklasse; 44,1/16 ist mein Ausgangsmaterial (die gerippte CD Sammlung), Brutefir läuft mit 32 bit und einer Filterlänge von 65536 Taps (dabei schafft der Pi mit MPD und Brutefir via Pipe 2 Eingangs- und 6 Ausgangskanäle locker, getestet über USB) und die Ausgabe wird auf dem Pi wieder mit 16 bit via HDMI erfolgen. Das ist das Ziel.

Das ich das "eben so hinbekommen habe" siehst Du ebenfalls ganz richtig, weil ich die Versuche, die andere schon gemacht haben, ausgelassen habe und mich auf das beschränkt habe, was sicher und störungsfrei läuft.

Meine Anlage ist vollkommen in Ordnung und auch bei meinem Gehör hat mir mein HNO ein für mein Alter überdurchschnittliches Hörvermögen attestiert.

Dem Spielen mit Bits steht also nichts im Wege, worauf ich nach über 5 Jahren Brutefir gerne verzichte, sind die Ratschläge der Oberfalter.

Zur weiteren Abschreckung sollte ich vielleicht noch erwähnen, dass ich ein HDMI Kabel von TEDI (1m) und eines von LIDL (2,3m mit knickbaren Steckern) verwende.


@Onno, hast Du einen 7.1 oder ein 5.1 Receiver? Ich würde gerne wissen wie die Belegung bei einem 5.1 aussieht. Tiefgreifende Linuxkenntnisse sind dafür nicht notwendig.

Gruß

soundcheck
02.12.2015, 16:33
Ok.

Also dann geht's tatsächlich wieder auf 16 Bit zurück.

Ich gehe dann davon aus, dass diese 16Bits noch anständig ditherst und auf digitale Lautstärkeregelung vollständig verzichtest, ums nicht noch
schlechter zu machen.

Nun ja. So ganz geht das natuerlich nicht. Selbst wenn man darauf
verzichtet - im Jahre (fast) 2016 - mit seinem Tablet/Phone die Lautstärke zu regeln, beim Falten stutzt du die Daten auf jeden Fall erst einmal zusammen.

Aber sicherlich wiegt der klangliche Vorteil deiner Vorgehensweise diese kleinen, doch eher vernachlässigbaren Einwände bei weitem auf.

Kann ich verstehen. Habe ich auch mehr als einmal gehört.

Also. Viel Spass.

Wenn mein neues System wieder auf den Punkt spielt, werde ich auch nocheinmal an Brutefir und rephase rangehen. Hab's schon mehrfach in der Vergangenheit versucht und wieder verworfen.
Allerdings wird das Ganze dann auf meinem i5 NUC LMS Server mit 24bit und nativen Samplerates 2-kanalig zur Raumentzerrung eingesetzt.

Slaughthammer
02.12.2015, 17:24
@Onno, hast Du einen 7.1 oder ein 5.1 Receiver? Ich würde gerne wissen wie die Belegung bei einem 5.1 aussieht. Tiefgreifende Linuxkenntnisse sind dafür nicht notwendig.

Gruß

Ich hab hier nur 2 7.1 Reciever, einen Onkyo TX-SR674E und einen Pioneer VSX-1018AH.

Channelmapping klappt eh nie automatisiert, haben schon viele wieder aufgegeben. Kriegt man aber manuell hin, und sollte dann auch stabil sein.

Gruß, Onno

The Alchemist
10.12.2015, 14:03
So ein kleiner Zwischenbericht. Auf dem Hummingboard läuft es jetzt, nachdem mich die Monitorabschaltung ein paar Tage lang genervt hat und mir regelmäßig nach einer halben Stunde den Ton abgedreht hat.(Da hatte ich den Fehler an ganz anderer Stelle gesucht....) Es läuft MPD und Brutefir 2x2 über Pipe, die Prozessorlast liegt bei 45-50%. Im Gegensatz zu Volumio und Derivaten kann ich keine Lastspitzen, die deutlich darüber liegen, erkennen.

Der Raspi. Alles was auf dem Raspi derzeit in Mehrkanal über HDMI läuft is "speaker-test". Wann immer ich versuche mehr als 2 Ausgabe-Kanäle in Brutefir zu initialisieren, bekomme eine Fehlermeldung. Da gehen mir auch so langsam die Ideen aus woran das liegen könnte. :o Eventuell kamn man ein Krücke versuchen und das Signal in DTS umwandeln....

Gruß

Slaughthammer
10.12.2015, 19:22
Aber "speaker-test" arbeitet doch auf ALSA? Und darüber bekommst du Mehrkanalton? Dann muss es doch eigentlich auch von anderen Anwendungen aus gehen? Mal mit Ecasound ausprobiert?

Gruß, Onno

The Alchemist
10.12.2015, 21:50
So er faltet doch. :thumbup: Zur Zeit 2 Ein -4 Aus. Komplett neuinstalliert und die gleiche Fehlermeldung wie zuvor. Dann hab ich die Partitionierung in Brutefir geändert und schwups: Ton.

Ich hätte nicht gedacht, das dies die Fehlerquelle seien könnte, da die Verkleinerung und Vielfachung der Partitionen eine "höhere" Prozessorlast verursachen.
Die liegt bei 2 Prozessoren bei ca. 30%. Dann werd ich mich mal dran begeben und die Grenzen ausloten....:D


Gruß

The Alchemist
11.12.2015, 14:09
In einem Anflug von Selbstgeißelung hab ich mal probiert mit dem Singlecore (Pi B+) zu falten :D . Bei 2 Ein- 4 Ausgabekanälen schafft er mit geschickter Filter Partitionierung immer noch eine Filterlänge von 8192 Taps (2048,4).

Bei "Medium" Übertaktung liegt die Prozessorlast zwischen 85-90%.(nicht übertaktet kratzt er immer an den 100%)

Ausser dem Kernel habe ich nichts selbst kompiliert. Als Grundlage dient das Raspbian Jessie Lite Image. MPD wird wohl neuerdings mit Pipe kompiliert und auch das Gespann FFTW/ Brutefir kommt unverändert aus den Quellen....

Gruß

Slaughthammer
21.12.2015, 22:11
wow wow... irgendwie sind die letzten beiden Posts an mir vorbeigegangen.

Also noch mal ganz langsam: Du hast auf einem Raspberry Pi 2 Mehrkanaloutput über den HDMI-Port zum laufen gebracht? Könntest du das Image dafür mal irgendwo hochladen? Ich wäre dir zu maximalem Dank verpflichtet!

(Kernel kompilieren übersteigt leider meine Fertigkeiten...)

Gruß, Onno

The Alchemist
21.12.2015, 22:24
Für das "aktuelle" Jessie Lite, (vom November) reicht es aus die Kernelmodule auszutauschen, die kann ich problemlos hochladen. (Meine Inet Verbindung ist "Volumen-Basiert" (call&surf via Funk) daher gibt es kein komplettes Image)
Eventuell schaffe ich es aber eine kurze Anleitung zu schreiben (bei mir ist momentan ziemlich viel im Umbruch und dann ist auch noch Weihnachten...).
Ich habe meine Bash Historie gesichert und kann eigentlich eien Schritt für Schritt Anleitung "versuchen"

Gruß

PS: Ich habe auf dem Pi2 und auf dem Pi 1 (singlecore) Mehrkanal über HDMI :prost:

Slaughthammer
21.12.2015, 22:29
Ich habe auf z.B. GitHub mehrere Threads zu dem Thema gefunden, die letztendlich aber im Sande verlaufen...

Für so eine "idiotensichere" Nachbauanleitung wäre ich dir auch sehr dankbar!

Gruß, Onno

The Alchemist
22.12.2015, 20:43
So was jetzt folgt ist eigentlich nichts für blutige Linux Neulinge und sonstige pingophobe Pesrsönlichkeiten, aber trotzdem können auch diese Randgruppen mit der Anleitung zurecht kommen und Fragen stellen.
(Ich hatte auch überlegt einen neuen Thread aufzumachen hab das aber verworfen.)
Was setze ich vorraus: Das Einloggen via SSH (bei mir läuft alles darüber), die Bedienung von "nano" und "raspi-config", die IP vom NAS und das zur Zeit aktuelle Raspbian Jessie lite, mit dem Kernel 4.1.13.)
Wer einen anderen Kernel benutzt muss sich den Kernel selbst kompilieren und in den Kernelquellen die Datei sound/arm/bcm2835-pcm.c ewtwas verändern, genauer dort den Parameter "channels_max = 2" .
auf 8 erhöhen :)
Ich nehme an, dass auch beim Einloggen via SSH unter Windows Drag&Drop benutzt werden kann....
In dem Anhang befinden sich alle Dateien die wir für eine Test brauchen, die Brutefir-Config für 2x2 Wege und die dazugehörigen Convolver Filter und die mpd.conf. In diesem Fall ist es ein FAST mit einer Trennfrequenz von 140 Hz, also Bitte keinen Hochtöner anklemmen.
Die Filter sind kurz gehalten (8192 Taps), damit dieses kleine Beispiel auch auf dem PI 1 läuft.
Persönlich bin ich der Meinung, dass man mit einem solchen Filter immer noch mehr möglichkeiten hat als mit einem timmermannschen Bauteilegrab.

Also Einloggen via SSH und es geht los (user pi pass raspberry):
Den Editor Nano beendet man mit der Tastenkombination "Strg"+"x" danach wird man gefragt,ob die Änderung gespeichert werden soll was man mit der Taste "y" bestätigt.

Kleine Vorbereitung , ein Fehler der mich ein wenig Nerven gekostet hat, war das Abschalten der Musik nach 30 Minuten, dann wird nämlichder Bildschirm ausgeschaltet,
was bei HDMI das Ende der Musikwiedergabe bedeutet:

sudo nano /etc/kbd/configden Wert POWERDOWN_TIME=30 setzen wir mal etwas hoch, ich hab 3000 genommen.

Bevor wir etwas installieren müssen wir die SD Karte erweitern:

sudo raspi-config und Punkt 1. ist gleich Expand Filesystem.

Danach ein Reboot und nach dem Einloggen beginnen wir der Installation:

sudo apt-get install mpd brutefir samba samba-common htop ca. 61 MB werden herutergeladen und installiert, was uns ein Kaffepause oder ähnliches gönnt...

Wir prüfen die Funktion Pipe auf vorhanden sein:

mpd -Vworauf wir folgendes unter Output plugins finden sollten:

shout null fifo pipe alsa roar ao oss openal pulse jack httpd recorderBrutefir testen wir ähnlich:

brutefirwonach uns brutefir mitteilt : "No inputs defined"
Dann erzeugen wir Ordner, Gruppen, Nutzer, und setzen Rechte ...

sudo addgroup falter
sudo adduser falter --ingroup falter
sudo usermod -aG root falter
sudo adduser falter sudo
sudo usermod -aG audio mpd
sudo usermod -aG audio falter
sudo mkdir /mnt/NAS
sudo chmod 755 /mnt/NAS
sudo chmod g+w /var/lib/mpd/music /var/lib/mpd/playlists
sudo chgrp audio /var/lib/mpd/playlists /var/lib/mpd/music
sudo ln -s /mnt/NAS /var/lib/mpd/music/NAS
Wir werden aufgefordert ein neues Passwort für den Benutzer "falter" einzugeben. Wir denken uns eins aus, geben es wie erfordert noch einmal ein und bestätigen dann ein paar mal mit Return.
Wir löschen die Samba Beispielkonfiguration:

sudo rm /etc/samba/smb.confUnd ersetzen sie durch eine Neue:

sudo nano /etc/samba/smb.conf
####################samba.conf####################
#======================= Global Settings =======================

[global]

workgroup = WORKGROUP
server string = Audio Player
dns proxy = no
log level = 0
syslog = 0

security = share
guest account = root
map to guest = bad user
load printers = no
domain master = no
local master = no
preferred master = no


#======================= Share Definitions =======================

directory mask = 0775
create mask = 0775


[NAS Music]
comment = NAS stored music library
path = /var/lib/mpd/music/NAS
read only = no
public = yes
follow symlinks = yes
wide links = yes

#falter
[falter]
comment = falter
path = /home/falter
read only = no
public = yes
follow symlinks = yes
wide links = yesSpeichern und ein Reboot

Nach dem können wir über das Netzwerk auf den Pi zugreifen und unsere Dateien aus dem Anhang in den Netzwerkordner "falter" kopieren. Zusätzlich loggen wir uns über SSH ein.

Die beiden Dateien und die drei Ordner aus dem Anhang kopieren wir in den Netzwerkordner "falter".

Dann löschen wir die alten Kernel Module:


sudo rm -r /lib/modules/4.1.13+/kernel/sound
sudo rm -r /lib/modules/4.1.13-v7+/kernel/soundum sie sofort gegen die neuen zu ersetzen (aus dem Anhang):


sudo cp -r /home/falter/quad/sound /lib/modules/4.1.13-v7+/kernel/
sudo cp -r /home/falter/single/sound /lib/modules/4.1.13+/kernel/Jetzt nur noch mpd einrichten: Wofür wir die mitgelieferte mpd.conf verwenden.


sudo cp /home/falter/mpd.conf /etcwas jetzt noch fehlt ist das Einhängen des Netzwerklaufwerks auf dem sich die Musik befindet. Bei mir geschieht das über eine SMB Freigabe über folgenden Befehl:


sudo mount -t cifs -o username=volumio,password=volumio //192.168.202.38/music /mnt/NASDie ersten Zeichen nehmen wir so hin, Benutzername und Passwort sollte ebenfalls jeder kennen, danach folgt die IP vom NAS (anpassen), der Ordner in dem sich die Musik befindet (anpassen) und das Ziel (mnt/NAS, hier bitte nichts verändern)

Wenn wir den Befehl individuell angepasst haben, schauen wir nach der Eingabe ob es auch geklappt hat. Wir wechseln in das Verzeichnis:


cd /mnt/NASund anschliessend

ls dann sollten dort Musikordner oder die Dateien gelistet sein.

Wenn das geklappt hat lassen wir den Befehl bei jedem Start ausführen und verewigen ihn in der Datei /etc/rc.local vor der Zeile "exit"
also
sudo nano /etc/rc.localDer Erarbeitette Befehl wird dort ohne sudo eingefügt, also bei mir wäre das:


mount -t cifs -o username=volumio,password=volumio //192.168.202.38/music /mnt/NASDann abspeichern. (kleiner Tip mit den Pfeiltasten, kann man die letzten Befehle in der Konsole wieder hervorholen, und dann auch mit Copy und Paste, also per maus kopieren. Dann vertippt man sich nicht wenn man endlich das NAS eingebunden hat.)

Dann nur noch eine Kleinigkeit, die dafür sorgt, dass das Dateisystem beim Start ggfs. repariert wird:



sudo nano /etc/default/rcS und dann setzen wir

FSCKFIX=noauf

FSCKFIX=yesNutzer eines Single Cor Pi müssen nun noch leicht übertakten. Also raspi-config aufrufen und dann ocverclock auf Medium setzen.

Für alle folgt dann ein Reboot. Mit einem beliebigen MPD Client erfogt dann die Bedienung ;)

War nich schlimm, oder ? :D

Hilow
21.01.2016, 18:54
Hallo,

ich hab ne interessante Distribution entdeckt: http://dietpi.com/

Wenn man einen schlanken Server aufbauen will, ist das bestimmt ein guter Einstieg!

Falls man dann doch erweiterte Software oder Funktionen braucht, ist das entsprechende Menü dafür sehr umfangreich!

Find ich gut!

Hilow

pcmurx
22.01.2016, 11:53
PS: Ich habe auf dem Pi2 und auf dem Pi 1 (singlecore) Mehrkanal über HDMI :prost:

Moin!

die Idee hatte ich auch schon, war mich aber nicht sicher, ob das so funktionieren kann. Theoretisch müsste man ja mit 6 Kanälen über HDMI in einen Receiver gehen können und dann dort decodieren, oder wie löst du das?

Ich meine man kann auch viel Geld in eine Soundkarte investieren, aber wenn es über HDMI funktioniert, wäre ein auftrennbarer Receiver auch eine super Möglichkeit. Dann kann man später auch noch mit externen Endstufen arbeiten.

Ein dickes Dankeschön für die ausführliche Anleitung! Ich habe zwar auch beruflich mit Linux zu tun, aber dennoch ist sowas immer sehr praktisch. Ich wollte später im Jahr evtl. mal eine Brutefir-Kiste bauen.

Gruß, Stefan

The Alchemist
22.01.2016, 13:39
Der pi2 schafft die 6 Kanaele problemlos. Das selbst der pi 1 das schafft hatte ich nicht erwartet.

xnishd
22.01.2016, 14:20
Der pi2 schafft die 6 Kanaele problemlos. Das selbst der pi 1 das schafft hatte ich nicht erwartet.

Hätte ich nicht gedacht. Müsste ja heißen das dort 4 (partitionen)*6(kanäle) brutefir-Prozesse gleichzeitig laufen und das schafft er ohne Hänger?
Wie groß ist denn die Latenz bei dem Setup und wie schaut das mit längeren Filtern und weniger Kanälen aus? Hast du da Erfahrungen?

Hast du mit dem Setup einen Softwaremixer für die Lautstärkeregelung? Falls ja ist die 'defaults.pcm.rate_converter'-Einstellung in der asound.conf nicht auch interessant?


When software mixing is enabled, ALSA is forced to resample everything to the same frequency (48 kHz by default when supported). By default, it will try to use the speexrate converter to do so, and fallback to low-quality linear interpolation if it is not available[3] (http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/pcm/pcm_rate.c;h=2eb4b1b33933dec878d0f25ad118869adac95 767;hb=HEAD#l1278)https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#High_quality_res ampling

Ansonsten coole Anleitung. ;)

pcmurx
22.01.2016, 14:53
Was mir noch nicht ganz in den Kopf geht, ist wie der AVR das HDMI-Signal dekodiert bzw. wie man den PI konfiguriert, dass er die sechs Kanäle über HDMI korrekt streamed. Einfach mit ALSA und dem HDMI Interface fünf Subinterfaces verpassen?

The Alchemist
22.01.2016, 17:23
UPS ein kleines missverstaendis der pi 1 schafft nur 4 Kanäle..
die Ausgabe erfolgt über alsa, in der brutefir.config wird das festgelegt.
Gruß

Keizo
22.01.2016, 19:42
Guten Abend,

ich möchte mich beim Alchemisten für die grandiose Anleitung bedanken. Ich habe die Anleitung bis auf die Einbindung des Netzlaufwerks befolgt, hat auch ohne größere Probleme funktioniert.
Verwende zwar seit zwei Jahren immer mal wieder Linux zum rumdaddeln, habe aber durch zeitweilig notwendiges Konsolengeklimper häufig das Interesse verloren (was häufig einmal nicht klappt, zB DVB-T Stick mit angeblich kompatiblem Chipsatz einbinden :doh::shock:)

Hier hat alles geklappt, DAAANKE dafür. Wenn ich mal wieder mehr Zeit hab, stricke ich mal eine Weiche für meine B&W DM603 (uneingemessen unhörbarer Lautsprecher, demnächst mal gegen was standesgemäßes ausgetauscht).

The Alchemist
22.01.2016, 21:48
Danke für die Rückmeldung , freut mich das es geklappt hat. Wenn Du beschreibst , wo es gehakt hat , können wir es anpassen/ ausführlicher machen.

Gruss

kasbc
26.01.2016, 07:56
Engagierte Einstellung....:D

Ich mach totzdem noch ein bisschen weiter. Im Menu von Runeaudio treffen wir auf den punkt MPD. Dort kann man als Ausgabe "Audio output interface" RaspberryPI HDMI out wählen.... Ich hab zusätzlich noch den Eintrag in die config.txt gemacht (sicher ist sicher).

Die Installation der modifizierten MPD Version und von Brutefir:

Via SSH auf den pi und dann

sudo wget http://www.friedmann-elektronik.de/RuneAudio-RP2/mpd-rune-0.19.6-1-pipe-output-armv7h.pkg.tar.xz

dann wird das Paket geladen.

Installieren mit:
sudo pacman -U mpd-rune-0.19.6-1-pipe-output-armv7h.pkg.tar.xz

mit Y die Installation bestätigen.

Das gleiche nochmal für Brutefir:

sudo wget http://www.friedmann-elektronik.de/RuneAudio-RP2/brutefir-1.0m-1-armv7h.pkg.tar.xz

und installieren mit:

sudo pacman -U brutefir-1.0m-1-armv7h.pkg.tar.xz


Hallo Alchemist,
ich wollte jetzt auc diesen Pfad (runeaudio und brutefir) bestreiten, aber leider sind diese packages nicht mehr zugreifbar. Weisst du ob und wo es die noch gibt?

Gruß

The Alchemist
26.01.2016, 08:07
Tut mir leid, ich nutze zur Zeit weder RuneAudio noch Volumio, die Pakete habe ich nicht gesichert...

Eventuell mal im Runeaudio Forum nachfragen..

Gruß

kasbc
26.01.2016, 17:38
Hallo Alchemist,

der Ersteller hat mir versprochen sie wieder online zu stellen.
Aber nachdem du jetzt weder runeaudio noch volumio nutzt: Was dann? Brutefir ist ja wohl noch gesetzt, oder?

Bin immer neugierig auf verschiedenste Setups.

Gruß

The Alchemist
26.01.2016, 17:44
Ich nutze das Raspbian JessieLite mit meinen Kernelmodulen und MPD, so eingerichtet wie oben beschrieben.

Gruß

kasbc
27.01.2016, 07:02
Sorry, hatte deinen ausführlichen Beitrag nicht genau gelesen.
Hab ich jetzt getan: Super Sache.

Wenn man nur "etwas" Linux-Verständnis hat, kann man sich auf der Basis einen Brutefir-Raspi mit NAS aufsetzen ohne viel "forschen" zu müssen. Ich hoffe das wissen noch etwas mehr Leute zu schätzen.

BTW: Die packages für runeaudio sind jetzt wieder verfügbar. Hab sie installiert, aber noch nicht getestet, da ich mir eine wohl etwas exotischere Audiokarte (CirrusLogic) gegönnt habe, die man "nicht sofort installiert" kriegt, bis man von den vielen vorgeschlagenen Vorgehensweisen die gefunden hat, die's tut.
Klingt aber ernsthaft gut (jedenfalls deutl. besser als LogiLink und so). Bin gespannt was da mit FIR-Filtern noch möglich ist.

Gruß

Blaubeere85
27.01.2016, 10:49
Sehr interessantes Thema hier!

Mit BruteFir bin ich noch gar nicht warm.
Ist es z.B. möglich das ich man shairport mit BruteFir nutzt?

Ich habe meinen Pi2 mit Hifiberryamp+ mitlerweile auch zum Falten gebracht.
Das ganze habe ich allerdings mit Jriver Mediacenter 21 verwirklicht.
Das ganze läuft nun in meiner Küche als Internetradio ohne Monitor.

Gesteuert wird das ganze mit Jremote und einer App die SimplePi heißt.
Jremote um Sender und Lautstäre zu wählen und SimplePi kann man z.B. zum runterfahren verwenden.

Um Jriver einzurichten und die Filter zu laden benutze ich Windows Remotedesktop übers Netbook. Da Jriver bei mir ohne Monitor bereits startet, kann man über Remotedesktop nur Einstellungen verändern (da jriver ja bereits läuft) die dann erst nach einem Neustart wirksam werden.
Gelegentlich habe ich das Problem, dass der Pi es nicht schafft die Taskleiste zu starten. (kennt das jemand? )

Ansonsten muss ich sagen läuft das System so recht ordentlich und besitzt fast alle Features die ich benötige.
Das gute ist da ich einen Masterlizenz besitze kann ich von jedem vernetzten Rechner den Pi als Zonenplayer verwenden.

Hdmi Ausgabe und mehr wie 2 Kanäle Falten habe ich noch nicht getestet. Denke aber das es problemlos möglich ist.

Da ich mich erst seit kurzem mit Linux beschäftige war dies ein denkbar einfacher Weg um den Pi mal Falten zu lassen.

VG
Stefan

The Alchemist
27.01.2016, 10:58
Die Cirrus logic hieß, als ich sie mir gekauft habe Wolfson Audio Card. Ich habe die Version für den einfachen Pi (ohne B+) was aber technisch das gleiche ist. Gereizt hat mich damals der Digitale Audio Eingang. Leider haben es die Treiber nie in den Kernel geschafft und die doch immer mal wieder auftretenden Probleme haben mich dazu gebracht die Platine in der Ecke liegen zu lassen.

Gruß

kasbc
27.01.2016, 11:22
Sehr interessantes Thema hier!

Mit BruteFir bin ich noch gar nicht warm.
Ist es z.B. möglich das ich man shairport mit BruteFir nutzt?


Hallo Stefan,
mit dem Thema hab ich mich noch nicht beschäftigt.
Erstmal keine Ahnung.
Sorry

kasbc
27.01.2016, 11:33
Die Cirrus logic hieß, als ich sie mir gekauft habe Wolfson Audio Card. Ich habe die Version für den einfachen Pi (ohne B+) was aber technisch das gleiche ist. Gereizt hat mich damals der Digitale Audio Eingang. Leider haben es die Treiber nie in den Kernel geschafft und die doch immer mal wieder auftretenden Probleme haben mich dazu gebracht die Platine in der Ecke liegen zu lassen.

Gruß

Hallo Alchemist,
ja die Karte ist nicht so richtig supported, da muss man sich durchschlagen. Aber ich hab sie aus den gleichen Gründen wie du bestellt -> digitaler Eingang. Ich hab sie jetzt erst mal integriert und sie gibt Musik aus, die vom RuneUI kommen.
Ob ich den digitalen Eingang ins brutefir kriege, werde ich dann sehen. Auf ubuntu und anderer Soundkarte war das kein Problem. Aber ich bin zu seltener Linux-User um jetzt einfach zu sagen, das geht hier auch so einfach. Aber wenn ja, dann hab ich mein Zwischenziel erreicht. Nächste Stufe ist dann Frequenzweiche über brutefir, also Mehrkanal. Und da denke ich über eine miniDSP-Lösung (USBstreamer und so) nach. Ich will mict Eingang und Ausganf gleichzeitig auf USB haben.

Gruß

The Alchemist
27.01.2016, 12:14
Den USB-Streamer hatte ich auch mal ins Auge gefasst, da gibt es aber generelle Probleme mit Alsa. Von daher ist Mehrkanal über HDMI die preiswerteste Lösung die ich mir Vorstellen kann.
(Auch in Bezug auf Endstufen und Lautstärkeregelung. Mein defekter Onkyo hat mich 70€ gekostet, inkl. ca 1h Stunde Reparatur durch mich....)

Digital in Brutefir geht am besten mit arecord über die Pipe in Brutefir, dabei beachten, dass immer erst ein digitales Signal anliegen muss, sonst funscht es nicht.

Gruß

kasbc
27.01.2016, 13:38
Tja, wenn ich nochmal anfangen würde, würde ich auch auf gebrauchte AVRs setzen.
Aber ich habe auch Spass daran, Verstärker zusammenzufummeln und habe jetzt genug für viel aktives.

Zum USBstreamer und ALSA weiß ich nix negatives. miniDSP sagt, das ware kein Problem. Aber das sagt CirrusLogic ja auch. Ich hab ja noch nix bestellt ...

The Alchemist
11.02.2016, 08:34
So hier ging es ja auch mal um die Wolfson/Cirrus Karte. Ich habe die Karte wieder in Betrieb genommen, vor allem wegen der Eingänge.
Den wirklich sehr gut laufenden Kernel hab ich von hier http://www.horus.com/~hias/cirrus-driver.html

Der digitale Eingang funktioniert hervorragend, keinerlei Störungen Over/Underruns. Ich werd mal versuchen den Kernel so zu modifizieren, dass ich Mehrkanal über HDMI bekomme :D

kasbc
11.02.2016, 08:45
Super!

Ich bin grade noch dabei (hab nicht immer Zeit dafür) das Setup runeaudio / wolfson-karte (für digitalen Stereo Eingang/Ausgang) / Mehrkanal-Ausgang (mit Zusätzl. USB-Karte) aufzubauen.
Da meine Unix-Kenntnisse immer noch weitgehend verschüttet sind kämpfe ich da noch mit den Unterschieden der Linux-Derivate und den Gedächtnislücken über die Mechanismen. Geht langsam, aber es wird - ist vor allem eine mir gemäße Art von DIY http://1.1.1.5/bmi/www.diy-hifi-forum.eu/forum/images/smilies/smile.gif

Das nächste Projekt wäre gewesen wolfson mit aktuellerem Kernel auf Raspbian, Brutefir und mpd (unabhängig von irgendwelchen volumios oder runeaudios) aufzusetzen. Da hilft das sehr.

Gruß

pcmurx
11.02.2016, 21:50
Moin zusammen,

habe Brutefir mal nach Anleitung installiert. So langsam kapiere ich auch, wie die ganzen Configs ablaufen. Ich habe das nur nicht auf einem Raspberry Pi gemacht sondern auf einem Intel NUC ( war halt gerade über ) und Debian gemacht. Daher muss ich noch mal die config für die In- und Outputs anpassen. Wird schon hinhauen. Ziel ist es erst einmal, per Stereo einen Filter über meine vorhandenen Lautsprecher zu falten. Dann sehen wir weiter.

Vielen Dank noch mal für den super Guide! Mich hat es jetzt ungefähr eine Stunde gekostet von der Grundinstallation bis zum Ende der Anleitung. Jetzt noch flugs die Configs anpassen und dann hoffen, dass die Enttäuschung nicht zu groß ist ;) !

Gruß, Stefan

Edit: Wenn man so schlau ist, den Sound Kernel eines Debian durch den eines Raspbian zu ersetzen, nur weil es in der Anleitung steht, ist man selber Schuld...... :O
Habe heute morgen den Kernel neu installiert und nun findet die Kiste auch die HDMI Ports mit aplay -l. Werde dann mal die Configs umbauen.
Wieso misst eigentlich niemand die Phase eines zu entzerrenden LS mit ARTA ? Wenn man richtig gated, funktioniert das doch ebenso gut.

buyman
12.02.2016, 15:03
Hat hier jemand schon das originale 7" Touch-Display ausprobiert?

pcmurx
15.02.2016, 11:51
Ich habe die Brutefir-Config mal so angepasst, dass ich im nächsten Schritt den linken und rechten Lautsprecher jeweils mit REW messen würde und dann in Rephase den Lautsprecher auf optimalen Frequenzgang am Hörplatz entzerren würde. Ich weiß nun nicht, ob das so richtig ist, evtl. kann da mal jemand drüber schauen ?

Ich habe bewusst mehr Taps genommen, da der Bass mit gefiltert werden soll.


float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 16384,2; # 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: "."; # extra path where to find BruteFIR modules
monitor_rate: false; # monitor sample rate
convolver_config: "~/.brutefir_convolver"; # location of convolver config file

# Loads the command line interface (CLI)
logic: "cli" { port: 3000; };



## Gesammtentzerrung ####

coeff "gesl" {
format: "FLOAT_LE";
filename: "/home/falter/ConvolverFilters/LeftSpeaker.txt";
shared_mem: false;
attenuation: 0.0;
};

coeff "gesr" {
format: "FLOAT_LE";
filename: "/home/falter/ConvolverFilters/RightSpeaker.txt";
shared_mem: false;
attenuation: 0.0;
};


## INPUT OUTPUT ##

input "Linksein", "Rechtsein" {
device: "file" {path: "/dev/stdin";};
#device: "file" {path: "/home/falter/1.pcm";};
sample: "S32_LE";
channels: 2/0,1;
};

output "Links", "Rechts" {
device: "alsa" {device: "hw:0,1"; ignore_xrun: true;};
sample: "S16_LE";
delay: 0,0;
channels: 2;
};

# Gesammtentzerung Filter #
filter "gesl" {
from_inputs: "Linksein";
to_outputs:"Links";
coeff: "gesl";
};

filter "gesr" {
from_inputs: "Rechtsein";
to_outputs:"Rechts";
coeff: "gesr";
};
Viele Grüße,

Stefan

The Alchemist
15.02.2016, 12:08
In der Konfig ist die Pipe ist Pipe als Eingang gewählt und ob eine Hardware Ausgabe auf hw:0,1 (das ist beim Pi HDMI) bei deiner Karte existiert?

Wie möchtest Du denn messen? Analog in den Falter oder wie?


Gruß

pcmurx
15.02.2016, 12:17
Moin,

ja, Output müsste soweit passen, der Intel NUC hat 2x HDMI und der erste Steckplatz ist meine ich hw:0,1 .... muss ich noch mal schauen.

Die initiale Messung, auf der ich den Filter aufbaue, würde ich mit einem Notebook + REW und dem Stic messen. Wenn ich das Ergebnis kontrollieren will, müsste ich dann über den Falter rosa Rauschen wiedergeben und nur mit dem Stic Mikro messen ( wenn das denn so geht, evtl. gibts da einige Nachteile, von denen ich keinen Plan hab ? ).

Gibt es denn einen Grund, warum man zwingend "durch den Falter" messen muss? Ich möchte im ersten Step ja nur entzerren und noch keine Weiche stricken.

Gruß, Stefan

The Alchemist
15.02.2016, 12:44
Wenn Du einfach nur testen möchtest ob die Konfiguration läuft, kannst Du mit dem in Brutefir eingebauten Dirac Impuls arbeiten.

Da steht dann in der Konfig : filename: "dirac pulse";
statt Pfad und Name des Filters.

und das Format fehlt noch: format: "txt";

Warum willst Du das Text Format nutzen?
Gruß

pcmurx
15.02.2016, 13:19
Moin,

aaaahhhh....hab mich schon gewundert, was der Impuls soll....

Wenn ich in Rephase das Format 32bit floats mono nehme, muss ich doch auch in Brutefir das txt Format nehmen, oder?

Allerdings habe ich auch keine Ahnung, welches das richtige Format ist ;)

The Alchemist
15.02.2016, 13:41
Ich häng hier nochmal ein Bild von rePhase dran...

In diesem Beispiel bleibt das Format FLOAT_LE.

kasbc
15.02.2016, 15:10
Hallo,

als bei mir läuft jetzt alles auf Basis runeaudio, Wolfson, brutefir usw. (ein paar Kleinigkeiten wie SPDIF In/Out muss ich noch probieren, sehe das aber alles als lösbar). Schon chic, aber halt etwas out-of-date was den Linux-Kernel betrifft.

Eine große Hilfe waren die "Spuren" die Alchemist in verschiede-nen Foren hinterlassen hat. Danke dafür !
Jetzt werde ich mal mit Raspbian und mpd-Client-unabhängig loslegen.

Das größere "Problem" ist eh die Bestimmung der Zielkurve der Raumoptimierung ...

The Alchemist
15.02.2016, 16:07
Da gibt es die Dateien für Spdif Ein/Aus

http://www.diy-hifi-forum.eu/forum/showthread.php?t=12624&page=4

Ob das mit dem Kernel funktioniert weiß ich nicht, ich nutze den von hier http://www.horus.com/~hias/cirrus-driver.html

Dafür hab ich mir auch die Module für die Mehrkanal HDMI Ausgabe gebaut :D Ich hab nun einen Convolver 2x4 mit Lirc Streamer, Spdif und Analog Eingang:yahoo:.

Und das alles auf einem 1er B ohne +

Gruß

kasbc
15.02.2016, 18:10
Ich hab nun einen Convolver 2x4 mit Lirc Streamer, Spdif und Analog Eingang:yahoo:.

Und das alles auf einem 1er B ohne +


Das ist schon cool! Ein 1er als Faltrechner - das muss man sich mal geben ...

Danke für den Link

Gruß

The Alchemist
15.02.2016, 18:59
Damit es da keine Missverständnisse gibt, ich habe mich an der MINIDsp Nomenklatur orientiert, also 2 Eingangs-4 Ausgangskanäle und der 1er Pi schafft auch "nur" 8192 Taps pro Kanal.
Es laufen bei mir für die Weiche jeweils 2 Filter pro Seite (man kann also jedes Chassis entzerren) und zusätzlich hab ich noch 3 "Überalles" Setups (die ich per LIRC umschalte), die ebenfalls über verschieden Filter für Links und Rechts verfügen.

Der digitale Eingang läuft soweit ich das bis jetzt höre fehlerfrei (fast 4 h) und ausschliesslich über ALSA, was ich so nirgendwo zum laufen gebracht hatte. (Das war der Grund, weshalb JACK dazwischen kam...)

Gruß

kasbc
15.02.2016, 19:39
Trotzdem ...
Als später "Raspi-Entdecker" finde ich die kleinen Dinger sehr beeindruckend. Man muss sich halt in die Linux-Basics einarbeiten, aber dann kann man schon enorm viel machen. Bevor ich mir nochmal ein miniDSP kaufe ... mag aber auch ein bisschen Anfangseuphorie sein. Ich bin jedenfalls begeistert.

pcmurx
15.02.2016, 19:39
Ich habe jetz mal ein bisschen gespielt....

Phase messen am Hörplatz funktioniert nicht korrekt, die Phase dreht sich dann pro Oktave min. 10x . Auf kürzere Distanz geht das allerdings, man kann dann nur nicht im Wohnraum bis auf 50Hz runter messen. Frequenzgang am Hörplatz messen und dann entzerren ist kein Problem. Ich habe das zuerst unter Windows probiert wie ton-feile. Das klappt auch soweit gut.

Jetzt meine Frage: welche Messungen fertigt ihr an und worauf wird anschließend entzerrt? Frequenzgang und Phase am Hörplatz kriege ich nicht korrekt gemessen, eine andere Option wäre das Fügen von Nah- und Fernfeldfrequenzgang und dann das Entzerren, trotzdem kann man dann keine Phase im Bass anpassen.

ton-feile hat ja am Anfang auch zwei Messungen mit ARTA gemacht und zusammengefügt. Allerdings danach auch in REW eine korrekte Phase bekommen, bis zum Bass runter. Stell' ich mich jetzt einfach zu blöd an?

Blaubeere85
15.02.2016, 19:56
Hi
Eventuell kann mir hier jemand helfen. Also ich möchte gerne den Hifiberryamp mit Shairport via Alsa Loopback nutzen.
Bis gerade eben habe ich noch ein Haufen Fehlermeldungen bekommen. Nun startet Brute Fir aber es sind immer noch Fehlermeldungen zu sehen.
Testen konnte ich das ganze noch nicht
Würde mich wirklich freuen wenn da mal jemand einen Blick drauf wirft!!

Nach dem ich

sudo modprobe snd-aloopsehe ich im Alsamixer das Loopbackdevice auf 1

Wie bekomme ich den Befehl in den Autostart

Meine /etc/asound.conf sieht wie folgt aus:

# hardware 0,0 : definizione pcm per ALSA playback - l'output dei player
pcm.loophw00 {
type hw
card Loopback
device 0
subdevice 0
format S32_LE # viene influenzato dalla card fisica finale di uscita?
rate 44100 # viene influenzato dalla card fisica finale di uscita?
channels 2
}

# playback PCM device: using loopback subdevice loophw00
pcm.amix {
type dmix
ipc_key 219345
slave {
pcm loophw00
period_size 4096 # meglio abbassarlo?
periods 2
}
}

# capture PCM device: using loopback subdevice 0,1
pcm.asnoop {
type dsnoop
ipc_key 219346
slave.pcm "hw:Loopback,0,1"
}

# duplex device combining our PCM devices defined above
pcm.aduplex {
type asym
playback.pcm "amix"
capture.pcm "asnoop"
}

# ------------------------------------------------------
# default device

pcm.!default {
type plug
slave.pcm "aduplex"
}
Und hier ist meine Brutefir Config

float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 4096; # 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 file

## INPUT DEFAULTS ##

input "l_in", "r_in" {
device: "alsa" { device: "hw:Loopback,1,0"; };
sample: "S32_LE";
channels: 2;
};

output "l_out", "r_out" {
device: "alsa" { device: "hw:0"; };
sample: "S32_LE";
channels: 2/0,1;
delay: 0,0;
dither: true;
};
## FILTER DEFAULTS ##

filter "home/pi/ConvolverFilters/links.bin" {
from_inputs: "l_in"/8.0;
to_outputs: "l_out"/0.0;
process: -1; # 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

};

output "l_out", "r_out" {
device: "alsa" { device: "hw:0"; };
sample: "S32_LE";
channels: 2/0,1;
delay: 0,0;
dither: true;
};
## FILTER DEFAULTS ##

filter "home/pi/ConvolverFilters/links.bin" {
from_inputs: "l_in"/8.0;
to_outputs: "l_out"/0.0;
process: -1; # 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/ConvolverFilters/rechgts" {
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: 7; # predelay, in blocks
crossfade: false; # crossfade when coefficient is changed
};
};
Und hier die was angezeigt wird nach dem ich

sudo /usr/bin/brutefir -nodefault /home/pi/.brute441_config
eingefügt habe


BruteFIR v1.0m (November 2013) (c) Anders Torger

Internal resolution is 32 bit floating point.
Creating 4 FFTW plans of size 8192...finished.
Warning: internal resolution not high enough to dither (outputs 0 - 1).
Realtime priorities are min = 2, usermax = 1, mid = 3 and max = 4.
Warning: no support for clock cycle counter on this platform.
Timers for benchmarking may be unreliable.
Filters in process 0: 0
Filters in process 1: 1
Realtime priority 4 set for filter process (pid 1052)
Realtime priority 4 set for filter process (pid 1053)
Realtime priority 3 set for input process (pid 1051)
Realtime priority 3 set for output process (pid 1054)
Fixed I/O-delay is 8192 samples
Audio processing starts now
Da ich das mehr oder weniger aus Foren entnommen habe, weiß ich nur zum Teil was ich da gemacht habe.

Was sagt ihr! Was passt noch nicht

Vielen Dank im vorraus!
VG
Stefan

The Alchemist
15.02.2016, 20:10
Brutefir scheint doch schon mal zu starten, und zwar ohne Fehler.

Was passiert denn, wenn Du jetzt mit einem Programm Musik wiedergibst?

Gruß

Blaubeere85
15.02.2016, 20:17
Das ist noch nackig das system.
Ich installiere gerade shairport. Das werd ich jetzt einfach mal testen.

Warning: internal resolution not high enough to dither (outputs 0 - 1).
Für was ist das Dithering.
kann ich das rausnehmen?

kasbc
15.02.2016, 20:40
Ja, mach das raus.
Was mich auch irritiert ist das coeff: -1 beim Filter.

Du musst jetzt irgendwie Sound herkriegen. Und dan halt probieren.

Gruß

Blaubeere85
15.02.2016, 21:47
So also es kommt schonmal musik :yahoo:
Wenn ich das Dithering wegnehme und das Coeff bekomm ich wieder
Parse error on line 37 in file "/home/pi/.brute441_config":
At least one mandatory field is missing in filter.
Solche Fehler.

Der Klang ist prizipiell gut aber man hört irgendwie ein britzeln fast wie ein wenig übersteuert oder so ähnlich.
Hab auch schon im alsamixer die lautstärke gedrosselt aber bleibt bestehen.

Könnte das sein das shairport beim Booten schon startet und ich Brute in die asound konfig erst später starte.

wie bekomme ich den befehl noch in den Autostart für das Loopback device

sudo modprobe snd-aloop
Fragen über Fragen

Danke schon einmal

sion
15.02.2016, 22:07
Das Loopback-Device wird beim Booten gestartet, wenn Du der Datei "/etc/rc.local" vor dem exit 0

modprobe snd-aloophinzufügst.

Gruß

Klaus

The Alchemist
15.02.2016, 22:29
Eigentlich sollte
sudo nano/etc/modules und dann
snd-aloopdranhängen funktionieren.

Gruß

sion
15.02.2016, 22:37
Siehst Du einen Vorteil darin, den Weg über die /etc/modules zu nehmen vs der /etc/rc.local? Würde mich sehr interessieren, da ich denke, beides ist möglich.

pcmurx
16.02.2016, 06:10
Nimm' die /etc/modules.

Dort eingetragene Kernel Module werden vor allen anderen Diensten gestartet. Wenn du in die rc.local einträgst, lädt das Betriebssystem dein Modul erst nach Start aller Services.

Gruß, Stefan

sion
16.02.2016, 06:24
Wenn du in die rc.local einträgst, lädt das Betriebssystem dein Modul erst nach Start aller Services.
Wusste ich bisher nicht. Danke für den Hinweis, werde ich künftig auch so machen.

Gruß

Klaus

pcmurx
16.02.2016, 06:39
Moin Klaus,

Linux hält so einige Überraschungen bereit..... ich habe damit zum Glück beruflich zu tun, daher traue ich mich auch jetzt erst an diese Brutefir-Geschichten ran.... Linux hat mich da früher immer abgeschreckt. Wenn man aber viel Zeit damit verbringt, erkennt man schnell das Potential

Es freut mich, dass ich dir helfen konnte!

Gruß, Stefan

Blaubeere85
16.02.2016, 07:24
Morgen
Also ich habe es gerade noch in local drinnen und es funktioniert.
Werde das heute abend mal in /etc/modules umschreiben.
Soweit funktioniert alles, bis auf die leichten britzelgeräusche. Habe gestern noch säömtliche Sachen probiert.Mit und ohne Partitionen, mal alles auf 48khz laufen lassen aber dann sagt er schon das nur 44,1khz funtionieren.
Das habe ich noch gefunden.
http://www.aktives-hoeren.de/viewtopic.php?f=28&t=5609

Dort schreibt jemand das es bei ihm an einer veralteten Bruteversion lag.
Wie kann ich nachschauen welche version nun installiert habe?
Installiert habe ich einfach über Brutefir install..

Aber so langsam macht das doch spass mit dem kleinen. Da kann man schon was anstellen mit diesen minipcs.
Der Funktionsumfang von BruteFir ist auch der Hammer.
Schade das ich erst jetzt anfange mich damit zu beschäftigen
Vg
Stefan

The Alchemist
16.02.2016, 07:56
Wenn Du Brutefir über die Quellen installiert hast, hast Du die neueste Version, 1.0m. Britzel- Geräusche kommen bei mir nicht vor. Ich blicke leider durch die Sache mit dem Loopback Device nicht durch (liegt auch eventuell daran, dass es für mich vollkommen unwichtig ist und kann Dir da nicht so gut weiterhelfen). Wenn Du allerdings auf 48kHz umstellst musst Du das auf der gesamten Linie machen , also Brutefir, Filter Loopback. Wenn Du 44er Filter in einer 48er Brutefir config verendest kommt es ebenfalls zu leichten Störungen.

Gruß

Blaubeere85
16.02.2016, 08:14
Oh ja da bringst du mich auf etwas.

Hatte das in der asound.conf nicht geändert.

Das wird mein nächster Schritt sein.
Habe gelesen das zumindest das AppleTV 16bit 44,1kHz sendet und dann auf 48kHz hochrechnet. könnte mir also gut vorstellen das es bei Shairport auch so läuft und davon das Britzeln kommt.
Also Vielen Dank schon mal an euch. Ein paar Sachen sind mir nun klarer
REW werde ich heute auch mal testen zu installieren. Somit könnte ich dann gleich auch mal Filter testen die ich durch DRC berechnen lasse.
Und das ganze System wäre gleich mitgemessen inkl. amps.

kasbc
16.02.2016, 10:48
Hallo Balubeere,

ich bin ja auch nur mehr Probierer als Versteher, aber mir erscheinen die 4K Filterlength sehr wenig zu sein.

Ich hatte gestern nicht bemerkt, dass du gar keine Filter anwendest (drum das Unverständnis für coeff:-1).

Gruß

Blaubeere85
16.02.2016, 12:47
hallo kasbc
Doch filter wurden angewendet. Die 4092 waren auch nur um erstmal zu testen. Damit habe ich nur die Weiche von meine Lautsprecher entzehrt LR 24dB und einen leichten Bassabfall.
Hab auch schon 32768 Taps bereits versucht. also das ist noch keine Raumkorrektur die da mit drinnen ist.
Aber ich werde heute mal in die vollen gehen. mal sehen was passiert
Vg
Stefan

kasbc
16.02.2016, 13:17
Hallo,

wenn ich die Bedeutung von coeff: -1 richtig verstehe, wurden keine Filter angewendet, da dann der In- an den Output "kopiert" wird.

Gruß

Blaubeere85
16.02.2016, 13:22
ohh
das ist natürlich blöd. dann muss ich das rausnehmen.
Blos ich hatte gestern das problem das wenn ich das rausgenommen habe er mir immer Parseerror oder sowas angezeigt hat.
Reicht es wenn ich dann davor einfach eine # setze?
Ich merk schon das ich da noch ein wenig brauche bis alles passt.
Danke für den hinweis

kasbc
16.02.2016, 14:41
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.

Blaubeere85
16.02.2016, 17:14
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.

kasbc
16.02.2016, 18:27
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).

Blaubeere85
16.02.2016, 18:56
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

kasbc
17.02.2016, 09:54
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ß

The Alchemist
17.02.2016, 10:43
@kasbc, schast Du einmal hier: http://www.diy-hifi-forum.eu/forum/showthread.php?t=12624&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ß

kasbc
17.02.2016, 13:20
Danke erst mal.

pcmurx
18.02.2016, 06:58
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 :P

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

The Alchemist
18.02.2016, 07:19
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

pcmurx
18.02.2016, 10:50
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.

pcmurx
18.02.2016, 18:05
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



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:


update-grubIch hoffe das hier hilft irgendwann mal jemandem. Mich hat das ganz schön Nerven gekostet. Dafür läuft jetzt auch alles.:rtfm:

kasbc
18.02.2016, 18:35
:thumbup:

Das sind so die Sachen, die man sich irgendwo speichen sollte ...

sion
19.02.2016, 17:03
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-content/uploads/2016/02/Linuxbasiertes_Mehrkanal-Audiosystem_mit_niedriger_Latenz.pdf

The Alchemist
19.02.2016, 17:16
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 :D
Gruß

sion
19.02.2016, 17:33
Gute Frage :rolleyes:

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-series/compatibility/ . 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/10/beaglebone-black-for-audio/


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

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...

Blaubeere85
22.02.2016, 21:05
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

pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}
etc/modules

# /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

**** 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

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

The Alchemist
22.02.2016, 21:33
Versuch das mal:

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, 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ß

kasbc
22.02.2016, 21:40
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.

Blaubeere85
22.02.2016, 22:02
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

kasbc
22.02.2016, 22:24
:ok:

Gruß

The Alchemist
18.04.2016, 12:46
Die von mir beschriebene Modifikation in Post 87 funktioniert mit dem neuesten Raspbian nicht mehr, ich vermute eine Änderung in der Firmware.(Die Änderungen im Kernel sind vorgenommen)

Wer also Mehrkanal im Moment laufen sollte tunlichst ein Update vermeiden.

Gruß

kasbc
18.04.2016, 13:39
Hallo Alchemist,
geht es um grunsätzliches Mehrkanal (z.B. mit externer USB-Soundkarte) oder über die integrierte HDMI-Schnittstelle?

Ich denke letzteres, aber ich frag lieber nach.

Gruß

The Alchemist
18.04.2016, 13:54
Es geht um Mehrkanal über HDMI, siehe Post 87.

Gruß

Blaubeere85
26.04.2016, 17:53
So nun hab ich bei meiner BruteCirrus fast alles am, laufen so wie ich das gerne hätte. Seit gestern kann ich sogar Filter umschalten und mir das auf einem 16x2 oled display anzeigen lassen.

Ich suche gerade nach einer Möglichkeit mir auf der oberen zeile dann die Lautstärke von alsa anzeigen zu lassen.
Bisher bin ich aber schon mal froh mit den scripten zum umschalten der Filter und für die anzeige auf dem Display.

Hat da eventuell jemand eine Idee wie man das machen könnte?
Vg1093310934https://vimeo.com/164291299



Gesendet von iPhone mit Tapatalk

Lettoz
26.04.2016, 19:03
Find ich total schick.:thumbup:
Magst du erzählen, wie du das mit dem Display gelöst hast?

Blaubeere85
26.04.2016, 19:09
Ja das kann ich machen. Das werde ich aber erst die Tage machen können.
Werde dafür einen eigenen Thread machen, erstens für andere und zweitens für mich um das mal später wieder nachvollziehen zu können.
Bin gerade noch am verfeinern.
https://vimeo.com/164303474


Gesendet von iPhone mit Tapatalk

Blaubeere85
26.04.2016, 20:08
Also ich habe dieses Display, was noch rumlag von einem alten Projekt und damals nicht lief, verwendet.
https://www.reichelt.de/EA-W162-X3LG/3/index.html?&ACTION=3&LA=446&ARTICLE=113318&artnr=EA+W162-X3LG&SEARCH=oled
Dann hab ich mir die die freien Gpios rausgesucht bei der Cirrus Karte
https://www.element14.com/community/servlet/JiveServlet/previewBody/72078-102-2-310056/Cirrus%20Logic%20Audio%20Card%20for%20B%2B%20and%2 0A%2B%20onwards%20V1.02.pdf
auf Seite 16
Diese mit dem Multimeter rausgemessen.

Dann hab ich ein script gefunden das auch das Display wieder resetet damit es neu beschrieben werden kann. ansonsten baut es Mist und zeigt nur Kryptische Sachen an.

#!/usr/bin/python
#
# HD44780 LCD/OLED Test Script for
# Raspberry Pi
#
# Author : Robert Coward/Paul Carpenter (based on driver by Matt Hawkins/)
# Site : http://www.raspberrypi-spy.co.uk
# http://www.pcserviceslectronics.co.uk
#
# Date : 02/03/2014
#

# The wiring for the LCD is as follows:
# 1 : GND
# 2 : 5V
# 3 : Contrast (0-5V)*
# 4 : RS (Register Select)
# 5 : R/W (Read Write) - GROUND THIS PIN
# 6 : Enable or Strobe
# 7 : Data Bit 0 - NOT USED
# 8 : Data Bit 1 - NOT USED
# 9 : Data Bit 2 - NOT USED
# 10: Data Bit 3 - NOT USED
# 11: Data Bit 4
# 12: Data Bit 5
# 13: Data Bit 6
# 14: Data Bit 7
# 15: LCD Backlight +5V**
# 16: LCD Backlight GND

#import
import RPi.GPIO as GPIO
import time
import re
import subprocess
import os

# Define GPIO to LCD mapping (USES BCM MODE NUMBERING scheme)
LCD_RS = 26
LCD_E = 12
LCD_D4 = 16
LCD_D5 = 06
LCD_D6 = 25
LCD_D7 = 05

# Generate an array of pin numbers to write out for the data lines
lcdPins = [LCD_D7, LCD_D6, LCD_D5, LCD_D4]

# Define some device constants
LCD_WIDTH = 16 # Maximum characters per line
LCD_CHR = True
LCD_CMD = False

LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line
LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line

# Timing constants for low level write operations
# NOTE: Enable cycle time must be at least 1 microsecond
# NOTE2: Actually, these can be zero and the LCD will typically still work OK
EDEL_TAS = 0.00001 # Address setup time (TAS)
EDEL_PWEH = 0.00001 # Pulse width of enable (PWEH)
EDEL_TAH = 0.00001 # Address hold time (TAH)

# Timing constraints for initialisation steps - IMPORTANT!
# Note that post clear display must be at least 6.2ms for OLEDs, as opposed
# to only 1.4ms for HD44780 LCDs. This has caused confusion in the past.
DEL_INITMID = 0.01 # middle of initial write (min 4.1ms)
DEL_INITNEXT = 0.0002 # post second initial write (min 100ns)
DEL_POSTCLEAR = 0.01 # post clear display step (busy, min 6.2ms)

# ================================================== ============================
# LCD Initialisation to setup the two line display using the 4 bit interface

def lcd_init():
# Configure the GPIO to drive the LCD display correctly
GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbers

# setup all output pins for driving LCD display
GPIO.setup(LCD_E, GPIO.OUT) # E
# PC - better safe starting state
GPIO.output(LCD_E, 0) # set low as idle state
GPIO.setup(LCD_RS, GPIO.OUT) # RS
# PC - more maintainable initialisation
for val in lcdPins: # enable DB7 to DB4
GPIO.setup(val, GPIO.OUT)
GPIO.output(val, 0) # set low

# Initialise display into 4 bit mode, using recommended delays
lcd_byte(0x33, LCD_CMD, DEL_INITNEXT, DEL_INITMID)
lcd_byte(0x32, LCD_CMD, DEL_INITNEXT)

# Now perform remainder of display init in 4 bit mode - IMPORTANT!
# These steps MUST be exactly as follows, as OLEDs in particular are rather fussy
lcd_byte(0x28, LCD_CMD, DEL_INITNEXT) # two lines and correct font
lcd_byte(0x08, LCD_CMD, DEL_INITNEXT) # display OFF, cursor/blink off
lcd_byte(0x01, LCD_CMD, DEL_POSTCLEAR) # clear display, waiting for longer delay
lcd_byte(0x06, LCD_CMD, DEL_INITNEXT) # entry mode set

# extra steps required for OLED initialisation (no effect on LCD)
lcd_byte(0x17, LCD_CMD, DEL_INITNEXT) # character mode, power on

# now turn on the display, ready for use - IMPORTANT!
lcd_byte(0x0C, LCD_CMD, DEL_INITNEXT) # display on, cursor/blink off

# ================================================== ============================
# Outputs string of characters to the LCD display line, padding as required
# NOTE: Incoming string MUST be a string of simple characters with no complex
# unicode types present, as otherwise incorrect encoding will occur.

def lcd_string(message):
# Send string to display, padding with spaces if required
message = message.ljust(LCD_WIDTH," ")

for i in range(LCD_WIDTH):
# output a single byte value for the incoming character
lcd_byte(ord(message[i]), LCD_CHR)

# ================================================== ============================
# Low level routine to output a byte of data to the LCD display
# over the 4 bit interface. Two nybbles are sent, one after the other.
# The post_delay specifies optional delay to cover busy periods
# The mid_delay specifies optional delay between the 4 bit nibbles (special case)

def lcd_byte(byteVal, mode, post_delay = 0, mid_delay = 0):

# convert incoming value into 8 bit array, padding as required
bits = bin(byteVal)[2:].zfill(8)

# set mode = True for character, False for command
GPIO.output(LCD_RS, mode) # RS

# Output the four High bits
for i in range(4):
GPIO.output(lcdPins[i], int(bits[i]))

# Toggle 'Enable' pin, wrapping with minimum delays
time.sleep(EDEL_TAS)
GPIO.output(LCD_E, True)
time.sleep(EDEL_PWEH)
GPIO.output(LCD_E, False)
time.sleep(EDEL_TAH)

# Wait for extra mid delay if specified (special case)
if mid_delay > 0:
time.sleep(mid_delay)

# Output the four Low bits
for i in range(4,8):
GPIO.output(lcdPins[i-4], int(bits[i]))

# Toggle 'Enable' pin, wrapping with minimum delays
time.sleep(EDEL_TAS)
GPIO.output(LCD_E, True)
time.sleep(EDEL_PWEH)
GPIO.output(LCD_E, False)
time.sleep(EDEL_TAH)

# Wait for extra post delay if specified (covers busy period)
if post_delay > 0:
time.sleep(post_delay)

# ================================================== ============================
# main routine which initialises the display and outputs text messages to it

def main():
# Initialise GPIO port and display
lcd_init()

# Send some text
lcd_byte(LCD_LINE_1, LCD_CMD)
lcd_string(" BruteFir DSP 1 ")
lcd_byte(LCD_LINE_2, LCD_CMD)
lcd_string(" start Coeff 0 ")

time.sleep(1) # 1 second delay

# Send some more text
lcd_byte(LCD_LINE_1, LCD_CMD)
lcd_string(" BruteFir DSP 1 ")
lcd_byte(LCD_LINE_2, LCD_CMD)
lcd_string(" Dirac Pulse ")

#time.sleep(3) # 3 second delay

# Send some more text
#lcd_byte(LCD_LINE_1, LCD_CMD)
#lcd_string("Modified by")
#lcd_byte(LCD_LINE_2, LCD_CMD)
#lcd_string("Robert Coward")

#time.sleep(3) # 3 second delay

# Send some more text
#lcd_byte(LCD_LINE_1, LCD_CMD)
#lcd_string("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
#lcd_byte(LCD_LINE_2, LCD_CMD)
#lcd_string("1234567890!$%^&*()")

# ================================================== ============================
# Ensure that the GPIO is cleaned up whichever way the program exits
# This avoids all those annoying "channel already in use" errors

if __name__ == '__main__':
try:
main()
finally: GPIO.cleanup()

# ================================================== ======================Es ist eigentlich egal welche von den Gpios man verwendet. es sollte halt im Script angepasst werden.
Stromversogungspins muss man natürlich auch anklemmen!

!Und ganz wichtig bei diesem Display ist den Pin 1 VSS GND Masse
gegen Pin 5 RW kurz zu schließen!!!!
Ansonsten kann das Display auch Daten senden und dieses mit 5 Volt!!
Der Pi verträgt nur 3,3 Volt!!!

Das Script kann man mit Chmod +x /pfad/datei.py ausführbar machen.(braucht man für lirc nicht)
ansonsten startet man es so python /pfad/datei.py

Das ganze kann man dann in sh sripten zusammen mit z.B. Brutefir oder sonst was starten die in Lirc auf die jeweilige Taste gelegt werden.

#!/bin/sh/py
sudo nohup /usr/bin/brutefir -nodefault /home/pi/brute1 &
echo "cfc 0 0; cfc 1 1;quit" | nc localhost 3000 > /dev/null
python /home/pi/bin/PythonLCD/brute1coeff0.py
das nutze ich um BruteFir mit den ersten beiden Coeffs(0und1) zu starten und um verschiedenen Quellen zu nutzen.
(in der Bruteconfig festgelegt)
Der Groschen ist mir echt erst vor paar tagen gefallen wo ich angefangen habe mich mit den Scripten zu beschäftigen.
So langsam verstehe ich auch was ich überhaupt da mache..

Wenn ich mal die Tage Zeit habe werde ich meine Lösung dazu dokumentieren.

Blaubeere85
29.04.2016, 16:25
Hab mal das mal auf die schnelle ins gehäuse gebaut.
Gefällt mir immer besser die raspi cirrus kombi.
10960


Gesendet von iPhone mit Tapatalk

Blaubeere85
29.04.2016, 16:32
Das ganze hängt über den Analogausgang von der cirrus direkt am L15D mit pegelsteller. Also ich muss sagen der DAC taugt schon was. Auf jeden Fall besser wie die vom minidsp und nicht schlechter wie mein sabre 9023.
also damit kann ich leben. Komfortabel ist das ganze auch langsam.
Macht auch iwie spaß das ganze zu Personalisieren.
Vg
Stefan


Gesendet von iPhone mit Tapatalk

The Alchemist
29.04.2016, 18:06
Was ist das denn für ein Gehäuse?

Gruß

Blaubeere85
29.04.2016, 18:08
Gibts beim Franzosen für 50 euro. ...


Gesendet von iPhone mit Tapatalk

The Alchemist
29.04.2016, 18:13
jup, ich wusste doch, dass ich das schonmal gesehen habe..

Gruss

Lettoz
29.04.2016, 18:49
Nur gerade nicht lieferbar :cool:

Blaubeere85
03.05.2016, 18:15
So nun hab ich dank dieser Seite
http://digitalroomcorrection.hk/http___www.digitalroomcorrection.hk_/USB_SPBLinux_Stick.html
Es hinbekommen die Lautstärke Regelung direkt in Brutefir zu verwirklichen.
Brutefir läuft auf 64 bit, 48khz, 128x64 partitionen auf ca 18 % Prozessorlast für Tv und Videoanwendungen.
Das Script für Volume Control musste ich etwas anpassen. Also welche coeffs und filter geregelt werden.
Funktioniert wirklich super und bilde mir ein, das der Klang auch besser ist als über amixer.
Das einzigste was mir bisher noch nicht gelungen ist, die aktuelle Lautstärke über das Oled Display anzeigen zu lassen.

Hat jemand eine idee wie ich das in dem
Python Skript bekannt geben kann.

Was ich auch noch nicht so gecheckt habe wie ich die Samplingfrequenz der Cirrus verändere oder sogar automatisch wechseln lassen kann.

Aber es wird so langsam ein feines Teil für das Geld.

sion
12.09.2016, 12:10
Die von mir beschriebene Modifikation in Post 87 funktioniert mit dem neuesten Raspbian nicht mehr, ich vermute eine Änderung in der Firmware.(Die Änderungen im Kernel sind vorgenommen)

Wer also Mehrkanal im Moment laufen sollte tunlichst ein Update vermeiden.

Gruß

Hallo Alchemist,

vielleicht hast Du ja nochmal getestet... geht es inzwischen auch mit den neuen Kernel-Versionen?

Gruß

Klaus

PS: Möchte Deine Konfiguration auf einem Rpi3 einsetzen...

The Alchemist
12.09.2016, 14:10
Ich habe das Thema nicht weiter verfolgt, da es für mich nicht wichtig ist einen möglichst neuen Kernel zu verwenden. Meine Konfiguration läuft seit dem Frühjahr super stabil und einen 3er hab ich nicht.
Hier (https://mega.nz/#!zZYEgCZS!SPoKysrt4sniAmcOxo0LDJG3tOwKFEQZIadftmS cnEA) findet man einen modifizierten Kernel.
Das Thema auf Github ist leider auch eingeschlafen, daher nehme ich an, dass es keine Änderung gibt.
Hast Du denn schon eine aktuelle Version von Raspbian auf Mehrkanalität ausprobiert?

Gruß

sion
12.09.2016, 14:43
Bisher habe ich noch keine Mehrkanal-Versuche gestartet, den Rpi3 habe ich erst seit gestern und ich sammle derzeit noch Infos zum Thema.

Gruß

Klaus

Lettoz
12.09.2016, 19:36
Ich habe mit dem rpi3 zwar keine mehrkanalsachen versucht,
aber in Verbindung mit der Cirrus Karte hatte ich bei rpi3 dauernd Aussetzer.
Ich habe es immernoch auf dem 2 'er am laufen ohne Probleme.

sion
13.09.2016, 08:02
Hast Du denn schon eine aktuelle Version von Raspbian auf Mehrkanalität ausprobiert?

Ich habe jetzt testweise ein aktuelles Raspbian installiert.


pi@raspberrypi:~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835
IEC958/HDMI] Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0


Sehe ich das richtig, dass da kein HDMI-Mehrkanal konfiguriert ist?

The Alchemist
13.09.2016, 08:34
Das kann man so noch nicht sagen:
speaker-test -D hw:0,1 -c 8 sollte auf allen 8 Kanälen bei angeschlossenem HDMI ein Rauschen erzeugen.

Gruß

sion
13.09.2016, 13:12
Hi Alchemist,


pi@raspberrypi:~ $ speaker-test -D hw:0,1 -c 8

speaker-test 1.0.28

Wiedergabe-Gerät ist hw:0,1
Stream-Parameter sind 48000 Hz, S16_LE, 8 Kanäle
Verwende 16 Oktaven rosa Rauschen
Kanal-Anzahl 8 nicht unterstützt: Das Argument ist ungültig
Fehler beim Setzen der Hardware-Parameter: Das Argument ist ungültig
Ich habe auch -c 6 und -c 4 getestet, es läuft erst ab -c 2, also leider kein Mehrkanal...

Das von Dir verlinkte tar ist als "cirrus multi linux-4.1.16.tgz" benannt. Wobei mich das "cirrus" im Namen etwas irritiert. Ist es das Richtige? Wenn ja, würde ich es mal ausprobieren. Es beinhaltet je einen Ordner "boot" und "lib". Müsste ich die enthaltenen Dateien nur entsprechend kopieren, oder gehört da noch sowas wie "sudo make modules_install" dazu?

Gruß

Klaus

The Alchemist
13.09.2016, 13:50
Das Cirrus im Namen bedeutet, dass die Treiber für die Cirrus Audio Karte (http://de.farnell.com/wolfson-microelectronics/cirrus-logic-audio-card/cirrus-logic-audiokarte-f-rpi/dp/2448312)mit im Kernel enthalten sind. Einen Installer gibt es nicht, das muss alles manuell gemacht werden. Der Inhalt von Boot nach Boot und der Inhalt von lib nach lib (nicht einfach die Ordner kopieren) Beim 3er läuft dann aber Bluetooth und Wlan nicht)
Gruß

sion
13.09.2016, 20:19
Die Dateien habe ich entsprechend kopiert. Allerdings bootet der Rpi jetzt nicht mehr. Ein kurzes Aufblinken der gelben LED, das war es dann. Ich vermute, dass der Kernel nicht gebootet oder nicht gefunden wird. Leider ist der einzige HDMI-fähige "Monitor" unser Fernseher. Ich möchte nun keine Ehekrise heraufbeschwören (meine Frau schaut gerade fern...) :rolleyes:

Weitere Versuche muss ich deshalb auf morgen verschieben...

sion
14.09.2016, 13:19
Zwischenstand: Wie geschrieben, blinkt nach dem Einschalten die grüne LED nur kurz auf. Am Fernseher angeschlossen zeigt sich nur ein vier-farbiges Bild, keine Konsolenausgabe. In den Logdateien konnte ich auch keine Hinweise finden. Ich vermute also, dass der Kernel nicht geladen wird.
Ich hatte es so gemacht: Alle Dateien aus dem "boot"-Ordner nach /boot kopiert und aus dem Unterverzeichnis "overlays" ebenso nach /boot/overlays. Dasselbe mit den Dateien aus dem "lib"-Ordner. Möglicherweise habe ich auch was falsch gemacht...

Es könnte auch sein, dass der Kernel nicht vom RPI3 unterstützt wird, insofern diese Information zutreffend ist:
https://www.elektronik-kompendium.de/sites/raspberry-pi/2102291.htm

Ab dem Kernel 4.1.18-v7+ wird der Raspberry Pi 3 B unterstützt. Hat man eine ältere Kernel-Version, dann wird die CPU des Raspberry Pi 3 B nicht erkannt. Das heißt, das System bootet nicht. Wenn man also einen Raspberry Pi 3 B starten will, muss man die Firmware bzw. den Kernel mit einem Vorgänger-Modell aktualisieren. Außerdem bliebe noch, dass ich den aktuellen Kernel selber compiliere, denn offenbar wurde wieder standardmäßig auf 2-Kanal gewechselt:
https://github.com/raspberrypi/linux/blob/rpi-4.4.y/sound/arm/bcm2835-pcm.c

So weit mein Zwischenstand, ich verreise jetzt für ein paar Tage, nächste Woche berichte ich dann weiter.

Viele Grüße

Klaus

The Alchemist
14.09.2016, 15:48
Ich denke mit dem Kernel brauchst Du nicht weiter zu machen...er ist zum 3er nicht kompatibel :D. Leider kann ich dir, da ich keinen Pi 3 hab, auch nicht weiterhelfen.

Gruß

sion
14.09.2016, 19:27
Hallo Alchemist,

ich danke Dir herzlich für Deine Hilfe und überhaupt auch für Deine Inspiration. :thumbup:

Ich werde dann nächste Woche den 4.4.y Kernel kompilieren und hier berichten.

Viele Grüße

Klaus

sion
30.09.2016, 05:51
Kurzer Zwischenstand:

Gestern abend konnte ich endlich den 4.4,20 Kernel mit den Anpassungen im bcm2835-ctl.c kompilieren. Heute morgen ein kurzer Versuch mit "speakertest": Es gibt Sound, normales Rauschen, wie es sein sollte :)

Leider habe ich im Moment nur sehr wenig Zeit dafür, deshalb kam ich auch erst jetzt dazu. Und heute geht es wieder auf Reise, eventl. kann ich heute Mittag noch einen weiteren Test machen, dann erst wieder nächste Woche...

Gruß

Klaus

edit:

Ein kurzer Test mit der Beispielkonfiguration von Alchemist (Post #87 in diesem Thread):

Es tönt Musik aus den Lautsprechern, die Beispiel-Filter funktionieren :D

Als Nächstes werde ich angepasste Filter erstellen, um die kleinen Braun L260 zu aktivieren...

taurui
30.09.2016, 12:39
Hat schonmal jemand den RPI mit Acourate-Filtern zum laufen gebracht?

kasbc
30.09.2016, 12:47
Hat schonmal jemand den RPI mit Acourate-Filtern zum laufen gebracht?

Ja. Das geht. Heftige Latenz, aber ich mach die Filter (bisher nur Raumkorrektur) auch mit 64K Taps. Kann man sicherlich noch optimieren (brutefir, weniger Taps, Kombination mit IIR-Filtern).

Gruß

taurui
30.09.2016, 15:22
Ja. Das geht. Heftige Latenz, aber ich mach die Filter (bisher nur Raumkorrektur) auch mit 64K Taps. Kann man sicherlich noch optimieren (brutefir, weniger Taps, Kombination mit IIR-Filtern).

Gruß

Wie komplex wäre das einzurichten?
Langfristig will ich auch Filme entzerren, kurzfristig reicht mir Musik allerdings und da ist mir die Latenz schnuppe! :)
(Würde ein Rpi3 helfen? Habe momentan einen Rpi1, aber keine Skrupel, aufzurüsten..)

kasbc
30.09.2016, 16:10
Hi,
das ist nicht so schwer. Eigentlich muss man nur brutefir richtig konfigurieren. Wo soll denn die Musik herkommen? Und wo soll sie hin?

Mit Raspi 1 geht es schon, aber halt nur Stereo mit wenigen Taps. Steht das nicht irgendwo in diesem Thread? Ab Raspi 2 kann ich dir versichern, dass es Stereo mit vielen Taps geht.

Gruß

Lettoz
30.09.2016, 16:29
Das es ganz gut klappt, zeigt ja schon dieses Gerät
http://audiovero.de/preamp-14-cleanvolver.php

Wenn man mal genau hinschaut, findet man auch
die Cirrus Logic Audio Karte und den RPI wieder.
Einrichten ist eine wirklich fleissarbeit.Es kann schon frustrierend
sein wenn was nicht klappt, vor allem wenn man so wie ich nicht
so fit in Linux ist.

Schau mal hier.In dem Thread habe ich angefangen
http://www.diy-hifi-forum.eu/forum/showthread.php?t=12624&page=2

und wenn nicht klappt, ist Hilfe ja auch nicht fern.

taurui
02.10.2016, 21:57
Hi,
das ist nicht so schwer. Eigentlich muss man nur brutefir richtig konfigurieren. Wo soll denn die Musik herkommen? Und wo soll sie hin?

Von USB-Festplatte, an USB-DAC :)

kasbc
02.10.2016, 23:14
Ok. Ich habe mich vlt. etwas zu unscharf ausgedrückt. Womit wird die Musik abgespielt?
Ich mache es entweder mit dem mpd. Da wird in der mpd.config statt ALSA eine pipe definiert. Die liest brutefir dann, faltet und schreibt auf ALSA raus.
Oder am Line-In (oder anderen Inputs), da liest brutefir von ALSA und schreibt auf ALSA.

JACK habe ich noch nie benutzt.

Gruß

taurui
02.10.2016, 23:19
Ach so. Ich nutze Volumio, also MPD.
Hast du evtl. eine Konfiguration die ich einfach übernehmen kann? Hab von Linux keine Ahnung :D

kasbc
03.10.2016, 07:27
Die Basics sind:

In der /etc/mpd.conf


audio_output {
type "pipe"
name "brutefir pipe"
command "/usr/local/bin/brutefir -nodefault /home/.brutefir.conf"
format "44100:16:2"
}Du musst halt die brutefir.conf richtig angeben.
Je nach user des mpd stimmt dann eben /home nicht

Im brutefir.conf geht es darum, den Input auf die pipe zu setzen:


output "left", "right" {
device: "file" {path: "/dev/stdout";};
sample: "S16_LE"; # sample format
channels: 2; # number of open channels / which to use
delay: 0,0; # delay in samples for each channel
maxdelay: 100; # max delay for variable delays
mute: false,false; # mute active on startup for each channel
dither: false; # no dither for 32 bit output
};

Wenn du allerdings noch nix über brutefir weisst, gibt's mehr zu tun.

Blaubeere85
03.10.2016, 20:14
12107
12108
Bei mir läuft die Cirrus mit Acourate.
Ein mal für video mit 256,32; partitionen
Und für Musik mit 512,128; partitionen
Dazu zeigt mir das oled die aktuellen Filter an. Aber erst seit ein paar tagen macht es keine Probleme mehr. Kernel ist momentan der aktuellste.
Lautstärke wird auch gleich direkt in BruteFir erledigt. Läuft grad gut.




Gesendet von iPhone mit Tapatalk

kasbc
04.10.2016, 10:23
Lautstärke wird auch gleich direkt in BruteFir erledigt. Läuft grad gut.


Über welchen Parameter?

Blaubeere85
04.10.2016, 10:44
Da muss ich mal daheim schaun. Kann ich gerne mal heute machen.
Vom Prinzip her wie wenn ich die coeffs umschalte.

kasbc
04.10.2016, 11:12
Hallo Blaubeere85,

der Mechnismus ist mir klar (das command-line-interface von brutefir, das man über die Fernbedienung ansprechen kann).

Aber dann veränderst du einen Parameter, Welchen?
Zur Auswahl stehen die Befehler cfia, cifoa, cffa.

Ich habe mal direkt "verstärkt", d.h. attenuation erhöht (weiß bloss nicht wo), das hat dann verzerrt. Drum Frage ich.

Gruß

Blaubeere85
04.10.2016, 11:19
Wie gesagt das ist jetzt nur aus dem stehgreif.
Es war glaube ich cffa
Die attenuation hab ich in der Bruteconfig um glaube ich 15 db abgeschwächt um noch ein wenig spielraum zu haben.
Verzerrungen kann ich nicht bestätigen.
Macht was es soll.
Ich schreib dazu heute Abend nochmal was


Gesendet von iPhone mit Tapatalk

sion
04.10.2016, 17:07
Ich bräuchte mal einen Rat...

Nachdem die Mehrkanalausgabe per HDMI funktioniert, möchte ich jetzt zwei Braun L260 aktivieren. Fürs Erste habe ich Filter mit maXO erstellt, Klingt gar nicht so schlecht, aber sicher geht da noch mehr. Ich bin leider fast völlig unbeleckt, was Messen, Digitalweichen etc. betrifft. Jetzt suche ich einen Einstieg. Die vielen Threads hier im Forum sind ein bisschen wie ein Dschungel für mich. Womit sollte ich sinnvoller Weise beginnen? Ein einfaches Messmikro mit Kalibrierfiles habe ich bereits.

Dankbar für Anregungen grüßt

Klaus

The Alchemist
04.10.2016, 18:17
Erstmal schön , dass Du es mit dem Kernel geschafft hast..

Filter mit MaXO das ist lange her. Mein Lieblingswerkzeug ist rePhase (https://sourceforge.net/projects/rephase/).

sion
04.10.2016, 19:03
Danke für den Hinweis auf rePhase. Ein erster Schritte könnte also die Erstellung von FIR-Filtern mit rePhase sein, ohne vorherige Messung? (soll hier auch nicht zu sehr offtopic werden).

kasbc
04.10.2016, 19:39
Hallo sion,

das ist jetzt echt ein weites Feld ...
Grenzen wir es etwas ein:


du benutzt brutefir auf einem Raspi, d.h. das ist erst mal dein "DSP"



mit brutefir kannman FIR-Filter in ein Musiksignal "falten"



diese Filter kann man dazu nutzen, um

Signale aufzuteilen --> Frequenzweiche
Signale zu linearisieren -> F-Gang "begradigen"
Zielkurven für den Raum herzustellen --> "Raumkorrektur"


außerdem kann man mit den Delay-Parametern die Laufzeiten der verschieden Chassis angleichen --> Zeitrichtigkeit herstellen

Die Frage die sich stellt ist: Woher kriege ich diese Filter?


Rephase ist eine Möglichkeit. Ich kenne dessen "Mächtigkeit" aber nicht. Es ist prinzipiell bei den Applikationen bei miniDSP (https://www.minidsp.com/applications/advanced-tools/rephase-fir-tool) beschrieben.
Eine andere Möglichkeit ist acourate. Das kann alles. Kostet aber.
Es gibt noch mehr, wie zum Bsp. DRC aber, das ist auf reine Raumkorrektur ausgelegt.

Der Room Equalization Wizzard kann viel, macht aber IIR-Filter, die brutefir aber auch frisst. Und: FIR Filter haben "positive" Eigenschaften, sind aber auch nicht der hl. Gral.


Das mal zur ersten Orientierung. Es wird aber nicht ausbleiben, dass du dich in die Materie einarbeitest. Wenn du nicht annähernd weisst, was du tust, kommt nur wenig mehr rum als du schon hast.
Die Anfänger-Betriebsanleitung zum Thema gibt es nicht. Lesen, probieren, gezielt fragen ist angesagt.


Immerhin hast schon mal eine Umgebung zum Falten.



Gruß

sion
04.10.2016, 20:51
Die Anfänger-Betriebsanleitung zum Thema gibt es nicht. Lesen, probieren, gezielt fragen ist angesagt.


Hi kasbc

Eine "Anfänger-Betriebsanleitung" wäre natürlich eine feine Sache. Ich verstehe aber auch, dass es die nicht so ohne weiteres geben kann, dafür ist die Thematik doch zu komplex. Wenn ich ein wenig weiter bin, werde ich vielleicht noch einen Faden zu meinem Vorhaben öffnen.

Gruß

Klaus

kasbc
05.10.2016, 07:24
Hallo sion,

ich lese grade dieses Buch. (https://www.amazon.de/Accurate-Sound-Reproduction-Using-English-ebook/dp/B01FURPS40/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1475648230&sr=1-1&keywords=mitch+barnett)
Es zielt zwar auf eine Verwendung von acourate, trägt aber viel zum Gesamtverständnis bei.

Wenn man ein "klassisches DSP" (Hypex, miniDSP) benutzt, danm hilft auch die Anleitung "DSP-Weichen richtig einstellen) von Hifi-Selbstbau enorm weiter. Ich weiß jetzt aber grade nicht, ob das ein öffentlicher Artikel ist, oder die Mitgliedschaft voraussetzt.

Die erste Hürde ist jetzt erst mal die verschiedenen Sachen für sich selber zu sortieren und eine Strategie zu entwickeln, mit welchem Toolset man das Ganze angeht.

Gruß

Lauscher
05.10.2016, 10:13
Hallo kasbc,

ich würde gerne die Anleitung "DSP-Weichen richtig einstellen) von Hifi-Selbstbau lesen - kann den Beitrag aber überhaupt nicht finden. Kannst Du mir hier einen Link geben?

des weiteren suche ich schon eine gewisse Zeit nach einem Buch über die Bedienung und Herangehensweise mit einer DSP. Hast Du für mich eine Empfehlung in deutscher Sprache ?
Natürlich rackere ich mit meiner DSP schon ein Jahr rum - geht auch :) Aber eine Anleitung wie ich am besten vorgehen könnte währe schon sehr schön.

viele Grüße
Jens

albondiga
05.10.2016, 10:21
a) den HSB-Artikel gibt es nur für Abonnenten.
b) geht die Falterei (via HDMI) eigentlich auch mit dem PI 3? Ich meine irgendwo stand etwas, kann mich aber weder erinnern wo, noch warum.

sion
05.10.2016, 11:58
Hi albondiga,

Multichannel per HDMI wurde aus dem aktuellen Kernel entfernt. Du kannst Dir aber einen Kernel kompilieren. Um die Multichannelfunktion wieder zu aktivieren, musst Du in den Kernel-Quellen die Datei /linux/sound/arm/bcm2835-pcm.c editieren. In meinem Fall sehen die geänderten Sektionen so aus:


/* hardware definition */
static struct snd_pcm_hardware snd_bcm2835_playback_hw = {
.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
.formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000,
.rate_min = 8000,
.rate_max = 192000,
.channels_min = 1,
.channels_max = 8,
.buffer_bytes_max = 128 * 1024,
.period_bytes_min = 1 * 1024,
.period_bytes_max = 128 * 1024,
.periods_min = 1,
.periods_max = 128,
};

static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = {
.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
.formats = SNDRV_PCM_FMTBIT_S16_LE,
.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 |
SNDRV_PCM_RATE_192000,
.rate_min = 44100,
.rate_max = 192000,
.channels_min = 2,
.channels_max = 8,
.buffer_bytes_max = 128 * 1024,
.period_bytes_min = 1 * 1024,
.period_bytes_max = 128 * 1024,
.periods_min = 1,
.periods_max = 128,
};
Funktioniert gut, ich habe bis jetzt noch keine Probleme bemerken können. Ich falte derzeit mit 4 Kanälen, 44,1kHz und einer Filterlänge von 65536 (4096,16). Die CPU ist dabei mit etwa 16% ausgelastet.

Gruß

Klaus

albondiga
05.10.2016, 12:44
Yeah. Das würde ja ein geiler Anfängerguide. Zuerst einmal Kernelquellen editieren und neuen Kernel kompilieren. :dance:

sion
05.10.2016, 13:04
Meintest Du das ironisch? Einen Kernel zu kompilieren hört sich schlimmer an als es ist. War aber eventl. auch mein Fehler. Ich hatte unter Deinem Nick "Erfahrener Benutzer" gelesen und nicht daran gedacht, dass das hier kein Linux Forum ist. :danke: Falls Du also konkrete Fragen dazu hast...

albondiga
05.10.2016, 13:32
ja, war ironisch gemeint. Kernel kompilieren hab ich schonmal gemacht, ist lange her und eigentlich dachte ich, die Zeiten wären vorbei.
Ist aber nicht wirklich aktuell, habe zu viele Projekte gleichzeitig, wobei ich mein schimmelndes Badezimmer priorisiere...

sion
05.10.2016, 13:36
Na denn...

Falls es aber mal aktuell werden sollte, hier ist eine einfache(?) Anleitung zu finden:
https://www.raspberrypi.org/documentation/linux/kernel/building.md

(Ich hab übrigens direkt auf dem RPI3 kompiliert. Mittags angeworfen, abends war es fertig...)

kasbc
05.10.2016, 14:59
Hallo kasbc,

ich würde gerne die Anleitung "DSP-Weichen richtig einstellen) von Hifi-Selbstbau lesen - kann den Beitrag aber überhaupt nicht finden. Kannst Du mir hier einen Link geben?

des weiteren suche ich schon eine gewisse Zeit nach einem Buch über die Bedienung und Herangehensweise mit einer DSP. Hast Du für mich eine Empfehlung in deutscher Sprache ?
Natürlich rackere ich mit meiner DSP schon ein Jahr rum - geht auch :) Aber eine Anleitung wie ich am besten vorgehen könnte währe schon sehr schön.

viele Grüße
Jens

Die Frage zum HSB-Artikel wurde ja schon beantwortet.

Und nein: Ich kenne kein Buch in deutsch. Ich kenne überhaupt nur das eine Buch "zum Thema", also eine Mischung aus gewissen theoretischen Grundlagen und konkreten Handlungsanweisungen.

Der HSB-Artikel behandelt auch die Themen die ich oben genannt habe. Hinzu kommt als Schwerpunkt: Bestimmung der Trennfrequenz und Wahl des Filtertyps für die Weiche.
Das andere sind einfach konkrete Vorgehenweisen.

Aber ganz ehrlich: beim ersten Lesen hab ich auc nicht alles verstanden. Es braucht einfach eine Weile da reinzukommen. Z.B. was für Messungen brauche ich & was sagen sie mir?
Was ist das eigentlich was ich grade zu optimieren versuche (z.B. Gruppenlaufzeit?)? Was mache ich mit den dutzenden Funktionen von z.B. einem Acourate? etc. pp

Es hilft nix: Man muss sich rantasten.

Ich bin auch noch ein lernender.

Der Typ hat's mal durchgezogen (http://digitalroomcorrection.hk/http___www.digitalroomcorrection.hk_/Welcome.html). Da bin ich noch nicht und will ich auch vlt. nicht hin (Aufwand).

Aber nochmal: Es gibt da viele Wege "aktiv" zu werden. Prinzipiell kann ich das mit Linux oder Windows-Rechnern machen mit sehr untschiedlicher SW, mit miniDSP-Komponenten, wenn man FIR mal weglässt mit Hypex, Monacor und anderen miniDSP-Komponenten ...
Und dann gibt's ja auch noch die Variante einer Über-Alles--Korrektur am Hörplatz, das ist nix "aktives" sondern einfach nur einen Filter für diese Gesamtkorrektur einer vorhandenen Box irgendwie (PC, Raspi eigenes G Gerät) einschleusen. Da gibt es eine tolle SW namens DIRAC.

Der RASPI ist halt auch eine Bastelebene, die man mögen muss. Ich sach nur Kernel-Build...

Drum: Überblick verschaffen.

Gruß

Lauscher
05.10.2016, 19:40
Danke für Eure Antworten

ist es sinnvoll bei HSB Mitglied zu werden ?

viele Grüße
Jens

The Alchemist
05.10.2016, 19:48
Ich wüsste nicht, dass man bei HSB schon einmal über den RPi berichtet hätte...:D

Lauscher
05.10.2016, 19:50
Was ist ein PRI ?

eltipo
05.10.2016, 19:51
Raspberry pi

Gesendet von meinem Redmi Note 3 mit Tapatalk

Lauscher
05.10.2016, 19:53
ahhhh ha :)

Danke

kasbc
05.10.2016, 20:12
Danke für Eure Antworten

ist es sinnvoll bei HSB Mitglied zu werden ?

viele Grüße
Jens

Ich bin da seit 10 Jahren dabei, also voreingenommen.
Die Abo-Gebühr beträgt 24 € pro Jahr. Dafür hast du Zugriff auf jede Menge Grundlagenartikel, die vom HSB-Team (Theo & Pico) erstellt wurden, sowie richtig gut dokumentierte und gut klingende Bauvorschläge und Datenblätter für Chassis. Ich denke, das ist es wert.

Es wird vieles mit Aktiv-Konzepten gemacht, aber eher die Variante mit Hypex DSPs. Raumkorrektur wird grundsätzlich mit DIRAC gemacht. Kein Wunder, die beiden machen den Deutschland-Vertrieb. Was aber nix dran ändert, dass das eine saugute SW ist.
Raspi basteln / brutefir ist eher nicht ihr Ding. Da fehlt ihnen die Nachbausicherheit.

Wenn's dir nur Raspi geht: Such dir lieber alle Forumsbeiträge vom Alchimisten zusammen. Dann hast du das meiste beieinander.
Hab ich auch so gemacht :D Hat meine Raspi-Versuche brutal beschleunigt.

Entscheidend ist, um was es dir geht, was du machen willst (Computer-Fummeleien, Holzarbeiten, Günstig, High-End, ..) . Dann kann man auch gezieltere Empfehlungen aussprechen.

Gruß

Lauscher
06.10.2016, 12:33
hallo kasbc,

es geht mir um tips für die grundsätzliche Verwendung von DSP´s - Super wenn ich das bei meiner DSP einsetzen kann , Tipps für Holzarbeiten am Gehäusebau, Messtechniken die ich brauche um immer genauer messen zu können- kurz rum ich möchte mich weiter entwickeln und immer bessere (aus meiner Sicht und in meinem Wohnzimmer) Lautsprecher bauen.

viele Grüße :)
Jens

kasbc
06.10.2016, 14:04
Hallo Lauscher,
dann bist du bei HSB gut aufgehoben.
Gruß

Lauscher
06.10.2016, 14:12
OK - ich probiere es mal ein Jahr aus - mal schauen ob es auch so viele Jahre werden :)

Danke für Deine Antworten :ok:

viele Grüße
Jens

sion
14.10.2016, 15:44
Vielleicht ist es für den ein oder anderen interessant/hilfreich...

Um meine Schallplatten am Raspberry abspielen zu können, habe ich mir diese USB-Soundkarte mit eingebauten Phonoeingang zugelegt:
ART USB Phono Plus PS (http://www.diy-hifi-forum.eu/forum/ART%20USB%20Phono%20Plus%20PS)
Vorteil: Alles schön in einem integriert, schlicht und einfach
Nachteil: Bitrate ist nur 16 bit
Da es sich aber eh um meine Zweit-Anlage handelt und nur gelegentlich zum Schallplattenhören verwendet wird, reicht das. Der Klang, soviel kann ich schon sagen, ist durchaus annehmbar.

Da ich auf dem Raspberry nach der Anleitung von Alchemist (siehe Seite 5 in diesem Thread) mit BruteFIR falte, stellte sich die Frage, wie ich die Signale von der USB-Karte entsprechend umleite und in das passende Format wandle.
Dazu verwende ich SoX. http://sox.sourceforge.net/
SoX lässt sich einfach nachinstallieren:
sudo apt-get install sox (Die erforderlichen Bibliotheken sollten automatisch von apt mitinstalliert werden)

Für den einfachen Gebrauch habe ich mir ein kleines Script geschrieben.
So schaut es derzeit aus:


#!/bin/bash

sox --buffer 20000 -r 44100 -c 2 -e signed-integer -b 16 -t alsa hw:1 -t raw - | \
sox -t raw -c 2 -r 44100 -e signed-integer -b 16 - \
-t raw -r 44100 -c 2 -e signed-integer -b 32 - | \
brutefir -nodefault /home/falter/.brutefirlow_config 2>/dev/null
Über Verbesseungsvorschläge für das Script würde ich mich freuen. Ich habe es im Homeverzeichnis unter dem Namen "rec" gespeichert und rufe es derzeit noch per ssh auf. Geplant ist aber, das script per lirc (Fernbedienung) zu starten. Allerdings habe ich die Fernbedienung noch nicht konfiguriert, das kommt dann demnächst auch noch...

Viele Grüße

Klaus

kasbc
14.10.2016, 22:59
Vlt. stehe ich jetzt auf dem Schlauch, aber warum liest du nicht einfach mit brutefir direkt von der Soundkarte?

sion
14.10.2016, 23:42
Vlt. stehe ich jetzt auf dem Schlauch, aber warum liest du nicht einfach mit brutefir direkt von der Soundkarte?

Zugegeben, auf die Idee bin ich nicht gekommen. Wie geht das? Das Device in der brutefir_config als Input definieren?

btw: Die Soundkarte kann nur 16 bit. Ist es da nicht auch besser, erst auf 32bit zu samplen? (bzw. notwendig bei 32 bit Filtern).

kasbc
15.10.2016, 15:27
Zugegeben, auf die Idee bin ich nicht gekommen. Wie geht das? Das Device in der brutefir_config als Input definieren?


ja



btw: Die Soundkarte kann nur 16 bit. Ist es da nicht auch besser, erst auf 32bit zu samplen? (bzw. notwendig bei 32 bit Filtern
weiß nicht

Slaughthammer
06.01.2018, 19:58
Ich habe hier mal wieder dran gebastelt. Hab mir dazu nochmal eine Pi3 geholt, wegen onboard WiFi in erster Linie, mit dem normalen Raspbian aufgesetzt, die Kernelsources geladen, die unten genannten Modifikationen vorgenommen, gebaut und installiert. Dann bin ich weiter nach http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-software-howto/ vorgegangen, habe die Alsa utils und ecasound installiert und das Testfile (http://faculty.tru.ca/rtaylor/rt-plugins/chan_labels_6.wav) mit dem altbekannten Befehl abgespielt:


ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o alsa,sysdefault:ALSA

Ergebnis: Der AVR erkennt eine 5.1 Quelle, ich höre left woofer aus front left, right woofer kommt zerhackt aus front right, left mid kommt ausm center und left tweeter ausm surround left. Im ALSA Mixer sehe ich immer nur ein Gerät mit einem Kanal:


lqqqqqqqqqqqqqqqqqqqqq AlsaMixer v1.1.3 qqqqqqqqqqqqqqqqqqqqqk
x Card: bcm2835 ALSA F1: Help x
x Chip: Broadcom Mixer F2: System information x
x View: Playback F6: Select sound card x
x Item: PCM [dB gain: 4.00] Esc: Exit x
x lqqk x
x xaax x
x xaax x
x xaax x
x xaax x
x tqqu x
x xOOx x
x mqqj x
x 100 x
x < PCM > x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqj
und aplay -L gibt folgendes aus:


null
Discard all samples (playback) or generate zero samples (c apture)
default:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
dmix:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
dmix:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
dsnoop:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
dsnoop:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
hw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions


Als Linuxnoob komme ich da jetzt nicht mehr weiter, laut dem Taylor sollte das halt doch deutlich anders aussehen. Das BruteFir setup vom Alchemisten habe ich noch nicht getestet, würde das lieber mit ecasound als BruteFir laufen lassen.

Wäre schön, wenn da einer der linux/RasPi Experten einen Rat weiß...

Gruß, Onno





Multichannel per HDMI wurde aus dem aktuellen Kernel entfernt. Du kannst Dir aber einen Kernel kompilieren. Um die Multichannelfunktion wieder zu aktivieren, musst Du in den Kernel-Quellen die Datei /linux/sound/arm/bcm2835-pcm.c editieren. In meinem Fall sehen die geänderten Sektionen so aus:


/* hardware definition */
static struct snd_pcm_hardware snd_bcm2835_playback_hw = {
.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
.formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000,
.rate_min = 8000,
.rate_max = 192000,
.channels_min = 1,
.channels_max = 8,
.buffer_bytes_max = 128 * 1024,
.period_bytes_min = 1 * 1024,
.period_bytes_max = 128 * 1024,
.periods_min = 1,
.periods_max = 128,
};

static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = {
.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
.formats = SNDRV_PCM_FMTBIT_S16_LE,
.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 |
SNDRV_PCM_RATE_192000,
.rate_min = 44100,
.rate_max = 192000,
.channels_min = 2,
.channels_max = 8,
.buffer_bytes_max = 128 * 1024,
.period_bytes_min = 1 * 1024,
.period_bytes_max = 128 * 1024,
.periods_min = 1,
.periods_max = 128,
};
Funktioniert gut, ich habe bis jetzt noch keine Probleme bemerken können. Ich falte derzeit mit 4 Kanälen, 44,1kHz und einer Filterlänge von 65536 (4096,16). Die CPU ist dabei mit etwa 16% ausgelastet.

Gruß

Klaus

The Alchemist
06.01.2018, 20:10
Gibst Du uns mal den Output von:

aplay -l (kleines L)

ob der aktuelle Kernel vom PI nunmehr Mehrkanal macht weiß ich nicht.

Normalerweise sollte, wenn es so, ist der Befehl:

speaker-test -D hw:0,1 -c 8

Rosa Rauschen auf 8 Kanälen bringen.

Mit Ecasound hab ich noch nichts gemacht, da bei mir auf dem 1er Pi immer noch sehr schön Brutefir mit der Wolfson Karte läuft.

Slaughthammer
06.01.2018, 20:16
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
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: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0

Das sieht ja nicht sooo gut aus, HDMI nur ein Kanal?

speaker-test gibt gerade gar nix aus, ich teste da noch eben, obs am AVR liegt.


pi@raspberrypi:~ $ speaker-test -D hw:0,1 -c 8

speaker-test 1.1.3

Playback device is hw:0,1
Stream parameters are 48000Hz, S16_LE, 8 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 8192
Period size range from 64 to 8192
Using max buffer size 8192
Periods = 4
was set period_size = 2048
was set buffer_size = 8192
0 - Front Left
4 - Center
1 - Front Right
7 - Side Right
3 - Rear Right
2 - Rear Left
6 - Side Left
5 - LFE
Time per period = 23.748807


Gruß, Onno

Edit: vom Windos Laptop aus kann ich alle Kanäle am AVR ansteuern, liegt also nicht am Reciever.

The Alchemist
06.01.2018, 20:24
Das sieht schon mal sehr gut aus!

Starte den Pi mal neu mit "vorher" eingeschaltetem Receiver und korrekt gewählter Quelle, also die, die der Pi bedient.

Mit
sudo reboot

Im Alsa Mixer kann man keine Kanäle sehen, das ist bei vielen HDMI Geräten so...

Slaughthammer
06.01.2018, 20:33
Das habe ich schon mehrfach ausprobiert... ändert nichts.

Mittlerweile sagt der Pi auch scheinbar gar nichts mehr über HDMI.

Hab den AVR vorhin nochmal zurückgesetzt, seit dem funktioniert mit Windows davor alles reibungslos. Da waren vom Vorbesitzer noch ein ein paar komischen Einmessdaten drin, die ich auf die schnelle nicht raus bekam...

Edit: Ich Esel habs gefunden... man muss den ALSA-Mixer auch nicht muten... Also ich bekomme jetzt mit speaker-test -D hw:0,1 -c 8 immerhin rauschen auf 5 Kanälen, LFE hab ich erstmal nicht getestet. AVR erkennt auch 5.1 Quelle, und es sind auch die surround backs auf denen nichts ankommt.

Gruß, Onno

The Alchemist
06.01.2018, 20:44
Der Reihe nach:

Die Ausgabe von speaker-test ist fehlerfrei.

Es muss Funktionieren, immer, auch mit dem Standard Kernel:
speaker-test -D hw:0 -c 2Das ist der normale Stereoton über HDMI.

Dann mal :

speaker-test -D hw:0,1 -c 2Der gleiche Stereoton "digital" also über das IEC958 Interface.

Wenn schon der erste Befehl kein Rauschen bringt, liegt es irgendwo am AVR, welcher war es doch gleich?

Im Anschluss hocharbeiten, immer 2 Kanäle dazu:
speaker-test -D hw:0 -c 4also mit -c 4 , -c 6 usw.

Wenn alles funktioniert dann mal die Ausgabe bei ecasound variieren:
Da bin ich mir aber nicht sicher, da mir der Umgang mit Ecasound fehlt.


ecasound -tl -i chan_labels_6.wav -f:16,6,44100 -eadb:-24 -b 4096 -o:alsahw,0,1Eventuell auch:

ecasound -tl -i chan_labels_6.wav -f:s16_le,6,44100 -eadb:-24 -b 4096 -o:alsahw,0,1


Aufpassen ich habe mich vertan!!!!!!!!! Der erste Befehl erzeugt keinen Ton über HDMI beim Raspi, das ist die Klinke!!!! Also der 2. muss funktionieren.

sion
06.01.2018, 21:05
Hallo Onno,

wie schon von Alchemist gesagt, ist die Ausgabe von speaker-test fehlerfrei. Ich würde testweise mal einen anderen HDMI-Eingang oder auch ein anderes Kabel probieren (wenn es auch mit dem Windows-Lap geht).

Gruß Klaus

Slaughthammer
06.01.2018, 21:08
Also ich bekomme 5.1 über HDMI, (siehe edit).

Vom win10 Laptop aus bekomme ich sauber 7.1 über den gleichen AVR, sogar mit automatisch richtig gemappten Kanälen. Ich glaube am AVR liegt es nicht.

Die beiden modifizierten ecasound Befehle machen genau das gleiche wie bisher, kein Veränderung erkennbar. Ich lese mich mal durch die ecasound Doku durch...

Gruß, Onno

The Alchemist
06.01.2018, 21:11
Edit: Ich Esel habs gefunden... man muss den ALSA-Mixer auch nicht muten... Also ich bekomme jetzt mit speaker-test -D hw:0,1 -c 8 immerhin rauschen auf 5 Kanälen, LFE hab ich erstmal nicht getestet. AVR erkennt auch 5.1 Quelle, und es sind auch die surround backs auf denen nichts ankommt.

Gruß, Onno

Das versteh ich jetzt nicht ganz, bei -c 8 muss eigentlich 7.1 angezeigt werden......

Mein Onkyo zeigt Multichannel PCM, 8 Channels
Wie sieht das aus wenn Du nur -c 6 angibst .

Bei ecasound hab ich keinen Schimmer was - eadb:-24 bedeutet.

Slaughthammer
06.01.2018, 21:41
Ich verwende einen Pioneer VSX-1018AH.

Habe mal zum testweise meinen älteren Onkyo angeklemmt, da scheinen alle 8 Kanäle zu gehen. Liegt also nicht alleine am Pi.

Hab am Pioneer dann mal die andere HDMI Buchse getestet, keine Veränderung, hab den Monitor abgeklemmt, auch keine Veränderung.

Ich mach erstmal Feierabend für heute.

Gruß, Onno

sion
06.01.2018, 21:45
Ich hatte bisher keine 8 Kanäle bei meinem Setup getestet, da ich selber nur 4 benötige. Das hab ich jetzt aber nachgeholt. Nun also: auch bei mir nur maximal 6 Kanäle. Da hat mich jetzt echt überrascht. Tut mir leid Onno, dass Du jetzt so viel probiert hast, das war echt ein Versäumnis von mir.
Im Moment habe ich keine Erklärung dafür, wie das resultiert. Der speaker-test läuft sauber durch, aber auch bei meinem Receiver werden nur 6 Kanäle angezeigt...
Übrigens: Ich hatte zuerst einen Onkyo verwendet, jetzt einen Pioneer. Möglicherweise ging es ja auch beim Onkyo, aber ich glaube ich hatte es wirklich nicht getestet, bzw. darauf geachtet

Die Posting haben sich überschnitten... Anscheinend ein Pioneer-Ding. Ich habe einen VSX-L52D.

Slaughthammer
06.01.2018, 21:46
Wie sieht das aus wenn Du nur -c 6 angibst .
Wird auch als 5.1 erkannt, mit gleichem Ergebnis.



Bei ecasound hab ich keinen Schimmer was - eadb:-24 bedeutet.


-eadb:gain-dB[,channel]
Adjusts signal level by 'gain-dB', with a gain of 0dB having no effect to the signal, negative gains attenuating the signal and positive gain values amplifying it. The 'channel' parameter (1...n) is optional. If 'channel' parameter is specified, and its value is nonzero, gain is only applied to the given channel (1...n).

http://nosignal.fi/ecasound/Documentation/ecasound_manpage.html

Wie gesagt, ich werde mich da mal durch die Doku arbeiten.

Grundsätzlich läuft das mit dem Pi und Multichannel PCM Audio ja erstmal, ggf. muss ich die beiden AVRs halt tauschen. Aber jetzt bin ich erstmal ein gutes Stück weiter,

Dankeschön!

Gruß, Onno

Slaughthammer
06.01.2018, 21:48
Ich hatte bisher keine 8 Kanäle bei meinem Setup getestet, da ich selber nur 4 benötige. Das hab ich jetzt aber nachgeholt. Nun also: auch bei mir nur maximal 6 Kanäle. Da hat mich jetzt echt überrascht. Tut mir leid Onno, dass Du jetzt so viel probiert hast, das war echt ein Versäumnis von mir.
Im Moment habe ich keine Erklärung dafür, wie das resultiert. Der speaker-test läuft sauber durch, aber auch bei meinem Receiver werden nur 6 Kanäle angezeigt...
Übrigens: Ich hatte zuerst einen Onkyo verwendet, jetzt einen Pioneer. Möglicherweise ging es ja auch beim Onkyo, aber ich glaube ich hatte es wirklich nicht getestet, bzw. darauf geachtet

Danke auch für diesen Hinweis! Dann scheinen die Pioneers aus irgendwelchen Gründen wohl nicht voll Kompatibel mit dem Pi... naja, auch gut zu wissen.

Gruß, Onno

sion
06.01.2018, 21:55
Immerhin laufen ja jetzt die 8 Kanäle...

Mit ecasound habe ich bisher keine Erfahrungen gesammelt. Magst Du kurz erzählen, warum Du Dich dafür entschieden hast?

Slaughthammer
06.01.2018, 22:03
Weil man in ecasound recht einfach und latenzarm IIR-Filter umsetzen kann, also mit den gewohnten Hoch/Tiefpässen, PEQs und shelving filtern arbeiten kann. Auch Allpässe erster und zweiter Ordnung sind möglich, sofern man dies braucht. Man kann also recht einfach eine laufzeitkorrigierte Weiche mit Linkwitz-Rilley Filtern für die Trennung programmieren.... zumindest wenn der Kram erstmal läuft.

Ich werde mir nochmal rePhase angucken, wie man damit genau Filter für BruteFir erstellt, und wer weiß, vllt änder ich ja meine Meinung noch.

Und auch nochmal ein Dankeschön für die Anleitung zum Kernel bauen, das war selbst für mich als nahezu blutigen Linux-Anfänger auf Anhieb machbar!

Gruß, Onno

sion
06.01.2018, 22:16
rePhase ist einfach zu bedienen. Immerhin habe ich als blutiger Laie in kurzer Zeit ein gut klingendes Ergebnis zur Aktivierung meiner 2-Wege Laufsprecher hinbekommen. Wer tiefer in der Materie Messung und Interpretation drin ist, wird sicher noch mehr davon profitieren. Dann gibt es ja auch noch acourate. Soll noch bessere Ergebnisse liefern. Damit habe ich aber noch nicht gearbeitet...

sion
08.01.2018, 13:15
Für BruteFIR-rePhase-Interessierte ein Youtube-Link zum Einstieg. Ich finde, es wird gut und verständlich dargestellt:
https://youtu.be/_mzOhhbX5Qo

Der Link stammt aus diesem Thread (ich hoffe, der Hinweis ist erlaubt):
http://www.diyaudio.com/forums/pc-based/302900-brutefir-dsp-pc-step-step.html

Gruß Klaus

Slaughthammer
08.01.2018, 16:26
Ich habs gerade nochmal mit dem Pi2 versucht, exakt gleiches verhalten.... Naja, ich plane ja gerade eh ein aktives 2.1 System mit 2-Wege Tops, da würden die 5 Kanäle ja erstmal reichen.

Jetzt brauche ich noch eine gute Möglichkeit, um den kompletten Windows Desktop inkl. Audio übers WLAN auf den Pi zu streamen, möglichst noch mit einer Möglichkeit, A/V manuell zu synchronisieren... Nur Audio ist kein Problem, das geht über TuneBlade und shairport-sync. Aber den Videostream habe ich noch nicht hinbekommen, obwohl es eigentlich gehen sollte.... Naja, anderes Thema.

Gruß, Onno