Plugin Anregung: Automatische Lautstärkereglung bei Werbung

  • Hi,


    vielleicht kennen einige von euch so kleine Kästen, die man zwischen Fernseher und Verstärker schalten kann. Die sorgen dafür, dass die einmal eingestellte Lautstärke nicht überschritten werden kann (zum Beispiel bei Werbung oder sehr sehr lauten Filmsequenzen).


    Mir geht es zum Beispiel bei Star Trek so, dass die Serie an sich sehr leise ist aber wenn doch mal noch Teile eines Werbeblocks auftauchen plötzlich ein Lautstärke vorherrscht, die echt nicht schön ist (trotz noad und playjump). Aber auch beim Life-TV wäre so eine kleine Box natürlich schön.


    Jetzt Frage ich mich, ist es vielleicht möglich ein Plugin oder auch einen Patch zu entwickeln, wo man die maximale Lautstärke (in DB) Einstellen kann? Falls eine Sequenz oder ein Werbeblock diese Lautstärke überschreitet müsste die Lautstärke heruntergeregelt werden (irgendwie "smooth", so wie in Winamp wenn man auf Pause drückt, das Lied wird innerhalb einer Sekunde leiser).


    Vielleicht hat ja irgendein Entwickler da draußen Lust, aber keine Idee, was er entwickeln könnte. Nur so eine Anregung. Wenn keiner will, dann auch egal. :)


    Exceeder

    VDR-Zapper - Achtung: Der Link hat sich geändert. Ihr findet den VDR-Zapper nun auf meiner privaten Seite. Die alte Domain ist umgezogen.

  • Das geht aber dann nur bei MP2 (sprich PCM) alles andere AC3 (immer mehr Sender und Sendungen) und DTS kannst du vergessen. Zumindest bei externen DD-Receiver. Oder liege ich da falsch (ohne Qualitätsverlust)?

    VDR-Server: Gentoo (AMD64/Core-i7) / VDR-1.7.23 / Digital Devices Octopus CI & 2xDuoFlex S2 HDTV (Rev. V3)
    VDR-Client: Gentoo (AMD64/Atom-D525) / VDR-1.7.23 / Chieftech & iMON-Pad / ASUSTeK - AT5IONT-I / 4GB-RAM & 65GB-SSD
    Alt: 3xTT-1.5 / linuxtv-dvb-1.1.1 + test_av-1.28 + FW-2622 / vdr-1.3.37 / viele Plugins / LFS-4.1

  • Hi!, Ja genau sowas hab ich hier vor Monaten auch schon vorgeschlagen!!


    Bei mir läuft der Ton durch die Soundkarte. Nix mit Digitalton also. Brauch ich vorläuffig auch nicht.
    Ich denke den Pegel an der Soundkarte zu messen kann nicht so schwer sein. Dann ein Plugin zu schreiben, das die Lautstärke der Soundkarte (oder des Eingangs an dem die DVB-Karte hängt) runterregelt, wenn ein einstellbarer Pegel überschritten wird sollte auch noch machbar sein.
    Dann noch das "Gegenstück", dass die Lautstärke wieder angehoben wird, falls ein par Sekunden der Pegel unter ein definiertes Minimum gerät.


    Wenn ich coden könnte, würd ich das gerne probieren, bin aber z.Z. mit Linux selber noch mehr als gefordert. Fände es aber ganz toll, wenn sich da einer der Plugin-Coder hier dahinter klemmen könnte. *schubs* :D Das würde dem VDR ein Killer-Argument mehr geben. :]
    (Nötig hat er es zwar nicht, es gibt ja schon mehr als genug gute Gründe für VDR :) )


    Gruss
    Unimatrix0

    Software: Ubuntu 10.04 - VDR 1.7.14 + Xineliboutput (VDPAU) + XBMC
    Hardware: NEXUS-S - SkyStar2 - Nova-S2 - Nividia 8600GT

  • Hi again,


    ich weiß nicht, was die Plugins alles anstellen können, ich habe leider noch kein Programmiert. Aber es sollte doch reichen, wenn die Lautstärke des VDR einfach verstellt wird. Damit sollte auch AC3 oder Digital Ton kein Problem sein, oder?


    Exceeder

    VDR-Zapper - Achtung: Der Link hat sich geändert. Ihr findet den VDR-Zapper nun auf meiner privaten Seite. Die alte Domain ist umgezogen.

  • Das hab ich mich auch schon gefragt. Das kann ich wegen nicht vorhandenem Material leider nicht selber testen.


    Also frage an die Digital-Ton-Freaks: Könnt ihr euren Digital-Ton über die Lautstärke am VDR regeln ? Wenn ja, bliebe noch die Frage, wie man den aktuellen Pegel dann ermittelt, wenns ja nicht über die Soundkarte läuft wirds etwas schwieriger, schätz ich.

    Software: Ubuntu 10.04 - VDR 1.7.14 + Xineliboutput (VDPAU) + XBMC
    Hardware: NEXUS-S - SkyStar2 - Nova-S2 - Nividia 8600GT

  • Zitat

    Original von tom66
    Das geht aber dann nur bei MP2 (sprich PCM) alles andere AC3 (immer mehr Sender und Sendungen) und DTS kannst du vergessen. Zumindest bei externen DD-Receiver. Oder liege ich da falsch (ohne Qualitätsverlust)?


    Eine möglichkeit bei AC3 wäre unter ausnutzung der Dynamic Range Compression von AC3 möglich.
    AC3 enthält relativ simple compression werte in den frames. Damit kann der dynamic range durch den tonmeister beim abmischen verändert werden.
    Ein paramter gibt den dialog level vor (dialnorm). Dieser bleibt immer konstant.
    Zwei weitere paramter in jedem AC3-frame geben die dynamikkorrectur für kleine bzw. grosse pegel an. (dynrng, dynrng2)
    Ein AC3 decoder der auf volle dynamic eingestellt ist (heist manchmal nacht mode) wird jetzt kleine signale um dynrng abschwächen und grosse signalpegel um dynrng2 anheben.


    Ist im grunde eine dynamic expansion. In "Nachtmodus" reduziert der verstärker die anhebung, bzw abschächung und hat darurch einen niedrigeren dynamikumfang, sodass man bei niedriger lautstärke leise passagen noch verstehen kann (deshalb nacht mode).
    Wenn man jetzt den dynamic parameter für grosse pegel reduziert oder auf null setzt reduzieren sich die lautstärkespitzen.


    Ein plugin könnte nun erkennen ob werbung läuft und dann den vdr kern auffordern in den AC3 farmes diese dynamic parameter entspechend zu verändern. Da vdr die AC3 frames sowieso kopiert müssten warscheinlich nur 1..2 bytes im frame geändert werden.



    Zweite möglichkeit ist gainrng[ch] zu verändern.
    Damit kann der encoder kleine pegel mit bis zu 18bit auflösung codieren obwohl nur 16bit zur verfügung stehen. Ist im prinzip ein bit schiebebefehl.
    Nachteil hier ist da man nicht weiss welchen bereich das signal benutzt.
    Senkt man hier zum beispiel den pegel durch manipulation um 1bit ab kriegt man problem wenn das signal die volle absenkung selbst benutzt.
    Der wertebereich ist hier nämlich auf 0..3 beschränkt.



    Wenn das wie gedacht funktioniert wäre das weniger aufwand als bei PCM (1..2 bytes tweaken vs. einen ganzen block von daten skalieren)


    Bei mir läuft AC3 noch nicht sonst würd ich das mal ausprobieren.





    gruss Peter


    P.S. es gibt dann noch heavy compression in AC3 die aber von keinem mir bekannten consumer AC3 decoder benutzt wird.

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

  • Hi!


    Wie machen das eigentlich diese kleinen Dinger, die man am SCART dazwischenschalten kann? Das ist ja wahrscheinlich auf normalen Analogton ausgelegt. Aber das Teil kann ja sicherlich nicht eine Sekunde puffern und dann schauen ob sich der Pegel im Durchschnitt verändert hat. Und ohne Pufferung stelle ich mir das Ergebnis irgendwie nicht so toll vor ...


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Unimatrix0
    Also frage an die Digital-Ton-Freaks: Könnt ihr euren Digital-Ton über die Lautstärke am VDR regeln ?


    Nein, bei externen Decoder (DENON-1804). Bei internen Karten weiß ich es nicht.


    Aber PeterD schreibt, wie es theoretisch geht.

    VDR-Server: Gentoo (AMD64/Core-i7) / VDR-1.7.23 / Digital Devices Octopus CI & 2xDuoFlex S2 HDTV (Rev. V3)
    VDR-Client: Gentoo (AMD64/Atom-D525) / VDR-1.7.23 / Chieftech & iMON-Pad / ASUSTeK - AT5IONT-I / 4GB-RAM & 65GB-SSD
    Alt: 3xTT-1.5 / linuxtv-dvb-1.1.1 + test_av-1.28 + FW-2622 / vdr-1.3.37 / viele Plugins / LFS-4.1

    Einmal editiert, zuletzt von tom66 ()

  • Zitat

    Original von tom66


    Nein, bei externen Decoder (DENON-1804). Bei internen Karten weiß ich es nicht.


    Aber PeterD schreibt, wie es theoretisch geht.


    Bei meinem Denon AVR 2805 geht es auch praktisch, ich kann ihn per RS232 vom PC aus fernsteuern. Ebendrum habe ich den gekauft.


    Und ja - ich wäre an so einer noad - Lautstärkereduzierung auch sehr interessiert, aber zur Zeit bin ich mit dem Muggle voll ausgelastet.


    Wolfgang

  • Ich wollt dies mal wieder ausgraben, hab auch interesse an so einer automatischen lautstärkenanpassung.


    Ja es gibt schon Fernseher die es automatisch machen und ja es nutzen viele digital ton, aber die meisten guggn wohl immernoch standard "Sterero-Küsschen" ;)


    über Online noad würd ich's schade finden, denn da muss der Prozzi ja sehr schnell sein.


    Notfalls muss ich wohl doch mal diese Scart Stecker probieren.


    Greez Renegade

    Renegade's World, Golf 4 Cabrio
    MEPIABOX: Silverstone LC02s, EPIA M10000B, 512MB Ram, 16GB CompactFlash-IDE, 160GB Samsung SP1614N, FS FF DVB-S rev1.6, TS SkyStar2, AVBoard 1.3, HITACHI DVD-ROM GD-S200 - VDR-Wakeup (K-Data, Jepsen 1.6beta, 4x20 DIL-LCD) - Futaba VFD 2x40 - LinVDR Mahlzeit 3.2
    TV: Samsung LE-46F86BD - 46'' LCD, Full HD, 100Hz

  • Grundsätzlich Interesse hätte ich auch, aber mir mangelt es genauso an Programmier-Kentnissen für Plugins ;)


    Vielleicht bietet sich ja die Idee von Adzap als Basis an, das auf eine Webseite zurückgreift, die die Werbezeiten einiger Sender publiziert:


    http://www.werbesignal.dyndns.org/Werbesignal_client.php


    Das Adzap schaltet den VDR auf den Sender zurück bei dem es für Werbung aktiviert wurde, greift dafür aber auf externe shell-scripte zurück und benötigt eine Inet verbindung, alternativ kann man aber auch einen Zeitintervall im Setup setzen, so das die Inet nicht zwingend nötig ist. Ich habe es bei mir seit einger Zeit laufen, und bin ganz zufrieden damit.


    Nur mal so als Idee und Vorschlag



    Grüsse


    Micha


    -- Debian Kernel 2.6.21.3 -- ctVDR/eTobi -- vdr 1.6.x --
    -- Coolermaster -- ASRock K7S41GX -- AMD K7 1.8GHz -- 512MB RAM --
    -- Nexus 2MB DVB-C (F12623) -- 3.5" CI & Alphacrypt 3.09 -- Nova DVB-T -- AVBoard 1.4 -- Denon AVR 1906 --

  • Zitat

    Original von Unimatrix0
    Bei mir läuft der Ton durch die Soundkarte. Nix mit Digitalton also. Brauch ich vorläuffig auch nicht.
    Ich denke den Pegel an der Soundkarte zu messen kann nicht so schwer sein.


    Frage: kennt jemand ein Programm, was genau dies tut (vorzugsweise über Alsa-Lib)? Sprich die Pegel der Kanäle der Soundkarte auslesen. Das was ich bisher gefunden habe, wertet immer die Signal-Informationen vorm Senden an die Soundkarte aus, um etwas anzuzeigen. Interessanter wäre es ja, wenn man die Pegel direkt von der Soundkarte auslesen kann, z.B. auch vom Line-In. Auf der Basis wäre dann eine automatische Lautstärkeregelung ziemlich einfach.

  • Nur mal so ein paar kleine Ideen:
    - In der PA-Technik gibt es so genannte Kompressoren oder Limiter, die z.B die Anlage vor zu hohen Lautstärken schützen, indem sie automatisch, nach einer einstellbaren Zeit (ms) die Lautstärke zurücknehmen, wenn diese einen bestimmten Wert überschreitet. (Kleines Beispiel, das ich gerade so gefunden habe Kompressor)
    - So etwas müsste man doch programmieren können und einbinden können.




    Karsten

  • Einen solchen Limiter gibt es bei den TAP_Plugins . Glaube aber, daß er nur mit PCM funktioniert.


    Vielleicht kann man das ja in einem neuen Plugin verwenden oder so umbiegen daß es mit LADSPA funktioniert.


    Wenn man ein Plugin programmieren könnte, welches mit LADSPA kommuniziert, dann kann man alle möglichen Effekte wie Hall, Echo etc. einbinden...


    Gruß Peppi

    VIA Epia ME6000 , Nexus-s Rev 2.1, Skystar 2, 256 MB RAM, 500 GB HD, homebrew IR, c'tVDR 6.2

    Einmal editiert, zuletzt von peppi ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!