Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Status
Für weitere Antworten geschlossen.

StefanZinke

Benutzer
Liebe Forumsgemeinde,

ich habe eine sechsstündige Hörfunksendung mit dem allseits bekannten Programm „No23 Recorder“ mitgeschnitten - als Wave und am Stück. Die Aufzeichnung wird aber nur eine Viertelstunde abgespielt, dann endet sie, und die Abspielprogramme (VLC Player, WinAmp) zeigen auch nur eine Gesamtlänge von etwa 15 Minuten an.

Nun dachte ich mir, ich könnte die Sendung mit „Audacity“ in mehrere Aufnahmen teilen. Aber auch leider dieses Programm zeigt nur eine Laufzeit von etwa einer Viertelstunde an. Woran liegt das? Ist die Datei mit 4,15 Gigabyte zu groß für Wave? Im Internet fand ich gewisse Hinweise darauf. Was könnte ich tun, um Zugriff auf die gesamte Sendung zu erhalten?

Ich danke Euch für Hinweise.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Hallo Stefan,

das ist mir auch mal bei einer mehrstündigen Aufzeichnung (in Abwesenheit) passiert. Eine Erklärung dafür habe ich bis heute nicht.

Auch bei mir war es das Aufnahmeformat *.wav.
Frage: Welche Samplingrate verwendest Du?
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Ich zeichne mit 44,1 Kilohertz auf.

Wie hast Du das Problem gelöst?
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Okay, hier sind 48 kHz am Start gewesen. Also scheidet das als potenzielle Fehlerquelle schon mal aus.

Ich habe das Problem nicht gelöst.
Ich muss das als "verlorene Aufnahme" verbuchen. Sie ist zwar noch nicht gelöscht, aber ich werde wohl nichts daraus verwerten können.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Da WAV in max. 32-bit aufgenommen werden kann ist natürlich auch die maximale Dateigröße auf ca. 4GB beschränkt. Alles was darüberhinaus geht kann (muss aber nicht) Probleme bereiten die zur Unbrauchbarkeit führen können. Die Erklärung ist nicht ganz richtig, ich kann sie aber nicht in verständlichere Worte fassen.

Entweder man splitet in Zukunft die Files schon bei der Aufnahme oder wählt ein Format dass diese Limitierung nicht kennt.
Darum kann man z.B. auch bei den 32-bit Versionen von Windows nur 4 GB RAM benutzen.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Das klingt nach einem übergelaufenen Counter in Header. Mein erster Versuch wäre, mit dem Kommandozeilen-Encoder aus dem Lame-Bundle ein MP3 daraus zu machen, wobei der sich möglicherweise auch an der fehlerhaften Angabe der Dateigröße stoßen könnte.

Ansonsten mal freundlich den Zwerg befragen. Der kennt sich mittlerweile in RIFF-Headern aus wie in seiner Hosentasche. Ich wette, der hat eine Idee und hilft. Zumindest müsste sich mit einem Hex-Editor schon mal das Maximum wieder hörbar machen lassen. Ich hab nur die Parameter jetzt nicht greifbar.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Entweder man splitet in Zukunft die Files schon bei der Aufnahme oder wählt ein Format dass diese Limitierung nicht kennt.
Einen programmierbaren Auto-Split würde ich mir schon wünschen, ja. Vielleicht sogar mit einer mehrsekündigen Überlappung (Luxus, ich weiß).

Da kommt mir gerade eine Idee ... Simplecast bzw. das Encoder-Modul aus SAM können sowas doch auch.
Hatte nicht mal jemand gepostet, wie man an sich selber streamt und dabei aufzeichnet? Man müsste dem Simplecast also nur beibringen, aus dem Stereomix aufzuzeichnen, an sich selbst streamen und dabei im Mitschnitt die Funktion "Neue Datei alle 60 Minuten" wählen.
Geht halt bloß nicht in *.wav, aber sonst...
picture.php
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Sowas macht http://www.waverec.de/ .
Der Splittet zwar leider Waves nur in der registrierten Variante, aber da er auch direkt MP3 encodieren kann, bekommt man einige Stunden Radioprogramm easy mitgeschnitten. Dies auch noch zeitgesteuert.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Es gibt auch sogenannte Dateisplitter. Das sind Programme, mit denen man eine Datei in selbstgewählte Abschnitte teilen. Bin jetzt zu faul das zu googlen, habs aber schon benutzt, als die Dateianhänge bei E-Mails max. 4MB groß sein durften...
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Das konnte schon der gute alte Norton Commander. Das nützt in dem Fall aber nichts, da er nur die Datei splitten würde, aber nichts an dem Inhalt ändert. Im vorliegenden Fall müsste man die Samples des Waves aufteilen und für jede Datei korrekte Header generieren.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Hallo,

dieser Stress ist mir bekannt.

Vorgeschlagene Lösung:

Rechner/Webmitschnitt oder sonstige Audioquelle, SPDIF Ausgang nutzen und einen HD-P2 von Tascam. 4GB (6 Stunden) oder 8GB (13 Stunden) CF Card rein - und los geht es.
CF-Card rausnehmen, Card-Reader - und wav auf den Rechner kopieren.

Umständlich (ja, gebe ich zu) - aber zuverlässig.

PS: Wer es preiswerter möchte, Tascam SS-R1 verwenden (ca. 600 Euro)... 19" 1HE Einbaugerät.

Es kann passieren, das der Tascam die Aufnahme bei 512K 1,5G oder 2G splittet und mehrere Files anlegt. Diese können aber problemlos wieder zusammengeführt werden.

Gruss
PD
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Das rettet die bestehende Aufnahme aber nicht. Aber vielleicht könnte man die Datei ja auf eine CF- oder andere Speicherkarte kopieren und dann mit den Editierfunktionien eines Rekorders splitten?
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Versuch mal die Datei in Audacity über "Import -> Rohdaten" zu laden. Das Sampleformat musst du von Hand angeben, aber das ist dir ja vermutlich bekannt.

Der (ehemalige) Header wird dann auch als Audiodaten importiert, erscheint als "Datenmüll" am Anfang der Aufnahme und kann weggeschnitten werden.

Es muss sichergestellt sein, dass die Länge des WAV-Headers ein Vielfaches der (doppelten) Samplegröße ist, also bei 16-Bit stereo durch vier teilbar. Aber ich glaube, das ist bei WAV ohnehin der Fall. Wenn es nur durch zwei teilbar ist, sind hinterher die linke und die rechte Spur vertauscht, aber das lässt sich ja leicht beheben.

Da WAV in max. 32-bit aufgenommen werden kann ist natürlich auch die maximale Dateigröße auf ca. 4GB beschränkt.

Dass WAV-Dateien maximal 4 GB groß werden dürfen ist korrekt - mit der maximalen Samplerate hat das aber nichts zu tun. Der Grund liegt einzig und allein darin, dass das Feld "Datelänge" im WAV/RIFF-Header nur vier Byte groß ist, und in diese 32 Bit passen eben nur die Zahlen 0 bis 2^32-1, also 0 bis 4294967295. Versucht man was Größeres drin abzuspeichern, bleibt nur der Rest beim Teilen von 2^32 drin stehen - die oberen Bits fallen raus (Überlauf, siehe Posting von dea).

7 Stunden bei 44.1/16/stereo wären theoretisch 7*60*60*44100*2*16/8 = 4445280000 Bytes. Das ist tatsächlich zu groß, und der Rest beim Teilen durch 2^32 beträgt 150312704 Bytes, oder umgerechnet ca. 15 Minuten. Tadaaa!

Falls das mit Audacity nicht funktioniert (wovon beinahe auszugehen ist - ich denke nicht, dass es mit Audiodaten >4GB umgehen kann, zumal es sich um eine 32bit-Anwendung handelt), dann schick mir mal ne PN, ich kann dir dann vielleicht weiterhelfen.

Hier ist noch ein Lösungsvorschlag, der den Kommandozeilen-Soundeditor "sox" benutzt: http://sox.sourceforge.net/

Diesen installieren, das Windows-Kommandozeilenfenster öffnen, in das Verzeichnis mit dem Mitschnitt (ich nenne ihn mal "mitschnitt.wav" und gehe vom Format 16-Bit, 44100, stereo aus) wechseln und folgenden Befehl ausführen:

sox -r 16k -e signed -b 16 -c 2 mitschnitt.wav stunde.wav trim 0 3600 : newfile : restart

Das zerteilt dir die Datei in mehrere einzelne WAV-Dateien von je einer Stunde Länge. Die erste Datei wird den beschriebenen Datenmüll (ex-Header) am Anfang haben, den musst du noch wegschneiden.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Moin!

Da ist man mal einen Tag nicht online... ;) Ich selbst bin vor einiger Zeit auch in die 32Bit-Falle getappt, als ich die Genauigkeit der Zeitzeichen checken wollte. Man denkt einfach nicht dran. Mittlerweile habe ich die Grundeinstellungen aber natürlich geändert - längere Aufnahmen werden gleich während der Aufzeichnung gesplittet.

yps77 und dea haben sich ja schon als Kenner von Wavedateien geoutet, also brauche ich nicht mehr viel dazu zu sagen.

Meine eigene überlange Aufnahme habe ich gesplittet, in vier handliche 1GB-Häppchen, und als PCM abgespeichert. Diese PCM-Häppchen habe ich dann in CoolEdit geladen und im Waveformat abgespeichert. Aufnahme gerettet.

Aber Vorsicht! Ein 16Bit-Stereo-Sample hat eine Größe von 4 Bytes. Das Offset des ersten Samples (linker Kanal) in einer stinknormalen Wavedatei liegt normalerweise bei 0x2C (44 dez). Man kann also problemlos splitten und den Waveheader wegsägen.

Es kommt aber darauf an, wie groß der 'fmt '- Chunk ist. Normalerweise ist er 16 Bytes (0x10) lang, die "10" nach 'fmt ' bei Fileoffset 0x10 (erstes Byte in der zweiten Zeile). Dann ist alles Okay.

Der Chunk kann aber auch größer sein. Siehe unten: Der 'fmt '-Chunk ist hier 18 Bytes (0x12) groß, die Audiodaten beginnen in dieser Datei also bei Offset 0x2E (46 dez). Wenn man diese Datei einfach nur splittet und den alten Waveheader "wegsägt", sind die Kanäle vertauscht und am Ende fehlt ein "halbes" Sample bzw. ein "halbes" Sample ist überflüssig.



dea hatte vorgeschlagen, die Größe des 'data'-Chunks "anzupassen". Das sollte duchaus funktionieren. Ich habe das gestern mal ausprobiert - mit erschreckenden Ergebnissen. Bis "FF FF FF 7F" (also 0x7FFFFFFF, die größte positive Zahl bei einem 32 Bit Integer -> 2GB) direkt hinter 'data' bin ich bisher gekommen. Ich habe den Verdacht, daß man auch bei Samplitude 8.3 mit "int", anstatt mit "unsigned int" hantiert. Das muß ich mir aber erstmal genauer ansehen.

Ansonsten bringt diese Vorgehensweise nicht viel, denn die Erstellung der Grafikdaten für die Anzeige der Wellenform dauert "ewig" - einige Minuten. Während dieser Zeit stellt sich Samplitude vollständig tot ("Keine Rückmeldung" im Taskmanager). Ein DAU würde denken, daß das Programm abgestürzt ist. Von Multithreading hat man bei Magix wohl noch nix gehört. Man setzt einen Workerthread auf, damit der Startthread des Programms (nur der kann das) die Windows-Messages bedienen kann. Natürlich muß der User warten, aber das Programm "lebt" wenigstens...


Grüßle Zwerg#8
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

yps77 und dea haben sich ja schon als Kenner von Wavedateien geoutet, also brauche ich nicht mehr viel dazu zu sagen.
Kenner ist übertrieben. Ich habe eher nur gesagt, was ich als erstes probiert hätte, wenn ich vor dem Problem gesessen hätte. Ich hatte nur nicht die Zeit und Möglichkeit, da selbst nochmal genauer nachzulesen und auszuprobieren.
Immerhin war die Idee aber schon mal nicht schlecht, wie ich sehe.

Ansonsten: Live-Aufnahmen in MP3 mach übrigens auch MP3DirectCut, das man ja nun eigentlich sowieso auf dem Rechner hat. Man muss nur mal 2...3 Mausklicks weiterrutschen. ;)
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Hallo!

Ich hab da mal was vorbereitet - die wahrscheinlich längste Pra... - ähm - Wavedatei der Welt. Knapp unter 4 Gigabyte groß. Zumindest Winamp spielt sie ohne Murren ab.

Samplitude kann nur bis 2 GB. Das kann man leicht feststellen, wenn man in einem Projekt mit 44.1 / Stereo einen Ton von meinetwegen 6 Stunden Länge generiert. Die GENERATOR.WAV ist dann 2GB groß und im Verzeichnis findet sich noch eine weitere Wavedatei mit dem Namen GENERATOR.W01 und etwa 1,6GB Größe. Die maximale Projektlänge beträgt 12:40 Stunden, denn das sind 2,14 Mrd. Samples.



Wer das Ganze selbst testen möchte, kann sich die Wavedatei runterladen und entpacken. Das Entpacken dauert aber ein paar Minuten, obwohl nur Nullen drin sind.

Grüßle Zwerg#8


EDIT:
@Stefan Zinke: Zeig uns doch bitte mal einen Screenshot der Header deiner Datei im Hexeditor.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Das wußte ich nicht, da ich nur die Version 8.3 habe.

Trotzdem ist diese Aussage auf der Samplitude-Website nicht ganz richtig:

Mit RIFF64 ist es möglich, Wave-Dateien größer als 2 GB zu schreiben.

Auch ohne RIFF64, also mit einer normalen Wavedatei (siehe oben), kommt man bis 4 GB, selbst unter Windows 95 mit FAT32. Es kommt immer nur darauf an, was man so "zusammenprogrammiert"...


Grüßle Zwerg#8
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

So, nun wird es aber Zeit, dass ich mich zurückmelde. Verzeiht mir, bitte, dass ich das Thema erst heute wieder aufgreife.

Ich danke Euch sehr für Eure Erklärungen und Vorschläge. Die Lösung war sehr einfach, und für diesen Tipp danke ich Dir sehr, yps77, denn es reichte bereits, in Audacity die Rohdaten zu laden. Schwupps, da waren die sieben Stunden Mitschnitt, und ich konnte sie in zwei Tracks unterteilen. Super! Also, noch einmal: vielen lieben Dank an alle und besonders an yps77.

Bei dem Mitschnitt handelt es sich übrigens um die nächtliche Sondersendung von NDR 1 Radio MV und NDR 1 Welle Nord zum 20. Jahrestag des Mauerfalls. Aber ehrlich: Bei dem widerwärtigen Klang, den Schwerin produziert, und damit meine ich dieses aufgeblähte, ungemein breite Signal, hätte auch ein Mitschnitt als MP3 genügt ...
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Gern geschehen, Stefan! Und auch danke für die Rückmeldung - für die zukünftigen Leser dieses Threads ist es bestimmt sehr hilfreich zu wissen, was am Ende dabei rumgekommen ist.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Hallo!

Es erscheint mir wichtig auf einen Umstand hinzuweisen, der noch nicht zur Sprache kam. Ja, manchmal dauert es mit dem Nachdenken etwas länger und man endeckt eigene Denkfehler erst später.

Ich schrieb:

Aber Vorsicht! Ein 16Bit-Stereo-Sample hat eine Größe von 4 Bytes. Das Offset des ersten Samples (linker Kanal) in einer stinknormalen Wavedatei liegt normalerweise bei 0x2C (44 dez). Man kann also problemlos splitten und den Waveheader wegsägen.

Es kommt aber darauf an, wie groß der 'fmt '- Chunk ist. Normalerweise ist er 16 Bytes (0x10) lang, die "10" nach 'fmt ' bei Fileoffset 0x10 (erstes Byte in der zweiten Zeile). Dann ist alles Okay.

Der Chunk kann aber auch größer sein. Siehe unten: Der 'fmt '-Chunk ist hier 18 Bytes (0x12) groß, die Audiodaten beginnen in dieser Datei also bei Offset 0x2E (46 dez). Wenn man diese Datei einfach nur splittet und den alten Waveheader "wegsägt", sind die Kanäle vertauscht und am Ende fehlt ein "halbes" Sample bzw. ein "halbes" Sample ist überflüssig.

Trivia: Ein einziges 16-Bit Stereosample hat eine Größe von vier Bytes. Zwei Bytes für den linken Kanal, zwei Bytes für rechts. Diese beiden 16-Bit breiten "Zahlen" wurden vom AD-Wandler gleichzeitig "ermittellt", sie gehören also zeitlich zusammen, sind eigentlich "atomar" - unteilbar.

Ich habe den alten Screenshot zum besseren Verständnis unten nochmal angehangen.


Sollte der "fmt "- Chunk 18 Bytes groß sein UND man die Datei als STEREO-AUFNAHME interpretieren lassen hat, hat man ein Problem. Die eigentlichen PCM-Daten beginnen (mit den ersten zwei Bytes (16-Bit) des ersten Samples (linker Kanal)) nicht mehr an einem durch vier teilbaren Offset in der Datei.


Wenn ich also eine solche Datei als "Rohdaten" von Audacity" interpetieren lasse und "16 Bit Stereo" beim Import angebe, mache ich möglicherweise einen Fehler.

Natürlich wird Audacity dann die ersten zwei Bytes aus der Datei dem linken Kanal zuordnen, die nächsten zwei Bytes dem rechten Kanal (das ist das erste Stereosample) usw. Die ersten paar "Samples" ergeben zwar nur "Rauschen" (das ist der Waveheader mit seinen binären Daten), aber so ist es ja auch gedacht. In der grafischen Darstellung der "Waveform" sieht man diesen "Datenmüll" sofort und kann ihn samplegenau wegschneiden. Null Problemo.


Beginnen die Audiodaten nun aber an einem Dateioffset welches nicht durch vier teilbar ist, hat man ein Problem.

Ich wiederhole mich:

Wenn ich also eine solche Datei als "Rohdaten" von Audacity" interpetieren lasse und "16 Bit Stereo" beim Import angebe, mach ich einen Fehler.

Warum?

Ganz einfach: Weil "Audacity" dann (!) nur ganzzahlige Vielfache von vier Bytes (ein einziges Stereosample - vier Bytes) "schneiden" kann!
Natürlich wird Audacity dann die ersten zwei Bytes aus der Datei dem linken Kanal zuordnen, die nächsten zwei Bytes dem rechten Kanal (das ist das erste komplette Sample) usw.

Die ersten paar "Samples" ergeben zwar nur "Rauschen" (das ist der Waveheader mit seinen binären Daten), aber so ist es ja auch gedacht. Neu ist, daß der um zwei Bytes größere "fmt "-Chunk als 16-Bit-Sample für den linken Kanal in der grafischen Darstellung auftaucht. In der grafischen Darstellung der "Waveform" sieht man diesen "Mist" beim Reinzoomen sofort - links - und kann ihn auch "wegschneiden". Doch damit scheidet man das erste wirkliche Audiosample "in der Mitte" auseinander! Man schneidet also "halbe" Samples.

Und genau das ist falsch! Nicht nur, daß dadurch die Kanäle vertauscht sind, auch die Phasenlage stimmt nicht mehr, da es es einen zeitlichen Versatz von genau einer Sampleperiode gibt, da die folgenden 16 Bit (zwei Bytes) als "rechter Kanal" interpretiert werden. Das stimmt aber nicht, denn diese sind eigentlich die ersten zwei Bytes des linken Kanals des zeitlich unmittelbar nachfolgenden Samples!

Ja. ja - ist nicht einfach zu verstehen.


Es gibt nur ein paar Möglichkeiten:

1.) Beim Import einer in Stereo aufgenommenen Datei als "Rohdaten" (PCM) gebe ich "16 Bit - Mono" an. Damit werden die Samples für links und rechts von Audiacity hintereinander interpretiert - die Datei wird also um 50% langsamer und tiefer abgespielt. Dafür kann ich dann aber "den Mist" (also den Waveheader) auf zwei Bytes genau (!) (weg)schneiden und die Datei dann wieder als PCM abspeichern. Danach kann ich sie als "16-Bit Stereo" neuladen und interpretieren lassen - und habe gewonnen. Verstanden?

2.) Das für das Dateisplitting vewendete "grobe" Programm sucht nach dem "data"-Chunk in der Datei und kopiert die folgenden Daten (bis zur angegebenen Dateigröße) in jeweils eine neue Datei.


Was ich sagen will: Auch mit "Audiacity", "CoolEdit" & Co kann man verunglückte Wavedateien "retten". Das geht - da bin ich mir sicher. Man muß aber auch bei diesen Progis wissen, was man tut und was passiert. Und darum: Im Notfall einfach hier fragen!

vg Zwerg#8
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Ein sehr guter Hinweis! Danke! Das mit dem Auseinanderhacken der Samples hatte ich bei meinen Ausführungen nicht so ganz bedacht.

Im Zweifel bietet es sich an, den Header vor dem Importieren mit einem externen Tool wegzuschneiden, bzw. eine Kopie der Datei anzulegen, in der der Header entfernt wurde. Wohl dem, der ein Linux und "dd" zur Verfügung hat.
 
AW: Sechsstündiger Wave-Mitschnitt wird nur eine Viertelstunde abgespielt

Leider hab ich ein ähnliches Problem und offensichtlich noch nicht das verständnis es selbstständig zu lösen. Ich wäre dankbar für eure Unterstützung.

Ich habe eine WAV PCM mit 96 khz / 24 bit mit wavelab 6 aufgenommen. Das Problem, dass über 4 gb bei einer normalen wave die längenangabe im header überschrieben wird war mir nicht bekannt.
Ist wohl ein anfänger fehler :wall:

Mein File ist 5,8gb groß - jetzt ist die 3-stündige aufnahme nur noch 56mins lang. Scheinbar die Zeitangabe im Header wurde überschrieben...?

wavelab 56mins. vlc interpretiert den header auch mit 56mins. cooledit bietet mir keine 24bit interpretierung an, beim öffnen als raw, wave defekt.
Die splittung mit hjsplit auf 1800mb brachte auch keinen erfolg.

Beim öffnen mit wavelab, 24bit 96khz der raw pcm daten habe ich nur rauschen.

wäre es möglich meine wav datei in zwei teile zu splitten und dafür neue header zu schreiben?
Sollte ich den "falschen" header wegschneiden und noch mal alles als raw öffnen?
wie komm ich an die wave, sie ist doch noch da... :confused:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben