Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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()
Пример #4
0
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()