2016-09-30 3 views
1

möchte ich einige wavs konvertieren, die 48kHz 24-Bit-file.wav bis 48kHz 16-Bit-Datei-2.wavWandler Welle 24 Bit auf 16-Bit-

import wave 
origAudio = wave.open("Sample_5073.wav","r") 
frameRate = origAudio.getframerate() 
nChannels = origAudio.getnchannels() 
sampWidth = origAudio.getsampwidth() 
nbframe=origAudio.getnframes() 
da = np.fromstring(origAudio.readframes(48000), dtype=np.int16) 
left, right = da[0::2], da[1::2] 

Dank sind

Antwort

1

Wenn Dateien aus der Umwandlung 24-16 Bit ist das einzige, was Sie tun möchten, können Sie SoX nutzen könnten, ist es nicht viel einfacher als das bekommt:

sox file.wav -b 16 file-2.wav 

SOx tun auch viele andere Dinge, haben nur einen Blick auf seine man page.

Wenn Sie Python verwenden, empfehle ich das soundfile Modul:

import soundfile as sf 

data, samplerate = sf.read('file.wav') 
sf.write('file-2.wav', data, samplerate, subtype='PCM_16') 

Angabe subtype='PCM_16' nicht einmal unbedingt erforderlich ist, da es ohnehin der Standard ist.

Wenn Sie es wirklich mit dem eingebauten Modul ẁave tun wollen, sehen Sie sich meine tutorial about the wave module.

Verwandte Themen