import sys import random, struct import wave freq = 16000 BIAS = 32768 def convert(srcpath, destpath): outdata = bytearray() with wave.open(srcpath, mode="rb") as f: params = f.getparams() print(params.nchannels, params.sampwidth, params.framerate) frames = f.readframes(2*1024*1024) for i in range(0, len(frames), 2): v = int.from_bytes(frames[i:i+2], "little", signed=True) v += BIAS hi = (v & 0xFF00) >> 8 lo = (v & 0x00FF) outdata.append(hi) outdata.append(lo) with open(destpath, mode="wb") as f: f.write(outdata) if __name__ == "__main__": sourcefilename = sys.argv[1] destfilename = sys.argv[2] convert(sourcefilename, destfilename)