In [1]:
import numpy as np
import synth

CHUNK = 1024
CHANNELS = 1
RATE = 44100
WIDTH = 2

In [66]:
DATASIZE = 50000
frame = synth.synth_complex([200, 5000], [1,1], DATASIZE)

signal = numpy.array(frame, dtype=float)
# plot a part of it
pylab.plot(signal[0:1000])


Out[66]:
[<matplotlib.lines.Line2D at 0x10d2b6f50>]

In [67]:
rfft_signal = np.abs(np.fft.rfft(signal[0:CHUNK]))
plot(rfft_signal)


Out[67]:
[<matplotlib.lines.Line2D at 0x10e27e710>]

In [73]:
import pyaudio
import quietnet

def play_frames(buffer, chunk, channels, framerate, sample_width):
    frames = quietnet.pack_buffer(buffer)
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(sample_width),
                    channels=channels,
                    rate=framerate,
                    output=True)
    for frame in frames:
        stream.write(frame)
        
    stream.stop_stream()
    stream.close()
    p.terminate()

In [76]:
DATASIZE = 500000
frames = synth.synth_complex([17000], [1,1], DATASIZE)

# actually play it
play_frames(frames, CHUNK, CHANNELS, RATE, 2)

In [ ]: