Esempio n. 1
0
def play(data, rate=44100):
    ''' Send audio array to pygame for playback
    '''
    pygame.mixer.init(rate, -16, 1, 1024)
    sound = pygame.sndarray.numpysnd.make_sound(encode.as_int16(data))
    length = sound.get_length()
    sound.play()
    pygame.time.wait(int(length * 1000))
    pygame.quit()
def pygame_play(data, rate=44100):
  ''' Send audio array to pygame for playback
  '''
  import pygame
  pygame.mixer.init(rate, -16, 1, 1024)
  sound = pygame.sndarray.numpysnd.make_sound(encode.as_int16(data))
  length = sound.get_length()
  sound.play()
  pygame.time.wait(int(length * 1000))
  pygame.mixer.quit()
Esempio n. 3
0
def save_wave(data, path, rate=44100):
    ''' Save audio data to wave file, currently only 16bit
  '''
    fp = wave.open(path, 'w')
    fp.setnchannels(1)
    fp.setframerate(rate)
    fp.setsampwidth(2)
    fp.setnframes(len(data))
    data = encode.as_int16(data)
    fp.writeframes(data.tostring())
    fp.close()
Esempio n. 4
0
def save_wave(data, path, rate=44100):
  ''' Save audio data to wave file, currently only 16bit
  '''
  import wave
  fp = wave.open(path, 'w')
  fp.setnchannels(1)
  fp.setframerate(rate)
  fp.setsampwidth(2)
  fp.setnframes(len(data))
  data = encode.as_int16(data)
  fp.writeframes(data.tostring())
  fp.close()
Esempio n. 5
0
def oss_play(data, rate=44100):
    ''' Send audio array to oss for playback
  '''
    import ossaudiodev
    audio = ossaudiodev.open('/dev/audio', 'w')
    formats = audio.getfmts()
    if ossaudiodev.AFMT_S16_LE in formats:
        # Use 16 bit if available
        audio.setfmt(ossaudiodev.AFMT_S16_LE)
        data = encode.as_int16(data)
    elif ossaudiodev.AFMT_U8 in formats:
        # Otherwise use 8 bit
        audio.setfmt(ossaudiodev.AFMT_U8)
        data = encode.as_uint8(data)
    audio.speed(rate)
    while len(data):
        audio.write(data[:1024])
        data = data[1024:]
    audio.flush()
    audio.sync()
    audio.close()
def oss_play(data, rate=44100):
  ''' Send audio array to oss for playback
  '''
  import ossaudiodev
  audio = ossaudiodev.open('/dev/audio','w')
  formats = audio.getfmts()
  if ossaudiodev.AFMT_S16_LE & formats:
    # Use 16 bit if available
    audio.setfmt(ossaudiodev.AFMT_S16_LE)
    data = encode.as_int16(data)
  elif ossaudiodev.AFMT_U8 & formats:
    # Otherwise use 8 bit
    audio.setfmt(ossaudiodev.AFMT_U8)
    data = encode.as_uint8(data)
  audio.speed(rate)
  while len(data):
    audio.write(data[:1024])
    data = data[1024:]
  audio.flush()
  audio.sync()
  audio.close()