def open_audio(self): if self.aformat == A_OFF: return import aifc import al import AL import thread self.close_audio() params = [AL.INPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, params) rate = params[1] self.aout = aifc.open(self.afile, 'w') if self.aformat in (A_16_STEREO, A_8_STEREO): nch = AL.STEREO else: nch = AL.MONO if self.aformat in (A_16_STEREO, A_16_MONO): width = AL.SAMPLE_16 else: width = AL.SAMPLE_8 self.aout.setnchannels(nch) self.aout.setsampwidth(width) self.aout.setframerate(rate) c = al.newconfig() c.setqueuesize(8000) c.setchannels(nch) c.setwidth(width) self.aport = al.openport('Vb audio record', 'r', c) self.audio_stop = 0 self.audio_ok = 0 self.audio_busy = 1 thread.start_new_thread(self.record_audio, ())
def handle_2(self): # getparams dev, params = self.unpacker.unpack_int_params() self.turn_around() ## print 'getparams:', dev, params al.getparams(dev, params) ## print 'getparams ->', params self.packer.pack_params(params)
def open_audio(self): if self.aformat == A_OFF: return import aifc import al import AL import thread self.close_audio() params = [AL.INPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, params) rate = params[1] self.aout = aifc.open(self.afile, 'w') if self.aformat in (A_16_STEREO, A_8_STEREO): nch = AL.STEREO else: nch = AL.MONO if self.aformat in (A_16_STEREO, A_16_MONO): width = AL.SAMPLE_16 else: width = AL.SAMPLE_8 self.aout.setnchannels(nch) self.aout.setsampwidth(width) self.aout.setframerate(rate) c = al.newconfig() c.setqueuesize(8000) c.setchannels(nch) c.setwidth(width) self.aport = al.openport('Vb audio record', 'r', c) self.audio_stop = 0 self.audio_ok = 0 self.audio_busy = 1 thread.start_new_thread(self.record_audio, ())
def main(): s = socket(AF_INET, SOCK_DGRAM) s.bind('', PORT) oldparams = [AL.OUTPUT_RATE, 0] params = oldparams[:] al.getparams(AL.DEFAULT_DEVICE, oldparams) params[1] = AL.RATE_44100 try: al.setparams(AL.DEFAULT_DEVICE, params) config = al.newconfig() config.setwidth(AL.SAMPLE_16) config.setchannels(AL.STEREO) port = al.openport('CD Player', 'w', config) while 1: data = s.recv(CDDA_DATASIZE) if not data: print 'EOF' break port.writesamps(data) except KeyboardInterrupt: pass al.setparams(AL.DEFAULT_DEVICE, oldparams)
def writeframes(self, data): if not self.__format or not self.__params[1]: raise Error, 'params not specified' if not self.__port: self.__port = al.openport('Python', 'w', self.__config) self.__oldparams = self.__params[:] al.getparams(al.DEFAULT_DEVICE, self.__oldparams) al.setparams(al.DEFAULT_DEVICE, self.__params) self.__port.writesamps(data)
def writeframes(self, data): if not (self.inited_outrate and self.inited_nchannels): raise error, 'params not specified' if not self.port: import al, AL self.port = al.openport('Python', 'w', self.config) self.oldparams = self.params[:] al.getparams(AL.DEFAULT_DEVICE, self.oldparams) al.setparams(AL.DEFAULT_DEVICE, self.params) if self.converter: data = self.converter(data) self.port.writesamps(data)
def writeframes(self, data): if not (self.inited_outrate and self.inited_nchannels): raise error, 'params not specified' if not self.port: import al, AL self.port = al.openport('Python', 'w', self.config) self.oldparams = self.params[:] al.getparams(AL.DEFAULT_DEVICE, self.oldparams) al.setparams(AL.DEFAULT_DEVICE, self.params) if self.converter: data = self.converter(data) self.port.writesamps(data)
def main(): import sys, readcd, al, AL, CD, cdplayer verbose = 0 r = readcd.Readcd() prstatus(r.getstatus()) prtrackinfo(r.gettrackinfo()) cdinfo = cdplayer.Cdplayer(r.gettrackinfo()) if cdinfo.title <> '': print 'Title: "' + cdinfo.title + '"' if cdinfo.artist <> '': print 'Artist: ' + cdinfo.artist for arg in sys.argv[1:]: if arg == '-v': verbose = 1 continue x = eval(arg) try: l = len(x) r.appendstretch(x[0], x[1]) except TypeError: r.appendtrack(x) try: oldparams = [AL.OUTPUT_RATE, 0] params = oldparams[:] al.getparams(AL.DEFAULT_DEVICE, oldparams) params[1] = AL.RATE_44100 al.setparams(AL.DEFAULT_DEVICE, params) config = al.newconfig() config.setwidth(AL.SAMPLE_16) config.setchannels(AL.STEREO) port = al.openport('CD Player', 'w', config) for i in range(8): r.setcallback(i, callback, None) if verbose: r.setcallback(CD.PTIME, tcallback, None) r.setcallback(CD.ATIME, tcallback, None) else: r.removecallback(CD.PTIME) r.removecallback(CD.ATIME) r.setcallback(CD.PNUM, prtrack, cdinfo) r.setcallback(CD.AUDIO, playaudio, port) data = r.play() except KeyboardInterrupt: status = r.getstatus() print 'Interrupted at '+triple(status[2])+' into track '+ \ `status[1]`+' (absolute time '+triple(status[3])+')' al.setparams(AL.DEFAULT_DEVICE, oldparams)
def main(): import sys, readcd, al, AL, CD, cdplayer verbose = 0 r = readcd.Readcd().init() prstatus(r.getstatus()) prtrackinfo(r.gettrackinfo()) cdinfo = cdplayer.Cdplayer().init(r.gettrackinfo()) if cdinfo.title <> '': print 'Title: "' + cdinfo.title + '"' if cdinfo.artist <> '': print 'Artist: ' + cdinfo.artist for arg in sys.argv[1:]: if arg == '-v': verbose = 1 continue x = eval(arg) try: l = len(x) r.appendstretch(x[0], x[1]) except TypeError: r.appendtrack(x) try: oldparams = [AL.OUTPUT_RATE, 0] params = oldparams[:] al.getparams(AL.DEFAULT_DEVICE, oldparams) params[1] = AL.RATE_44100 al.setparams(AL.DEFAULT_DEVICE, params) config = al.newconfig() config.setwidth(AL.SAMPLE_16) config.setchannels(AL.STEREO) port = al.openport('CD Player', 'w', config) for i in range(8): r.setcallback(i, callback, None) if verbose: r.setcallback(CD.PTIME, tcallback, None) r.setcallback(CD.ATIME, tcallback, None) else: r.removecallback(CD.PTIME) r.removecallback(CD.ATIME) r.setcallback(CD.PNUM, prtrack, cdinfo) r.setcallback(CD.AUDIO, playaudio, port) data = r.play() except KeyboardInterrupt: status = r.getstatus() print 'Interrupted at '+triple(status[2])+' into track '+ \ `status[1]`+' (absolute time '+triple(status[3])+')' al.setparams(AL.DEFAULT_DEVICE, oldparams)
def initaudio(filename, stop, start, done): import thread, aifc afile = aifc.open(filename, 'w') afile.setnchannels(AL.MONO) afile.setsampwidth(AL.SAMPLE_8) params = [AL.INPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, params) print 'audio sampling rate =', params[1] afile.setframerate(params[1]) c = al.newconfig() c.setchannels(AL.MONO) c.setqueuesize(AQSIZE) c.setwidth(AL.SAMPLE_8) aport = al.openport(filename, 'r', c) thread.start_new_thread(audiorecord, (afile, aport, stop, start, done))
def initaudio(filename, stop, done): import thread, aifc afile = aifc.open(filename, 'w') afile.setnchannels(AL.MONO) afile.setsampwidth(AL.SAMPLE_8) params = [AL.INPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, params) print 'audio sampling rate =', params[1] afile.setframerate(params[1]) c = al.newconfig() c.setchannels(AL.MONO) c.setqueuesize(AQSIZE) c.setwidth(AL.SAMPLE_8) aport = al.openport(filename, 'r', c) thread.start_new_thread(audiorecord, (afile, aport, stop, done))
def ioloop(s, otheraddr): # dev = AL.DEFAULT_DEVICE params = al.queryparams(dev) al.getparams(dev, params) time.sleep(1) saveparams = params[:] for i in range(0, len(params), 2): if params[i] in (AL.INPUT_RATE, AL.OUTPUT_RATE): params[i + 1] = AL.RATE_16000 elif params[i] == AL.INPUT_SOURCE: params[i + 1] = AL.INPUT_MIC try: al.setparams(dev, params) ioloop1(s, otheraddr) finally: al.setparams(dev, saveparams)
def ioloop(s, otheraddr): # dev = AL.DEFAULT_DEVICE params = al.queryparams(dev) al.getparams(dev, params) time.sleep(1) saveparams = params[:] for i in range(0, len(params), 2): if params[i] in (AL.INPUT_RATE, AL.OUTPUT_RATE): params[i+1] = AL.RATE_16000 elif params[i] == AL.INPUT_SOURCE: params[i+1] = AL.INPUT_MIC try: al.setparams(dev, params) ioloop1(s, otheraddr) finally: al.setparams(dev, saveparams)
def initaudio(filename): import thread, aiff global recording, stop_recording afile = aiff.Aiff().init(filename, 'w') afile.nchannels = AL.MONO afile.sampwidth = AL.SAMPLE_8 params = [AL.INPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, params) print 'rate =', params[1] afile.samprate = params[1] c = al.newconfig() c.setchannels(AL.MONO) c.setqueuesize(AQSIZE) c.setwidth(AL.SAMPLE_8) aport = al.openport(filename, 'r', c) recording = thread.allocate_lock() recording.acquire() stop_recording = 0 thread.start_new_thread(recorder, (afile, aport)) return afile
print 'frames :', ain.getnframes() print 'width :', ain.getsampwidth() print 'kbytes :', \ ain.getnframes() * ain.getnchannels() * ain.getsampwidth() print 'Opening audio output port..' c = al.newconfig() c.setchannels(ain.getnchannels()) c.setwidth(ain.getsampwidth()) nullsample = '\0' * ain.getsampwidth() samples_per_second = ain.getnchannels() * ain.getframerate() if qsize <= 0: qsize = samples_per_second / 10 qsize = max(qsize, 512) c.setqueuesize(qsize) saveparams = [AL.OUTPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, saveparams) newparams = [AL.OUTPUT_RATE, ain.getframerate()] al.setparams(AL.DEFAULT_DEVICE, newparams) aport = al.openport(audiofile, 'w', c) print 'Opening video output window..' gl.foreground() gl.prefsize(vin.width, vin.height) wid = gl.winopen(videofile + ' + ' + audiofile) gl.clear() vin.initcolormap() print 'Playing..' gl.qdevice(DEVICE.ESCKEY) gl.qdevice(DEVICE.LEFTARROWKEY) gl.qdevice(DEVICE.RIGHTARROWKEY)
# Receive UDP packets from sendcd.py and play them on the speaker or
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
#! /usr/bin/env python
#! /usr/bin/env python
import time import al, AL import string dev = AL.DEFAULT_DEVICE source_name = ['line', 'microphone', 'digital'] params = al.queryparams(dev) for i in range(1, len(params), 2): params[i] = -1 while 1: time.sleep(0.1) old = params[:] al.getparams(dev, params) if params <> old: for i in range(0, len(params), 2): if params[i+1] <> old[i+1]: name = al.getname(dev, params[i]) if params[i] == AL.INPUT_SOURCE: if 0 <= old[i+1] < len(source_name): oldval = source_name[old[i+1]] else: oldval = '' newval = source_name[params[i+1]] else: oldval = `old[i+1]` newval = `params[i+1]` print string.ljust(name, 25), print '(' + string.rjust(oldval, 10) + ')', print '-->', print string.rjust(newval, 10) print
import time import al, AL import string dev = AL.DEFAULT_DEVICE source_name = ['line', 'microphone', 'digital'] params = al.queryparams(dev) for i in range(1, len(params), 2): params[i] = -1 while 1: time.millisleep(100) old = params[:] al.getparams(dev, params) if params <> old: for i in range(0, len(params), 2): if params[i+1] <> old[i+1]: name = al.getname(dev, params[i]) if params[i] == AL.INPUT_SOURCE: if 0 <= old[i+1] < len(source_name): oldval = source_name[old[i+1]] else: oldval = '' newval = source_name[params[i+1]] else: oldval = `old[i+1]` newval = `params[i+1]` print string.ljust(name, 25), print '(' + string.rjust(oldval, 10) + ')', print '-->',
# intercom -- use mike and headset to *talk* to a person on another host.
#! /usr/bin/env python # Play synchronous video and audio. # Highly experimental! import sys import getopt import string import os import VFile import aifc import gl, GL, DEVICE import al, AL def usage(): sys.stderr.write( \ 'usage: aplay [-o offset] [-q qsize] videofile audiofile\n') sys.exit(2) def main(): offset = 0 qsize = 0 # This defaults to 1/10 second of sound videofile = 'film.video' audiofile = 'film.aiff' try: opts, args = getopt.getopt(sys.argv[1:], 'o:q:') except getopt.error, msg: sys.stderr.write(msg + '\n') usage() try: for o, a in opts: if o == '-o': offset = string.atoi(a)
# Play CD audio on speaker or headphones.
#! /usr/bin/env python
print 'frames :', ain.getnframes() print 'width :', ain.getsampwidth() print 'kbytes :', \ ain.getnframes() * ain.getnchannels() * ain.getsampwidth() print 'Opening audio output port..' c = al.newconfig() c.setchannels(ain.getnchannels()) c.setwidth(ain.getsampwidth()) nullsample = '\0' * ain.getsampwidth() samples_per_second = ain.getnchannels() * ain.getframerate() if qsize <= 0: qsize = samples_per_second / 10 qsize = max(qsize, 512) c.setqueuesize(qsize) saveparams = [AL.OUTPUT_RATE, 0] al.getparams(AL.DEFAULT_DEVICE, saveparams) newparams = [AL.OUTPUT_RATE, ain.getframerate()] al.setparams(AL.DEFAULT_DEVICE, newparams) aport = al.openport(audiofile, 'w', c) print 'Opening video output window..' gl.foreground() gl.prefsize(vin.width, vin.height) wid = gl.winopen(videofile + ' + ' + audiofile) gl.clear() vin.initcolormap() print 'Playing..' gl.qdevice(DEVICE.ESCKEY) gl.qdevice(DEVICE.LEFTARROWKEY) gl.qdevice(DEVICE.RIGHTARROWKEY)
#! /usr/bin/env python
#! /usr/bin/env python