Wave-Datei teilen



  • Hallo!
    Ich untersuche Sprachaufzeichnungen und will dazu automatisch einzelne Laute aus Wave-Dateien heruasschneiden. Mit einem anderen Programm kann ich diese lokalisieren und hab schon die Anfangs- und Endpunkte in der Datei, aber ich hab keine Ahnung wie ich diese aus dem Wave rausschneide und in einer neuen Wave-Datei speichere.
    Gibt es dazu ein Kommandozeilen-Programm, das ich in mein c++-Programm einbinden kann? Oder wie kann ich das selbst programmieren. Vermutlich muss ich ja die wav nur bitweise kopieren und den header extra, aber ich weiß nicht wie das geht. Es soll kein graphisches Programm sein, sondern automatisch in meinem Programm mitlaufen (Daher kommandozeilenbaisert).
    Wäre für hilfe sehr dankbar!
    lg Alex



  • In welcher Form/welcher Einheit sind deine Anfangs- und Endpunkte?

    Aber ja, generell ist es sehr einfach, WAV-Dateien zu zerlegen. Hab lang nix mehr mit gemacht, aber afaik sind's immer 44 Byte Header und dann halt je nach Bits/Sample, Channels und Sampling Rate, aber ziemlich straight forward, kannst glaubich direkt nach dem Header schon deinen Seek-Offset ausrechnen. Jedenfalls solange keine Midi-Sequences eingebettet sind, was imho irgendwie möglich war..



  • Hi!
    Ich kann die Anfangs- und Endpunkt in Sekunden umrechnen. Mit der angegeben Bitrate sollte ich dann einen Offset wohl ohne Probleme berechnen können.
    Wie ich allerdings dann in C++ die wav-Datei einlese, den Header abschneide, einen Teil der Datei rausnehme, den Header wieder hinzufüge (muss man dan nicht im Header was verändern, wenn sich die Länge ändert?) und das Ganze wieder als neue wav-Datei ausgebe, weiß ich nicht bzw find ich nicht.


  • Administrator

    Datei lesen und schreiben: http://www.cplusplus.com/reference/iostream/fstream/
    Dateiformat: http://www.wotsit.org/

    Oder mit einer Suchmaschine deiner Wahl nach einer Bibliothek suchen. Vielleicht gibt es ja etwas auf http://www.sf.net/?

    Grüssli



  • Ich hab wirklich was auf sf gefunden, nennt sich wavtools und macht genau das was ich will.
    Danke für deine schnellen und hilfreichen Antworten!
    lg Alex


Anmelden zum Antworten