[python] problém s modulem wave
jiri.zahradil na gmail.com
jiri.zahradil na gmail.com
Pondělí Červenec 16 14:58:21 CEST 2007
Zdravím,
mám problém s modulem wave. Mám PCM data v paměti a potřebuji je
korektně uložit do .wav souboru. Vytvořil jsem si na to funkci pomocí
modulu wave (je u Pythonu - 2.5, pod Windows). Bohužel, vytvořený
soubor je zhruba správně velký, ovšem dat - PCM vzorků - je v něm jen
půlka (= přehraje se jen půlka, zkoušel jsem různé programy). Pokud
uložím jen PCM data pomocí open("soubor.pcm","wb").write(data) a pak
data otevřu v editoru jako "raw" formát tak jsou tam všechna. Nevíte
kde může být chyba?
Funkce kterou používám:
import wave
def SavePCMasWAV(filename, data):
"""
Function that takes a filename and PCM data in mono, 16bit, 16000 Hz
format
and saves them as standard .WAV file
"""
if type(data) is type(list()):
# need to transform "list" data to binary array format
a = array.array("h") # short type
a.extend(data)
data = a
w = wave.open(filename,"wb")
w.setnchannels(1)
w.setsampwidth(2)
w.setframerate(16000)
w.setnframes(len(data))
w.writeframesraw(data)
w.close()
Další informace o konferenci Python