Пример #1
0
	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, ())
Пример #2
0
	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)
Пример #3
0
	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, ())
Пример #4
0
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)
Пример #5
0
 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)
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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))
Пример #11
0
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))
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
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
Пример #15
0
	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)
Пример #16
0
# Receive UDP packets from sendcd.py and play them on the speaker or
Пример #17
0
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
Пример #18
0
"""Classes for manipulating audio devices (currently only for Sun and SGI)"""
Пример #19
0
#! /usr/bin/env python
Пример #20
0
#! /usr/bin/env python
Пример #21
0
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
Пример #22
0
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 '-->',
Пример #23
0
# intercom -- use mike and headset to *talk* to a person on another host.
Пример #24
0
#! /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)
Пример #25
0
# Play CD audio on speaker or headphones.
Пример #26
0
#! /usr/bin/env python
Пример #27
0
    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)
Пример #28
0
#! /usr/bin/env python
Пример #29
0
#! /usr/bin/env python