Was trägt Audacity in den au-Datei-Header ein?

  • Guten Tag,


    ich möchte Audacity auch als Signalgenerator verwenden, der eine extern konstruierte au-Datei abspielt. Folgendermaßen möchte ich es probieren:


    Ein Audacity-Projekt wird neu erzeugt, darin eine Mono-Tonspur, welche mit z.B. 5 Minute Stille "gefüllt" wird. Das Projekt wird gespeichert.


    Mit einem externen Editor werden in der au-Datei, die zu dem Projekt gehört, die bisher auf Null gesetzten Sampling-Werte auf die gewünschten Werte gesetzt. Wie eine au-Datei strukturiert ist, kann man zwar (z.B. in der englischen Wikipedia) nachlesen, doch Audacity nutzt den Datei-Header recht intensiv und schreibt da allerhand Audacity-Spezifisches hinein.


    Weiß jemand, was das bedeutet, was im Header im Anschluss an "AudacityBlockFile112" bis zum Beginn des eigentlichen Datenblocks steht?


    Gruß von lidocorc

  • Da steht die sogenannte "Summary", die zur schnellen Anzeige der Waveform am Bildschirm verwendet wird. Wenn Du mehr wissen willst, kannst Du das im Audacity-Quellcode nachlesen (u.a. Datei Blockfile.cpp). Deine Idee mit dem Austauschen der externen .au-Datei ist aber auch insofern problematisch, weil ja auch in der .aup-Datei noch Informationen zur .au-Datei gespeichert werden (u.a. die Länge) und außerdem die .au-Dateien in Audacity eine bestimmte Länge/Größe nicht überschreiten dürfen. Warum importierst Du nicht einfach die .au-Datei in Audacity?

  • Danke für die Fundstelle zu Audacitys speziellen au file headers.


    Weil du fragst, wofür ich das brauche: Natürlich würde ich Audacity gerne als Editor benutzen. Ich weiß nur kein Werkzeug innerhalb des Programms, mit dem man Sampling-Werte bitgenau editieren könnte. Mit dem Malwerkzeug ist das zu ungenau. (Hintergrund: Ich möchte ganz spezielle Kurvenformen erzeugen, sozusagen einen Arbitrary Function Generator auf Softwarebasis simulieren. Ein C- oder Delphi-Programm das mir die au-Datei geeignet präpariert, wäre an sich schnell geschrieben. Ich könnte natürlich auch eine wav-Datei generieren, nur scheint mir die Struktur der au-Dateien einfacher. Audacity möchte ich deshalb einsetzen, weil Audacity über schöne Werkzeuge zur Signalverarbeitung verfügt, die ich auf das vorgelegte Signal anwenden könnte.)

  • Was ich trotzdem nicht verstehe ist, warum Du dafür wissen musst, was Audacity intern in seinen .au-Dateien speichert. Du kannst doch eine .au-Datei (oder wav-Datei oder was auch immer erzeugen) und mit Audacity einfach öffnen. Dann legt Audacity ein neues Projekt an und erzeugt sich seine Strukturen selbst. Die Ursprungsdatei wird dabei nicht verändert und muss lediglich dem Standard für .au-Dateien etc. entsprechen. Oder habe ich da jetzt was übersehen?


    Was mir auch noch einfiel: Du könntest auch direkt Audacity so ändern, dass man mit dem Malwerkzeug auf ein Sample doppelklickt und dann ein Dialog erscheint, mit dem man einen genauen Wert eingeben kann. Das sollte garnicht so schwierig sein und würde sicher den einen oder anderen User freuen.

  • Hinweis: Mit Nyquist lässt sich jeder 'Arbitrary Signal Generator' samplegenau auch direkt in Audacity programmieren. Mit 'snd-from-array' lässt sich z.B. ein beliebiges Array (Integer oder Float) in eine Samplefolge verwandeln.

  • Markus
    Das Problem ist, dass für mein Vorhaben in der Größenordnung 10^4..10^5 Samples zu editieren wären. Das Einzeleditieren von Samples verbietet sich daher.


    edgar-rft
    Danke, das scheint mir die Lösung zu werden. Wenn ich wieder Zeit habe, probiere ich das gleich einmal aus.