mikrocontroller.net

Forum: PC Hard- und Software brauche Hilfe, Audiodatei in ASCII,csv konvertieren


Autor: robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie kann ich eine Audio Datei, aufgenommen mit z.B. Audacity, in in 
Ascii Werte umwandeln.
Hintergrund, ich habe eine Controllerprogramm und möchte den Audiocode 
dort "durchjagen", sprich eine Simulation fahren.
Also gibt es ein Tool um Mono Audiodaten in eine csv datei zu wandeln ?

schon mal vielen Dank für eure Hilfe
Robert

Autor: Mirko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sox, der Chuck Norris unter den Audioconvertern, kennt ein .dat-Format:

"Text Data files. These files contain a textual representation of the 
sample data. There is one line at the beginning that contains the sample 
rate. Subsequent lines contain two numeric data items: the time since 
the beginning of the first sample and the sample value. Values are 
normalized so that the maximum and minimum are 1 and -1. This file 
format can be used to create data files for external programs such as 
FFT analysers or graph routines. SoX can also convert a file in this 
format back into one of the other file formats."

Wenn das nicht so aussieht, wie Du das brauchst, dann würde ich an 
Deiner Stelle vermutlich selber was programmieren, z.B. mit libsndfile ( 
http://www.mega-nerd.com/libsndfile/ ) für den Import.

Mirko

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#!/usr/bin/python

#benutzen mit 
#       python diesedatei.py in.wav out.csv

import wave
import sys
import struct

infile = wave.open(sys.argv[1], 'r')
outfile = open(sys.argv[2], 'w')
num_samples = infile.getnframes()
for i in range(0, num_samples):
    frame = infile.readframes(1)
    number = struct.unpack('h', frame)[0]
    line = str(i) + ';' + str(number) + '\n'
    outfile.write(line)
infile.close()
outfile.close()

Scheint zu funktionieren und ist leicht anzupassen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.