Wie Wav aufzeichnen ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
SwissMäc
User
Beiträge: 20
Registriert: Freitag 26. Februar 2010, 21:36

Ich möchte ab Mikrofoneingang bis 2h Funk aufzeichnen, daher muss es direkt in die Datei schreiben ohne Puffer.
Gegoogelt habe ich schon aber die Zusätze wie pyAudio oder numpy findet der Linux-Installer (OpenSuSE 11.1) nicht.

Soweit habe ich:

Code: Alles auswählen

import wave,os,sys

try:
    Testdatei = wave.open("test.wav","r")
#    print("Datei gefunden")
    print "Channels: ",int(Testdatei.getnchannels() )
    print "Sampebreite in Bytes: ",int(Testdatei.getsampwidth() ),"=",int(Testdatei.getsampwidth()*8),"Bit"
    print "Framerate: ",int(Testdatei.getframerate() )
    print "Anzahl Frames: ",int(Testdatei.getnframes() )
except:
    print("Keine Datei gefunden.")
    sys.exit()

Aufnahme = wave.open("Aufnahme.wav","w")
Aufnahme.setnchannels(2)
Aufnahme.setframerate(44100)
Aufnahme.setsampwidth(2)
Aufnahme.setnframes(5*44100) # 5 sec

#Start ?

Testdatei.close()
Aufnahme.close()
Die Pegel würde ich zur Not extern im Mixer einstellen, aber wie starte ich die Aufnahme und wo wähle ich zwischen "Mic" und "Line-in" ?
philistion
User
Beiträge: 108
Registriert: Sonntag 7. Februar 2010, 14:16

Du musst ein Pythonpaket ja nicht über den Installer installieren, auch unter Suse kannst du manuell Software kompilieren/installieren.
Installier dir die "python-setuptools" und gib dann einfach als Root ein: easy_install pyAudio
libportaudio müsstest du natürlich auch vorher installieren.

Um mit numpy zu arbeiten wäre vielleicht audiolab interessant: http://www.ar.media.kyoto-u.ac.jp/membe ... index.html

Ich würde aber zum Aufnehmen eher direkt mit ALSA arbeiten: http://pyalsaaudio.sourceforge.net/index.html
Da gibt es auch nette Beispiele im Package, siehe Dokumentation bzw. der Quellcode direkt ist auch hier einsehbar: http://pyalsaaudio.sourcearchive.com/do ... ource.html
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Mit den Alsa Bindings habe ich schlechte Erfahrungen gemacht. Ich würde da eher gstreamer verwenden. Aber warum verwendest du nicht einfach arecord? :K
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Du könntest auch den Mplayer verwenden

Code: Alles auswählen

-dumpstream -dumpfile
the more they change the more they stay the same
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo

Man kann auch per dd direkt vom device /dsp/xyz in eine Datei schreiben.
Ich weiß nur nicht, welches Format die Aufnahme hat (wav, raw ,?)
mit dd kannst du dann auch nur eine bestimmte dateiugröße vom device aufnehmen, also anch 1ooMb stoppt die Aufnahme.
mfg
schwedenmann
problembär

schwedenmann hat geschrieben:Man kann auch per dd direkt vom device /dsp/xyz in eine Datei schreiben.
Ich weiß nur nicht, welches Format die Aufnahme hat (wav, raw ,?)
mit dd kannst du dann auch nur eine bestimmte dateiugröße vom device aufnehmen, also anch 1ooMb stoppt die Aufnahme.
Damit habe ich leider keine so guten Erfahrungen, ich nehme dafür lieber arecord.

Gruß
Antworten