Beiträge von Namor Noditz

    Aber so schwer ist die Entscheidung dann auch nicht, man sollte halt seine persönlichen Perferenzen kennen.


    Möchte man keine Kompromisse in dunklen Szenen, gutes HDR auch ohne externes TM und bessere Auflösung/Schärfe => NP5

    Will man eher hohe und langzeitstabile Helligkeit mit 5 Jahren Garantie => TW12000


    Gäbe es einen "NZ5" (NP5 mit Laser) wäre die Entscheidung einfacher.

    Ja von mir aus nenn es „gewaltig“. Ich kann da keinen Unterschied feststellen ..

    Ist sehr subjektiv und es ist perfekt, wenn für dich der Epson passt. :)

    Und ja, ein OLED oder MiniLED hat einem um welten besseren Schwarzwert als jeder JVC.

    Dennoch, bei meinem alten Sony590 (13k:1+dynBlende) wirkten dunkle Szenen nie plastisch. Beim NZ hingegen wirken dunkle Szenen nicht schlechter als helle. Das macht für mich den entscheidenden Unterschied und macht mir immer wieder Spass.

    Und richtig, der Schwarzwert wird oft vom Material nicht ausgenutzt. Leider kenne ich noch keine Möglichkeit den Schwarzwert dynamisch anzupassen. Verstehe nicht warum Madshi das nicht implementiert hat.

    Die Fakten haben bei mir den Zuschlag für den Epson gegeben. Einzig einen NZ9 habe ich vorher mal gesehen. Aus der Erinnerung raus würde ich da keine Unterschiede sehen.

    Wenn man dunkle Szenen ausklammert und weit genug von der Leinwand weg sitzt wird das schon so sein.

    Sprecht ihr von den allgemeinen ShortCuts von MadVR, die unter configuration/shortcuts einzustellen sind, oder von den shortcuts zur Profil-Umschaltung?

    Und naturlich muss das Gerät in MadVR aktiv sein (wird mit fetter Schrift angezeigt) damit Profil-Umschaltungen funktionieren können.

    Dann müsste die Lautstärke bei Deaktivierung von Audyssey ja eklatant abweichen - tut sie aber nicht (bei mir zumindest nicht).

    Die eingestellte Lautstärke der Lautsprecher, sowie auch die Delays bleiben auch bei deaktiviertem Audyssey aktiv. Diese Werte werden im LS-Preset gespeichert.

    Der große Statusbutton in der Mitte sollte den korrekten Status des AVRs anzeigen.

    Code
    label: |-
      [[[           
          return states['sensor.denon_avr01'].state 
      ]]]  


    Der On/Off-Schalter am rechten Rand, zeigt jedoch den Status des Start/Stop-Scripts an und dieser ist nicht zwangsläufig der gleiche wie der vom AVR.

    Ich weiss, das ist nicht optimal, aber mir ist dazu noch nicht die richtige Lösung eingefallen.

    Du kannst ja auch die selben 8 Messpositionen nehmen wie bei der Audyssey Messung und dann diese Messungen vermitteln.

    Ist das theoretisch gemeint? Praktisch stelle ich mir das eher schwierig, aufwändig und fehleranfällig vor.

    Weißt du zufällig, ob das Ganze in Kombination mit dem MovieStarter funktioniert?

    Prinzipiell sehe ich dabei kein Problem. Es wäre aber noch festzulegen, wie die Info zum Seitenverhältnis in den Shader kommt.

    In der aktuellen Version schneidet MadVR das Bild zu und das Seitenverhältnis passt somit.

    Das geht mit dem MovieStarter soweit ich weiss nicht. Denn dieser nutzt die in den MetaDaten der Datei hintelegte Info zum Seitenverhältnis und schneidet das Bild nicht zu.


    Spontan würde mir einfallen, den MPC-Player mit dem zum Seitenverhältnis passende Shader-Profil mittels CommandLine-Parameter zu starten.

    Wäre mit Nils abzustimmen.

    Lässt sich denn nicht einfach eine Mischung aus beidem realisieren oder wirkt das auch noch zu unangenehm. Sprich etwas stretchen und etwas aufzoomen?


    Aktuell zoome ich alles auf aber 16:9 nicht komplett auf 21:9, sondern eher 1,79 so auf grob 2,0. 2,0 auf 2,2 und 2,2 auf 2,4. So ließe sich das alles evtl. noch kombinieren?!

    Kann man hiermit machen. Zuerst wird auf die Wunschgröße gezommt. z.B. 1,77 auf 2,0 und dann der Rest (außerhalb des Center-Bereichs) gestreckt.


    Vielen Dank für die tolle Arbeit. Allerdings ist genau das auch mein Fazit.

    Die Verzerrungen finde ich viel schlimmer, als die schwarzen Balken. Ich zoome ab 2.2 aber einfach auf.

    Ich dachte mit der Parametrierung von NLS finde ich eine brauchbare Konfiguration.

    Zoom auf 2:1 und 0,2 Center ist mein Favorit, aber die Verzerrungen sehe ich dennoch deutlich.



    zozi hat mich vor kurzem gefragt ob ich ev. eine Shader erstellen könnte um in MPC-Playern NLS zu ermöglichen.

    Also habe mich also ran gemacht, die HomeAssistant-Anleitung pausiert und diesen NLS-Shader programmiert.


    Mdann hatte hier schon mal begonnen. MPV Shader: Non Linear Stretch


    Wobei sich mein NLS-Shader automatisch an das Seiterverhältnis der Medianquelle anpasst. Und als Nutzer kann man im Shader drei Parameter festlegen und diese für sich optimieren.

    • Seitenverhältnis des Screens (Leinwand)
    • Bis auf welche Größe das Bild gezoomt werden soll, bevor die Seiten gestreckt werden
    • Größe des zentralen Bildbereichs ohne Verzerrung

    Zusätztlich liegt dem Shader noch ein Simulator (Excel) bei, damit könnt ihr die Auswirkugnen der Parameter gut visualisieren:



    Zuerst zum Simulator:


    Hier könnt ihr links oben die 4 Parameter einstellen die das NLS konfigurieren.

    Anm: Da ich kein Mathematiker bin, konnte ich keine universell gültig Formel herleiten, aber setzt man für die Parameter aus einem für unsere Anwendung sinnvollen Wertebereich ein, ergibt das auch ein korrektes Ergebnis. (Nur arsource sollte kleiner-gleich arscreen sein, das werde ich ev. noch ergänzen.)


    Die Parameter:

    • arsource: Seitenverhältnis des Quellmaterials (Wird vom Shader automatisch ermittelt)
    • arscreen: Seitenverhältnis eurer Leinwand)
    • zoom2width: Das Bild kann vor dem Strecken das Bild noch gezoomt werden. Trägt man hier zB. 2.0 ein, wird jedes Bild mit einem Seitenverhältnis unter 2:1 zunächst auf die Breite 2:1 gezoomt (Dadurch wird oben und unten etwas abgeschnitten)
    • centerwidth: Breite des zentralen Bildbereichs (ohne Verzerrung). Der Wert ist im Verhältnis zu Bildhöhe anzugeben!

    Im Diagramm darunter sieht man dann, was der Shader mit dem Bild machen wird:

    • Die blaue Kurve zeigt den Faktor der Verzerrung. Diese ist hier im Zentralbereich 1. Also keine Verzerrung. Und am Rand maximal, 2,6 also 2,6x breiter als hoch. Also praktisch nicht brauchbar ;-)
    • Die rote Kurve zeigt um wieviel eine Bildspalte nach außen geschoben wird. Im Randbreich also um 0,31*Höhe. Anm.: Seitlich wird nie abgeschnitten.




    Für unterscheidliche Parameter beispielhaft folgende Darstellungen:




    Jetzt zum Shader


    In der Zip-Datei findet ihr eine Datei names NLS_NN_20240423.hlsl. Das ist ein Shader-Programm in der Direct3D-Sprache "High-Level Shader Language".

    Hier könnt ihr in den Zeilen 8 bis 10 die für euch passenden Parameter eintragen oder experimentieren.


    Zur Installation einfach MPC-HC/BE öffnen, die Datei als Shader imporiteren und als "Post-Resize-Shader" entragen.


    Wichtig ist noch, dass ihr in MADVR, das Erkennen des Seitenverhältnisses und das Bescheiden der Letterboxen aktiviert, und dass das auch funktioniert!



    Dann also nur noch einen Film starten und über das MPC-Context-Menü oder den Short-Cut <Ctrl-Alt-P> den Post-Resize-Shader ein und ausschalten.


    Praktisch ist, man kann die Parameter in der HLSL-Datei zu Laufzeit ändern und die Datei speichern, dann werden die Änderungen unmittelbar aktiviert und sichtbar.

    Gibt es einen Fehler in der HLSL-Datei (z.B. Strichpunkt am Zeilenende vergessen) läuft der Shader nicht und im Shader-Debugger wird eine Fehlermeldung angezeigt!


    Fazit:

    Mir gefällt das Bild mit NLS eigentlich nicht. Die Bildverzerrungen am Rand stören mich bei Kameraschwenks doch sehr. Daher werde ich wohl bei der seitlichen Maskierung bleiben.

    Zurück zur Startseite und zum Inhaltsverzeichnis

    Voriges Kapitel: #03.05 JVC Beamer

    Downloads: #11 Downloads [HKV only]

    Version: 2024-04-11

    Integration eines DCX2496 DSP in Home Assistant via IP (RS232)





    Wie hier berichtet habe ich mir einen gebrauchten DCX2496 gekauft, um an mein Haus angepasste, dynamische Filter zur setzen, die gezielt starke Bass-Spitzen reduzieren, die ansonsten im Haus stören oder meine Frau vom Sofa werfen.


    RE: Reduktion des Schallpegels außerhalb des Kinos


    Das funktioniert wirklich perfekt!



    Um mit den Filtereinstellungen des DCX besser experimentieren und diese optimieren zu können, benötigt man eine Fernsteuerung.
    Die original Behringer Windows-Anwendung ist dafür schon recht gut geeignet aber nicht alltagstauglich.



    Daher habe ich zunächst die Serielle Schnittstelle des DCX2496 mit einem RS232-IP-Gateway modernisiert. Hier hatte ich das kurz berichtet.


    RE: Heimkino-Steuerung mit Home Assistant


    Dann folgte die vollständige Integration aller Kanäle und Parameter des DCX2496 mit der Programmierung einer Integration für Home Assistant.


    Um diese Integration nutzen zu können, müsste ihr euren DCX jedenfalls auch um ein IP-Gateway erweitern.

    Dieses RS232-IP-Gateway funktioniert bei mir ausgezeichnet!

    https://www.amazon.de/dp/B0CG173Y78


    Das Gateway ist bei mir wie folgt konfiguriert:



    Sobald die IP-Verbindung steht und der DCX via seriellem Kabel mit dem Gateway verbunden ist, kann man mit dem Gateway-Test-Tool (sscom5.13.1.exe) serielle Befehle an das angeschlossene Gerät senden und Daten empfangen. Hiermit kann man dann gut das Behringer-Protokoll http://jipihorn.free.fr/Projet…le/Doc/DCX%20protocol.pdf testen und mit einem Portsniffer herausfinden, dass die Behringer-Anwendung noch zusätzliche Schnittstellenbefehle nutzt die nicht in der Spezifikation stehen aber sehr hilfreich sind. ZB. Das Auslesen aller Parameter auf einmal und die Statusabfrage.



    Der DCX2496 hat, so wie man im kennt, 3 Eingänge, eine Eingangssumme und 6 Ausgänge. Gemacht für 5.1 und als Lautsprecherweiche.

    Die Eingänge und der Summenkanal haben jeweils 65 Parameter die Ausgänge jeweils 74. Zusätzlich gibt es noch die allgemeinen Setup-Parameter.

    Also insgesamt mehr als 700 Parameter! Die vollständige Integration war also herausfordernd.


    In der Entity sehen die Parameter wie folgt aus.



    Zum Ändern der Parameter stehen mehrere Services zur Verfügung. Das Grundlegende Service ist <dcx2496_dsp_nn.command> Die Byte-Folge entspricht der DCX-Spezifikation (siehe oben)



    Über das folgende Dashboard kann man alle DCX-Parameter anzeigen und ändern.

    (Jeder Kanal hat 9 Filter, und in diesem Dashboard stelle ich aber jeweils nur die Parameter der ersten beiden Filtern dar (EQ#1 und EQ#2) – Das könnt ihr bei Bedarf gerne erweitern)


    Zur Änderung eines Parameters klickt man auf diesen, damit wird dieser blau dargestellt. Und in der blauen Änderungskarte (rechts) wird dieser Parameter zur Änderung aufgelegt. Jede Paramteränderung wird sofort an den DCX übermittelt und aktiv.



    Umgekehrt, wenn man direkt am Bedienfeld des DCX einen Parameter ändert, wird dies sofort im HA-Dashboard markiert und angezeigt, da der DCX jede Änderung netterweise sofort wie Push auf der Schnittstelle ausgibt.


    Da ich in meinem Setup nur die Eingänge A und B sowie die Ausgänge 1,2 und 3 mit ausgewählten Parameter nutze, habe ich noch folgendes ein vereinfachtes Dashboard erstellt.



    Ok, noch immer zu viele Parameter und unübersichtlich. :-/

    Daher musste ich noch eine Preset-Funktion implementieren, denn die Presets der DCX in seinem Internen Speicher ablegt, kann man leider nicht über die Serielle Schnittstelle aktivieren.


    Die Presets dieser Integration sind in der Datei </custom_components/dcx2496_dsp_nn/dcx2496_presets.py> konfiguriert und können dort auch verändert werden.
    So gibt es zB. das Preset "P_DynEQ_light“ für dezente Dynamische Filter und das Preset „P_DynEQ_heavy“ für den Nachtmodus.
    Oder Presets um das DBA zu testen (Normal, Synchron oder nur Vorne).
    Und Presets für den Shacker.


    Im Preset werden die DCX-Parameter mit den gewünschten Werten eingetragen. Hier ein beispielhafter Auszug:



    Die Liste aller DCX-Parameter mit deren ID, Name und Wertebereich ist in der Datei /custom_components/dcx2496_dsp_nn/dcx2496_dicts.py zu finden.


    Zu guter Letzt kann man die Presets noch zu Preset_Groups kombinieren:



    DIe Presets kann man mit dem Service <dcx2496_dsp_nn.preset> aufrufen


    Hiermit sind wir wieder beim Screenshot vom Beginn dieses Posts.

    Dem DCX-Haupt-Dashboard. Hier kann man nun sehen welche Presets und Preset_Groups aktuell aktiv sind und diese auch umschalten.

    Hier ist also gerade die Preset-Group (=Modus) „Tag“ aktiv. Bestehend aus den Presets DBA=Normal, DynEQ=Normal, EQ#1=Spasskurve+3dB, EQ#2=Kicker_Aus, Shaker=0dB



    Bin schon gespannt ob jemand diese Integration nutzen wird. Ist doch eine sehr spezielle Integration und ein sehr altes Gerät.

    Aber wäre schade, wenn ich das nur für mich programmiert hätte.


    Übrigens, Home-Assistant hat am RPI5 keinen besonderen Stress mit diesen riesigen Dashboards und den hunderten Parametern. Hat mich positiv überrascht.

    Mein aktuelles Projekt: