def test_image3 (infile = 'test.mp3', size_exponent = 9, factor_exponent = 1): "streaming sound --> image" s = K.Supergram(size_exponent, factor_exponent) outfile = infile[:-4] small_size = s.small_size super_size = s.super_size length = s.super_size #arbitrary frame_rate = float(K.DEFAULT_SAMPLE_RATE) / small_size a = K.AudioFile(infile, small_size, small_size * length) l = K.Loudness(super_size, frame_rate) i = K.ImageBuffer(outfile, super_size, length) sound = K.Complexes() energy = K.Reals() loud = K.Reals() a.reading(sound) s.stream_fwd(sound, energy) l.stream_fwd(energy, loud) i.writing(loud) a.start_read() a.wait_read() import time time.sleep(0.5) #HACK i.assemble() K.stop_threads()
def test_images3 (infile = 'test.mp3', small_exponent = 9, large_exponent = 11, size_out = 1 << 10, color = True): "buffered pitch images with streaming Multigram" outfile = infile[:-4] multi = K.Multigram(small_exponent, large_exponent) file = K.AudioFile(infile, multi.size_in) scale = multi.pitch_scale(size_out) loud = K.Loudness(size_out, float(K.DEFAULT_SAMPLE_RATE) / multi.size_in) image = K.ImageBuffer(outfile, size_out, color=color) sound = K.Complexes() energy = K.Reals() pitch = K.Reals() louds = K.Reals() file.reading(sound) multi.stream_fwd(sound, energy) scale.stream_fwd(energy, pitch) loud.stream_fwd(pitch, louds) image.writing(louds) file.start_read() file.wait_read() import time time.sleep(0.5) #HACK image.assemble() K.stop_threads()
def test_play2 (filename = 'test.mp3', size = 1024): file = K.AudioFile(filename, size) audio = K.Audio(size, reading=False) sound = K.Complexes() file.reading(sound) audio.writing(sound) audio.start() file.start_read() file.wait_read() audio.stop() K.stop_threads()
def test_animate4 (infiles = None, small_exponent = 9, large_exponent = 11): "pitch animation with streaming Multigram" if infiles is None: infiles = ['test.mp3'] size_in = (1 << small_exponent) / 2 size_out = 1 << 10 frame_rate = float(K.DEFAULT_SAMPLE_RATE) / size_in file = K.AudioFile(infiles[0], size_in) split = K.Splitter() audio = K.Audio(size_in, reading=False) multi = K.Multigram(small_exponent, large_exponent) scale = multi.pitch_scale(size_out) screen = K.Screen(size_out * 3/2, size_out) loud = K.Loudness(size_out, frame_rate) assert multi.size_in == size_in sound1 = K.Complexes() sound2 = K.Complexes() sound3 = K.Complexes() energy = K.Reals() pitch = K.Reals() louds = K.Reals() file.reading(sound1) split.transform(sound1, (sound2, sound3)) audio.writing(sound2) multi.stream_fwd(sound3, energy) scale.stream_fwd(energy, pitch) loud.stream_fwd(pitch, louds) screen.vertical_sweeping(louds) audio.start() file.start_read() file.wait_read() audio.stop() K.stop_threads()