def record_and_play_audio(): record_seconds = 5 fs = 44100 p = pyaudio.PyAudio() odata = np.zeros(fs * record_seconds) print "Recording audio for the next {0} seconds".format(record_seconds) record_audio(odata, p, fs, record_seconds) wavio.write("before.wav", 44100, odata) print "Audio has recorded, stand by for voice" play_audio(odata, p, fs) print "Encoding and decoding voice through vocoder" analyzer = Analyzer(odata, 10e-3) lpc_frame_array = analyzer.encode() synthesizer = Synthesizer(lpc_frame_array) reconstructed_signal = synthesizer.decode() wavio.write("test.wav", 441000, reconstructed_signal) print "Playing reconstructed audio" play_audio(reconstructed_signal, p, fs) p.terminate()