• Hi LigH,

    was mich an der Sache wundert ist der Fakt: eine 6 Kanal WAV im DVD Format (16/48) wird ohne Probleme ins AC3 Format umgewandelt, also der 6WAV Eingang funktioniert hervorragend

  • Um AC3-WAV zu erstellen, muß der Input AC3 sein. Sorry, die engine ist halt nicht sonderlich intelligent geschrieben...(mußt also erst WAV->AC3 und dann AC3->AC3-WAV machen)Es kann sein, daß 44,1kHz nicht korrekt in AC3-WAV gewandelt werden, muß ich bei Gelegenheit mal testen.

    HeadAC3he kann allerdings 6ch WAVs lesen und verarbeiten.

    Übrigens, ich bin die komplette Engine am neu zusammenbauen, weil das sonst nicht ganz sauber wird mit Integration von upsampling. Darum dauert das ganze etwas...zumal ich auch andere interessante Projekte habe. ;)

  • :eek: 6-Kanal-WAV mit 32 bit Auflösung? - Dann rechne mal aus, welche Spieldauer ein WAV bei maximal 2 oder 4 GB dann haben darf: Viel weniger als ein Spielfilm, oder gar ein Konzert!

  • Zitat von LigH

    :eek: 6-Kanal-WAV mit 32 bit Auflösung? - Dann rechne mal aus, welche Spieldauer ein WAV bei maximal 2 oder 4 GB dann haben darf: Viel weniger als ein Spielfilm, oder gar ein Konzert!



    solange ich die 6WAV nicht mit Besweet bearbeiten muß sehe ich keine dieser Grenzen tangiert.
    Die daraus resultierende AC3 hängt ja wieder an den Konventionen 384-448 Kbit/s, also hat die ursprüngliche Filegröße bei diesem Kalkül keine maßgebliche Auswirkung.

  • BTW: es wurde mir berichtet das 24bit funktioniert :) , jedoch scheint da das mapping etwas anders zu sein:

    Zitat

    by the way, you were right about HeadAC3he not accepting 32-bit files. Once I switched to 24-bit, it worked fine. I also had to change my channel order to L,C,R,sL,sR,LFE


    Frage: gilt das Channelmapping L,C,R,sL,sR,LFE grds., also auch für 16bit oder nur bei 32bit? ich kann das gerade selber nicht testen :(
    Anmerkung: AC3/DTS und besweet lautet das Mapping stets L,R,C,LFE,SL,SR

  • Nun ja, dann rechnen wir mal... Für Dolby-Digital-Audio-CDs, sagtest du?

    44100 Hz * 4 Bytes (= 32 bit) pro Sample * 6 Kanäle = 1058400 Bytes pro Sekunde.

    4 GB / 1058400 B/s = 4058 Sekunden = 67,6 Minuten.

    Also für 74 oder 80 Minuten pro CD fehlt da noch ein kleines bißchen...

    Und noch eins: Reden wir hier über 32 bit Integer (Ganzzahl = Sampleformat 0) oder Single precision float (Fließkomma, einfache Genauigkeit = Sampleformat 3)?

  • daphy

    Ich weiß nicht, was für ein Wave du probierst, aber ich kann ohne Probs von Hac3 selbst kreierte mit 32bit und 6ch einlesen...

    Hac3 benutzt nur ac3 ch mapping, dein mapping is unrichtig für ac3.

    LigH

    Ich bin mir recht sicher, daß Hac3 sich nicht um die Größenbeschränkung von WAV kümmert, sondern einfach die Länge der Datei berücksichtigt und nicht die Header Infos benutzt. Ich habe es allerdings noch nicht probiert bzw müßte nochmal im Code nachgucken.


    Übrigens, kennt jemand den AAC encoder von http://www.3gpp.org/ftp/Specs/html-info/26410.htm? Taugt der was? Wie ist das mit der Lizenz? Habe dazu nichts gefunden...

  • Man muss die 6-Kanal-WAV-Datei ja auch erst mal irgendwomit erzeugen (so viele Programme können das gar nicht) - und das Programm muss einen Header schreiben (in dem der RIFF-Chunk ein Dateigrößen-Feld von 32 bit hat)...

    Also 6 Mono-WAVs wären mir sicherer und flexibler (bedenke nur mal das schnelle Tauschen des Channelmappings). Wie wär's mit Unterstützung BeSweet-artiger *.mux-Dateien?

  • Zitat von LigH

    Nun ja, dann rechnen wir mal... Für Dolby-Digital-Audio-CDs, sagtest du?


    ich meinte bei 48KHz, andersrum macht die Geschichte zugegeben maßen keinen Sinn ;)

    Zitat


    Und noch eins: Reden wir hier über 32 bit Integer (Ganzzahl = Sampleformat 0) oder Single precision float (Fließkomma, einfache Genauigkeit = Sampleformat 3)?



    32bit float

    Zitat

    Ich weiß nicht, was für ein Wave du probierst, aber ich kann ohne Probs von Hac3 selbst kreierte mit 32bit und 6ch einlesen...


    das 6WAV Mapping aus den BeSweet FAQs

  • Naja, ich meine ich benutzte den Standard header (muß nachgucken, wie ich float handhabe) und Hac3 schreibt Dateien, die er auch selbst lesen kann. Bei Wave ist vieles im Argen und einige Programme realisieren >16bit und/oder float per ACM, was ich noch schlimmer finde.

    Ob ich Unterstützung von mehrere Waves als eine logische Datei implementieren will, weiß ich nciht, könnte zuviel Aufwand bedeuten.

    daphy

    32 bit float klappt bei mir auch. (Wenn das aus einem anderen Prog stammt, kann sein, daß es nciht unterstützt wird.)

    Und was das mapping angeht, les dir mal dein Zitat mal selbst gründlich durch und du wirst feststellen, daß es sich nicht mit miener Aussage widerspricht.


    Also, ich habe mal nachgeguckt, wie Hac3 es handhabt:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">Wenn eine Datei mehr als 4GB wird, wird im Header die Größe einfach auf 0xFFFFFFFF gesetzt. Eine float WAW wir ddadurch gekennzeichnet, daß im Header bei Offset 20 (dezimal) das byte auf 2 statt auf 1 für int gesetzt wird. Im Offset 34 steht die Bittiefe. Entsprechend wird der Header geparst. Es wird in der Tat nicht die Länge des WAV anhand des headers ermittelt, sondern das von der Dateilänge abhänig gemacht.

    Ergo: Mit HAC3 erstellte WAVs jeglichen Formats und jeglicher Länge sollten von HAC3 wieder gelesen werden können. Natürlich muß das fs Dateien >4GB unterstützen.

  • Zitat

    32 bit float klappt bei mir auch. (Wenn das aus einem anderen Prog stammt, kann sein, daß es nciht unterstützt wird.)

    handelte es sich dabei um eine mehrkanal WAV?

    wegen dem Mapping:

    ist schon etwas unsinnig das ganze - für AC3 gibt es bei besweet einen standard, welchen sinn macht die Empfehlung bei reinen 6WAVS (31b) ein anderes Mapping zu verwenden :nein:

Jetzt mitmachen!

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