![]() |
|
Welchen DSP mit FIR - Druckversion +- diy-hifi-forum.eu (https://diy-hifi-forum.eu) +-- Forum: Archiv (https://diy-hifi-forum.eu/forumdisplay.php?fid=198) +--- Forum: Elektronik (https://diy-hifi-forum.eu/forumdisplay.php?fid=8) +---- Forum: Allgemeine Themen (https://diy-hifi-forum.eu/forumdisplay.php?fid=87) +---- Thema: Welchen DSP mit FIR (/showthread.php?tid=11165) |
Welchen DSP mit FIR - xnishd - 09.02.2016 loki schrieb:Ich habe mir acourate convolver mal angesehen. Für meine Anwendung gibt es ein Problem: die Latenz von einigen hundert ms. Aber das gilt wohl für alle FIRs. Es soll mit Videos funktionieren ohne das Bild zu verzögern. Ansonsten scheint es eine gute und zuverlässige Angelegenheit mit einzigartigen Funtionen zu sein. Ich meine mal gelesen zu haben, dass maximal 40ms erträglich sind. Mit einer ordentlichen Anzahl Partitionen und wenig Latenz bei der restlichen Verarbeitung des Signals, sollte das kein Problem sein. Da reicht ein Raspi aber nicht mehr... Edit: Hups - ist ja garnicht der Raspi-Thread. Also Korrektur: "da reicht dann keine schwachbrüstige Hardware mehr"
Welchen DSP mit FIR - Blaubeere85 - 09.02.2016 eltipo schrieb:Das Ding läuft absolut super, und hier klappts auch vernünftig mit dem Übertragen der Lizenz von einem Rechner auf den anderen.... Also wenn du da auf Dirac anspielst hab ich da gute Nachrichten für Dirac Nutzer Es gibt seit einiger Zeit das Customer Portal. Also ich kann mittlerweile sogar mehrmals täglich die Lizenz löschen und auf einen anderen Rechner installierern. Bei mir scheint dene sogar ein Missgeschick passiert zu sein. Ich kann trotz Stereolizenz 2 Rechner aktivieren. https://portal.dirac.se/sign_in.php hier der Link. VG Welchen DSP mit FIR - eltipo - 09.02.2016 The Alchemist schrieb:Man kann mit Acourate Lizenzen Übertragen? Convolver....Convolver.... Acourate ist immer noch an die eine Hardware gebunden. Der Zitat:Acourate Convolverkann ohne Uli beim einen Rechner abgemeldet und beim anderen angemeldet werden. Ein Riesenfortschritt. Da ich mir ein neues NB bestellt habe, muss ich bzgl. Acourate Uli wieder mal belästigen....
Welchen DSP mit FIR - Blaubeere85 - 09.02.2016 xnishd schrieb:Ich meine mal gelesen zu haben, dass maximal 40ms erträglich sind.Also ich finde mehr wie 20 ms fallen schon (vorallem wenn man darauf achtet) negativ auf bei der Lippensynchronität. Deshalb nutze ich für Filme den im Jiver vorhanden Convolver da das Bild gleich mitverzögert wird... Welchen DSP mit FIR - The Alchemist - 09.02.2016 eltipo schrieb:Da ich mir ein neues NB bestellt habe, muss ich bzgl. Acourate Uli wieder mal belästigen.... Das ist doch Kacke....was ist wenn ihm was passiert....dann stirbt die Programmlizenz mit Ableben des Rechners. Gruß Welchen DSP mit FIR - loki - 09.02.2016 xnishd schrieb:Ich meine mal gelesen zu haben, dass maximal 40ms erträglich sind.Erträglich sind tatsächlich eher 20ms. Und die Latenz ist der Technik, die hinter dem Convolver steht, innewohnend. Man kann in den FAQ von Jriver nachlesen, das die Taps, Abtastrate und Latenz in einem direktem Zusammenhang stehen. Also bleibt es bei >>100ms. Welchen DSP mit FIR - Blaubeere85 - 09.02.2016 loki schrieb:Man kann in den FAQ von Jriver nachlesen, das die Taps, Abtastrate und Latenz in einem direktem Zusammenhang stehen. Also bleibt es bei >>100ms.Noch besser einfach mal Rephase dowloaden und rumspielen. unten rechts sieht man nach der berechnung die Latenz des Filters Welchen DSP mit FIR - xnishd - 09.02.2016 loki schrieb:Erträglich sind tatsächlich eher 20ms. Im Convolver-Plugin (ConvolverVST, WMP...) und in Brutefir kann man zusätzlich "Partitionen" einstellen, mit denen man die Latenz senken kann. Das kostet dann nur mehr Rechnerressourcen. http://www.ludd.luth.se/~torger/brutefir.html#bruteconv_3 Hierbei wird die Latenz definitiv gesenkt. Ich kenne JRiver nicht und konnte im Screenshot auch keine Einstellung dazu finden. Mit meinen 65k-Tap langen Filtern habe ich ohne Partitionen eine Latenz von ca 1.5s. Mit 16 Patitionen komme ich auf 0.093s. Mit 128 theoretisch auf 0.012s. Da fühlen sich die 20ms schon fast greifbar an
Welchen DSP mit FIR - Blaubeere85 - 09.02.2016 Hui wenn das stimmt sollte ich mich doch mal anfangen damit zu beschäftigen. Also BruteFir und partitionen. ist das nur Console oder gibt es auch irgendwie eine Grafische oberfläche dazu? Welchen DSP mit FIR - xnishd - 09.02.2016 Brutefir wäre Linux und Console only. Das Convolver-Plugin für Windows hat eine grafische Oberfläche. http://convolver.sourceforge.net/vst.html (Seite bei mir grad down) Das Plugin gibt es in 3 Varianten: - VST Kann in VST-Kompatiblen Programmen verwendet weden. Ich benutze unter Windows meist den VSTHost (http://www.hermannseib.com/vsthost.htm). - WMP Plugin für Windows Media Player - DirectX Das Gleiche als Direct-X Audio Plugin Das blöde am VST ist, dass hier die Partitions gedeckelt sind und man maximal 16 einstellen kann. Die beiden anderen Varianten haben eine freie Eingabe an der Stelle. Ich vesuche grad das VST zu überreden mehr Partitionen zu schlucken. Mein Versuch den Quellcode von Sourceforge selbst anzupassen und eine eigene Version zu erstellen scheitert im Moment daran, dass Steinberg (Hersteller von VST) die alte verwendete "VST-Schnittstelle" nicht mehr anbietet. Ein eckliger "hack" über die Windows-Registry scheint auch noch eine Option. Die habe ich aber noch nicht überprüft. Bei mir im Convolver stehen jetzt die 128 Partitionen, ob er das wirklich macht, weiss ich noch nicht. Welchen DSP mit FIR - waterburn - 09.02.2016 Man muss hier zwei Dinge unterscheiden. zum einen gibt es die vom Filter verursachte Latenz. Diese lässt sich auch nicht reduzieren sondern ist bei linearphasigen Filtern immer vorhanden. Wenn einem diese Latenz zu lang ist muss man auf minimalphasige oder gemischtphasige Filter zurückgreifen. Zum anderen gibt es eine Latenz die auf die Implementierung der Faltung zurückzuführen ist. Wenn die Faltung im Zeitbereich durchgeführt wird, ist diese Latenz nicht vorhanden, allerdings ist das bei langen Filtern sehr rechenintensiv. Um Recourcen zu sparen kann man die Faltung auch im Frequenzbereich durchführen. Hierfür muss das ankommende Signal in Blöcken verarbeitet werden. Die Zeit bis ein Block aufgefüllt ist, kommt auf die oben genannte Filterlatenz oben drauf. Tendenziell reduziert sich der Rechenaufwand wenn die Blocklänge vergrößert wird, allerdings stimmt das nur bis zu einer gewissen oberen Grenze. Wo genau diese Grenze liegt ist abhängig vom konkreten System. Gruß waterburn Welchen DSP mit FIR - xnishd - 09.02.2016 Moin Waterburn, du scheinst ja die Verfahren dahinter besser zu verstehen. Was heißt das denn übersetzt für das konkrete Hochsetzen der Anzahl der Partitionen im Faltungsprogramm und der damit eingehenden niedrigeren Latenz? Deine Aussage klingt für mich so, als würde es irgendwo ein hartes Limit geben, das man nicht unterbieten kann. (Filterlatenz) Ich habe es so verstanden, dass die Partitionen eben diese Latenz verringern. Ich muss mal so blöd fragen, da die Convolution für mich nur eine Blackbox ist und ich hier auch keinen in die falsche Richtung schicken will. Welchen DSP mit FIR - loki - 09.02.2016 Das habe ich bei Jriver gefunden und das ist die Latenz, die sich nicht verringern läßt: The delay introduced by a convolution filter can be calculated using the following formula: (Taps / 2) / Sampling Rate (expressed in seconds). So a 22000 tap filter sampled at 44100Hz would introduce about 1/4 of a second of delay, which is significant. Und in einem anderem Threat habe ich über Acourate Convolver gelesen ( von Uli), wie man die Latenz auf ca. 10ms verringert, indem man die Taps auf 1024 reduziert. Dadurch wird aber auch die Auflösung kleiner, was bei tiefen Frequenzen ein Problem sein kann. Dazu kommt noch die eigentliche Berechnung des neuen Musikstreams, die Faltung. Wenn ich es recht verstanden habe, sind das im obigen Beispiel so einige hundert Millionen! Welchen DSP mit FIR - waterburn - 10.02.2016 Hallo zusammen, xnishd schrieb:Deine Aussage klingt für mich so, als würde es irgendwo ein hartes Limit geben, das man nicht unterbieten kann. (Filterlatenz) Das verstehst du genau richtig. Ein linearphsiges Filter hat immer eine Latenz die der halben Ordnung entspricht. Die Ordnung eines linearphasigen Filters ist die Anzahl der Koeffizienten +1. Die Erklärung dafür kann ich nur grob skizzieren, da ich sonst genauer nachschlagen müsste. Ein linearphasiges Filter lässt sich mathematisch in eine Verzögerung und ein Filter mit der Phase 0 zerlegen. Ein Filter mit der Phase 0 für alle Frequenzen enthält nur Kosinusanteile. Das bedeutet, dass die Impulsantwort eines solchen Filters symmetrisch um den Nullpunkt liegt. Ein solches Filter ist aber nicht kausal, da Filterkoeffizienten im negativen Zeitbereich liegen. Hinzu kommt, dass die Impulsantwort prinzipiell zeitlich unendlich ausgedehnt ist. Beim Filterentwurf bedient man sich nun des Tricks, dass die eigentlich unendlich ausgedehnte Impulsantwort abgeschnitten wird und durch eine Verzögerung vollständig in den positiven Zeitbereich verschoben wird. Wie lang das resultierende Filter wird hängt von der gewünschten Frequenzauflösung ab. Die notwendige Verzögerung ergibt sich dann aus der Anzahl der im negativen Zeitbereich vorhandenen Koeffizienten. Wenn man diese Latenz verringern will, ist die einzige Möglichkeit die Frequenzauflösung zu verringern. Das hat zur Folge, dass die tiefe Frequenzen nur noch schlechter korrigiert werden können. Abhilfe kann hier sein die tiefen und mittleren Frequenzen mit minimalphasigen Filtern zu entzerren und nur im Mittelton und Hochton liniarphasige Filter zu verwenden. So, ich hoffe das war einigermaßen verständlich und ich habe keine groben Fehler gemacht. Es gibt neben den oben skizzierten noch weitere Formen linearphasiger Filter (hier gilt aber prinzipiell das gleiche für die Verzögerung). Um die anderen Formen herzuleiten müsste ich die Mathematik aber nochmal genauer nachschlagen. Der Stoff ist nicht ganz trivial (Man lernt das erst gegen Ende eines Bachelor Studiums und versteht es wohl erst so richtig im Masterstudium) Zu der Latenz durch die segmentierte Faltung (Partitionen) schreibe ich heute Abend nochmal etwas. Gruß waterburn Welchen DSP mit FIR - Lettoz - 10.02.2016 Zwischenstand: Ich habe nach der Anleitung von hier The Alchemist schrieb:Hast Du diese Seite gefunden? http://www.horus.com/~hias/cirrus-driver.html soweit erstmal die Karte anscheinend am laufen leider habe ich es noch nicht geschafft, die Karte als Standard festzulegen.Ich wähle das zwar an aber nach einem Neustart ist wieder der Onboard chipsatz aktiv. Welchen DSP mit FIR - waterburn - 10.02.2016 Hallo, zum Linux Thema kann ich dir leider nicht weiterhelfen. Da hab ich mich auch schon vergeblich dran versucht. Allerdings muss ich auch zugeben, dass es mir bisher an Beharrlichkeit gefehlt hat. Ich hoffe beim nächsten Versuch halte ich durch ![]() Ich hatte ja versprochen noch etwas zur segmentierten Faltung zu schreiben. Programme wie BruteFIR bedienen sich der sogenannten schnellen Faltung Wikipedia Bei dieser wird die Faltung nicht im Zeitbereich durchgeführt, sondern als Multiplikation im Frequenzbereich. Das bei wikipedia genannte overlap verfahren wird hier gleich zwei mal angewendet. Zum einen wird das Musiksignal in Segmenten verarbeitet und zum anderen wird die Filterimpulsantwort in Segmenten verarbeitet. Diese Segmente müssen nicht notwendigerweise gleich lang sein. Der Grund für die Segmentierung des Filters ist, dass moderne Prozessoren allerlei Hardwarebeschleunigung an Board haben um FFTs effizient berechnen zu können, allerdings sind diese Beschleunigungsverfahren nicht unbedingt für Filter mit 65000 Taps ausgelegt sondern eher auf kleinere Filterlängen optimiert. Gruß waterburn Welchen DSP mit FIR - The Alchemist - 10.02.2016 Erstmal schon sehr gut, dass die Karte läuft, bzw erkannt wird. Die Festlegung als Standard ist ist nicht notwendig, man kann sie unter Linux einfach als hw:1 ansprechen, dann bleibt die Onbardkarte hw:0 Ich bin schon am Falten; seit ca. einer halben Stunde läuft es digital hinein und analog heraus auf einem Pi1 mit ca. 45% Prozessorlast und 16384,4 Filterlänge also 65536 Taps. Hast Du schon die UseScripts (oder so ähnlich) enpackt und die Ein/Ausgänge aktiviert? Gruß Welchen DSP mit FIR - Lettoz - 10.02.2016 ich habe gerade mal schnell vlc installiert und auf jedenfall kommt schonmal Musik über SPDIF-out raus. Ich habe 2 Scripte ausgeführt einmal SPDIF-Playback und SPDIF-Record. Allerdings nur doppelklick und dann auf ausführen. Der grösste Felsbrocken scheint aber Brutefir zu werden. Welchen DSP mit FIR - The Alchemist - 10.02.2016 Vlc über Brutefir laufen lassen ist etwas schwierig. Was einfach ist, ist Brutefir mit Digital Ein/Aus. Ich würd erstmal die Ein/Ausgänge testen (sollte aber auch so funktionieren) Digitalen Zuspieler anflanschen und ein Terminal öffnen, dort gibt man für 48kHz Code: arecord -f dat -D hw:sndrpiwsp | aplay -D hw:sndrpiwspCode: arecord -f cd -D hw:sndrpiwsp | aplay -D hw:sndrpiwspAufpassen: Die meisten PC Karten geben erstmal mit 48kHz. aus. Ich würd dann mal Samba installieren Code: sudo apt-get -y install samba samba-common-binCode: sudo rm /etc/samba/smb.confCode: sudo nano /etc/samba/smb.confCode: ####################samba.conf####################Eine Beispiel-Konfiguration und Beispiel-Filter schnitz ich dir derweil zurecht
Welchen DSP mit FIR - Lettoz - 10.02.2016 The Alchemist schrieb:Eine Beispiel-Konfiguration und Beispiel-Filter schnitz ich dir derweil zurecht Das ist wirklich sehr Nett von dir.:prost: Ich habe vorhin noch Brutefir installieren "lassen", über die Paketverwaltung von Linux.Aber wenn ich mir deine Bilder anschaue scheint es evt. sinniger zu sein dies manuell zumachen, da man dann die Verzeichnisse vorgeben kann wo das Brutefir liegt.Ich finde zurzeit nichteinmal die config datei wieder. ![]() Ich hatte geute auch leider nicht allzuviel Zeit was zumachen, da meine beiden Frauen krank sind und ich die ein bischen Plegen muss. Ohne Hilfe würde das hier wahrscheinlich etliche Wochen dauern. Aber wo doch so langsam schon einiges funktioniert und bei dir ja schon komplett, freue ich mir schon wie ein kleines Kind
|