import threading
import Queue
import time
from array import array
from sys import byteorder
import pyaudio
class Audio(threading.Thread):
base_data = {
'chunk' : 0.0,
'format' : 0.0,
'channels' : 0.0,
'rate' : 0.0,
'length' : 0.0,
}
p = None
stream = None
THRESHOLD = 500 # set the constant
def __init__(self, q):
threading.Thread.__init__(self)
self.p = pyaudio.PyAudio()
def run(self):
self.stream = self.p.open(format= pyaudio.paInt16,
channels= 2,
rate=44100,
input=True,
frames_per_buffer=1024)
while True:
for i in range(0, int(44100 / 1024 * 10)):
print "I'm working"
time.sleep(10)
def process(self, q):
# this should come in after every 10 seconds
print "I am processing"
time.sleep(10)
if __name__ == '__main__':
shared_queue = Queue.Queue()
worker = Audio(shared_queue)
worker.start()
worker.process(shared_queue)
aW1wb3J0IHRocmVhZGluZyAKaW1wb3J0IFF1ZXVlIAppbXBvcnQgdGltZQpmcm9tIGFycmF5IGltcG9ydCBhcnJheQpmcm9tIHN5cyBpbXBvcnQgYnl0ZW9yZGVyCmltcG9ydCBweWF1ZGlvCgpjbGFzcyBBdWRpbyh0aHJlYWRpbmcuVGhyZWFkKToKCgliYXNlX2RhdGEgPSB7CgoJCSdjaHVuaycgCTogMC4wLAoJCSdmb3JtYXQnIAk6IDAuMCwKCQknY2hhbm5lbHMnCTogMC4wLAoJCSdyYXRlJwkJOiAwLjAsCgkJJ2xlbmd0aCcJOiAwLjAsCgl9CgoJcCA9IE5vbmUgCglzdHJlYW0gPSBOb25lIAoJVEhSRVNIT0xEID0gNTAwICMgc2V0IHRoZSBjb25zdGFudAoKCWRlZiBfX2luaXRfXyhzZWxmLCBxKToKCgkJdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQoJCXNlbGYucCA9IHB5YXVkaW8uUHlBdWRpbygpCgoJZGVmIHJ1bihzZWxmKToKCgkJc2VsZi5zdHJlYW0gPSBzZWxmLnAub3Blbihmb3JtYXQ9IHB5YXVkaW8ucGFJbnQxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscz0gMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhdGU9NDQxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dD1UcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVzX3Blcl9idWZmZXI9MTAyNCkKCgkJd2hpbGUgVHJ1ZToKCgkJCSAgZm9yIGkgaW4gcmFuZ2UoMCwgaW50KDQ0MTAwIC8gMTAyNCAqIDEwKSk6CgoJCQkgIAlwcmludCAiSSdtIHdvcmtpbmciCgoJCQkgIHRpbWUuc2xlZXAoMTApCgoJZGVmIHByb2Nlc3Moc2VsZiwgcSk6CgkJIyB0aGlzIHNob3VsZCBjb21lIGluIGFmdGVyIGV2ZXJ5IDEwIHNlY29uZHMgCgkJcHJpbnQgIkkgYW0gcHJvY2Vzc2luZyIKCgkJdGltZS5zbGVlcCgxMCkKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgIHNoYXJlZF9xdWV1ZSA9IFF1ZXVlLlF1ZXVlKCkKICAgd29ya2VyID0gQXVkaW8oc2hhcmVkX3F1ZXVlKQogICB3b3JrZXIuc3RhcnQoKQogICB3b3JrZXIucHJvY2VzcyhzaGFyZWRfcXVldWUpCg==