def run(self): while self.running: delay=max([c.qsize() for c in self.chans]) if delay>self.streamInfo['CHUNK']*2: chunk=[c.read(min(self.streamInfo['CHUNK']),c.qsize()) for c in self.chans] for i in range(len(chunk)): if len(chunk[i])<self.streamInfo['CHUNK']: chunk[i]+='\0'*(self.streamInfo['CHUNK']-len(chunk[i])) data=AudioUtils.interleave(chunk,self.streamInfo['CHANNELS']) self.stream.write(data)
def proc(s,t): data=AudioUtils.deinterleave(s,2) shorts=[AudioUtils.toShorts(k) for k in data] shorts[0]=list(shorts[0]) shorts[1]=list(shorts[1]) for i in range(len(shorts[0])): shorts[0][i]=math.sin(t/(math.pi*10000))*shorts[0][i] shorts[1][i]=math.cos(t/(math.pi*10000))*shorts[1][i] strings=[AudioUtils.toBytes(k) for k in shorts] return AudioUtils.interleave(strings,2)