Beispiel #1
0
def yingyang(files):
    waves = [audio.openAudio(f, 'rb') for f in files]

    names = 'nchannels', 'sampwidth', 'framerate'
    params = dict((n, get_param(waves, n)) for n in names)
    n = max(w.getnframes() for w in waves)
    frames = [w.readframes(w.getnframes()) for w in waves]
    cuts = [poisson(n, NUMBER_OF_CUTS) for f in files]
    framesize = params['nchannels'] * params['sampwidth']

    print cuts
    for i, f in enumerate(files):
        out = audio.openAudio('-new'.join(os.path.splitext(f)), 'wb')
        for name in names:
            getattr(out, 'set' + name)(params[name])

        m = len(files) - i - 1
        reader = FrameReader(framesize, frames[i], cuts[i], n, False)
        mirror = FrameReader(framesize, frames[m], cuts[m], n, True)

        nchannels, sampwidth = params['nchannels'], params['sampwidth']
        for sample in range(n):
            f1, f2 = reader.nextFrame(), mirror.nextFrame()
            frame = audio.combineFrames(nchannels, sampwidth, f1, f2)
            # print [audio.sampleToNum(f) for f in [f1, f2, frame]]
            out.writeframes(frame)
            # if DEBUG:
            # print f1, f2, frame

        out.close()
Beispiel #2
0
def yingyang(files):
  waves = [audio.openAudio(f, 'rb') for f in files]

  names = 'nchannels', 'sampwidth', 'framerate'
  params = dict((n, get_param(waves, n)) for n in names)
  n = max(w.getnframes() for w in waves)
  frames = [w.readframes(w.getnframes()) for w in waves]
  cuts = [poisson(n, NUMBER_OF_CUTS) for f in files]
  framesize = params['nchannels'] * params['sampwidth']

  print cuts
  for i, f in enumerate(files):
    out = audio.openAudio('-new'.join(os.path.splitext(f)), 'wb')
    for name in names:
      getattr(out, 'set' + name)(params[name])

    m = len(files) - i - 1
    reader = FrameReader(framesize, frames[i], cuts[i], n, False)
    mirror = FrameReader(framesize, frames[m], cuts[m], n, True)

    nchannels, sampwidth = params['nchannels'], params['sampwidth']
    for sample in range(n):
      f1, f2 = reader.nextFrame(), mirror.nextFrame()
      frame = audio.combineFrames(nchannels, sampwidth, f1, f2)
      # print [audio.sampleToNum(f) for f in [f1, f2, frame]]
      out.writeframes(frame)
      # if DEBUG:
        # print f1, f2, frame

    out.close()
Beispiel #3
0
def write_audio(name, data):
    w = audio.openAudio(name, 'wb')
    w.setnchannels(1)
    w.setsampwidth(2)
    w.setframerate(44100)
    for i in data:
        w.writeframes(audio.numToSample(i, 2))
Beispiel #4
0
def write_audio(name, data):
  w = audio.openAudio(name, 'wb')
  w.setnchannels(1)
  w.setsampwidth(2)
  w.setframerate(44100)
  for i in data:
    w.writeframes(audio.numToSample(i, 2))