示例#1
0
def callbackSpeak(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    if not message.payload:
        msg = "Nothing to say, sorry"
    else:
        msg = message.payload
    PollyApi.speak(polly, msg)
示例#2
0
def callbackSee(client, userdata, message):
	print "Topic="+message.topic
	image = camera.takePicture()
	awsUtils.copyLocalFileToS3(image)
	print "Picture uploaded"
	labels = RekognitionApi.detectLabels(reko, image)
	RekognitionUtils.printLabelsInformation(labels)
	faces = RekognitionApi.detectFaces(reko, image)
	newImage, faceCounter = RekognitionUtils.generateOutputImage(image, faces)
	faceMessage, labelMessage = RekognitionUtils.generateMessages(faceCounter, labels)
	print "Face message: " + faceMessage
	print "Label message: " + labelMessage
	PollyApi.speak(polly, faceMessage)
    	PollyApi.speak(polly, labelMessage)
	if message.payload == "tweet":
		tweet.tweet(newImage, faceMessage)
		print "Tweet sent"
示例#3
0
文件: server.py 项目: ip-2014/aws-7
def callbackSee(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    cmd = message.payload
    if cmd == "see":
        polly, cam = camera.init()
        message = camera.see(polly, cam)
        distMsg = scan()
        message = message + distMsg
        PollyApi.speak(polly, message)
    elif cmd == "tweet":
        polly, cam = camera.init()
        message = camera.see(polly, cam)
        distMsg = scan()
        message = message + distMsg
        PollyApi.speak(polly, message)
        camera.tweet(message)
    else:
        print "Wrong Command, Please Enter Again"
示例#4
0
def callbackScan(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    cmd = message.payload
    if cmd == "scan":
        dist = (str)(us_dist(15))
        message = "There is something " + dist + " centimeters away"
        PollyApi.speak(polly, message)
    elif cmd == "left":
        angle = angle + 30
        if (angle > 180):
            angle = 180
        servo(angle)
    elif cmd == "right":
        angle = angle - 30
        if (angle < 0):
            angle = 0
        servo(angle)
    elif cmd == "reset":
        servo(90)
    else:
        print "Wrong Command, Please Enter Again"
示例#5
0
def callbackSee(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    image = camera.takePicture()
    if message.payload.startswith("mxnet"):
        # Detect image with MXNet
        mxnetimage = inception.load_image(image)
        prob = inception.predict(mxnetimage, model)
        topN = inception.get_top_categories(prob, synsets)
        print topN
        speech = inception.get_top1_message(topN)
        print speech
        PollyApi.speak(polly, speech)
        if message.payload.endswith("tweet"):
            tweet.tweet(image, speech)
            print "Tweet sent"
    elif message.payload.startswith("reko"):
        # Detect image with Rekognition
        awsUtils.copyLocalFileToS3(image)
        print "Picture uploaded"
        labels = RekognitionApi.detectLabels(reko, image)
        RekognitionUtils.printLabelsInformation(labels)
        faces = RekognitionApi.detectFaces(reko, image)
        celebs = RekognitionApi.detectCelebrities(reko, image)
        newImage, faceCounter = RekognitionUtils.generateOutputImage(
            image, faces)
        faceMessage, labelMessage = RekognitionUtils.generateMessages(
            faceCounter, celebs, labels)
        print "Face message: " + faceMessage
        #print "Label message: " + labelMessage
        PollyApi.speak(polly, faceMessage)
        #PollyApi.speak(polly, labelMessage)
        if message.payload.endswith("tweet"):
            tweet.tweet(newImage, faceMessage)
            print "Tweet sent"
    else:
        print "Wrong Command, Please Enter Again"
示例#6
0
文件: server.py 项目: ip-2014/aws-7
def callbackScan(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    cmd = message.payload
    if cmd == "scan":
        message = scan()
        global polly
        PollyApi.speak(polly, message)
    elif cmd == "left":
        global angle
        angle = angle + 30
        if (angle > 180):
            angle = 180
        servo(angle)
    elif cmd == "right":
        global angle
        angle = angle - 30
        if (angle < 0):
            angle = 0
        servo(angle)
    elif cmd == "reset":
        servo(90)
    else:
        print "Wrong Command, Please Enter Again"
示例#7
0
def callbackRead(client, userdata, message):
    print "Topic=" + message.topic
    print "Message=" + message.payload
    image = camera.takePicture()
    awsUtils.copyLocalFileToS3(image)
    print "Picture uploaded"
    text = RekognitionApi.detectText(reko, image)
    print text

    if message.payload.startswith("read"):
        PollyApi.speak(polly, text)
    elif message.payload.startswith("translate"):
        src_language_code = ComprehendApi.detectLanguage(comprehend, text)
        dest_language = message.payload.split(' ')[1]
        dest_language_code = language_info[dest_language]['code']
        voice = language_info[dest_language]['voice']
        print src_language_code, dest_language_code, voice
        if src_language_code == 'en' or dest_language_code == 'en':
            text = TranslateApi.translateText(translate, text,
                                              src_language_code,
                                              dest_language_code)
        else:
            text = TranslateApi.translateText(translate, text,
                                              src_language_code, 'en')
            text = TranslateApi.translateText(translate, text, 'en',
                                              dest_language_code)
        print text
        PollyApi.speak(polly, text, voice=voice)
    elif message.payload.startswith("language"):
        language_code = ComprehendApi.detectLanguage(comprehend, text)
        language = language_name[language_code]
        print language_code, language
        text = "I believe this is " + language
        PollyApi.speak(polly, text)
    else:
        print "Wrong Command, Please Enter Again"
        return

    if message.payload.endswith("tweet"):
        tweet.tweet(image, text)
        print "Tweet sent"
示例#8
0
import RekognitionTextApi as re
import ComprehendApi as co
import TranslateApi as tr
import PollyApi as po

rekognition = re.connect()
comprehend = co.connect()
translate = tr.connect()
polly = po.connect()

text = re.detectText(rekognition, 'jsimon-public-us', 'billboard.jpg')
print(text)

language = co.detectLanguage(comprehend, text)
print(language)

po.speak(polly, text, voice='Brian')

translated_text = tr.translateText(translate, text, language, 'es')
print translated_text
po.speak(polly, translated_text, voice='Enrique')

translated_text = tr.translateText(translate, text, language, 'pt')
print translated_text
po.speak(polly, translated_text, voice='Cristiano')

translated_text = tr.translateText(translate, text, language, 'fr')
print translated_text
po.speak(polly, translated_text, voice='Mathieu')

translated_text = tr.translateText(translate, text, language, 'de')
示例#9
0
import PollyApi, SqsApi
import time


def callbackSpeak(client, userdata, message):
    print("Topic=" + message.topic)
    print("Message=" + message.payload)
    if not message.payload:
        msg = "Nothing to say, sorry"
    else:
        msg = message.payload
    global polly
    PollyApi.speak(polly, msg)


if __name__ == '__main__':
    polly = PollyApi.connectToPolly()
    sqs = SqsApi.connectToSqs('XPeppers-Workshop-Raspberry-SQS-v0')

    while True:
        message_bodies, messages_to_delete = SqsApi.getMessages(sqs)
        for body in message_bodies:
            PollyApi.speak(polly, text=body)
        SqsApi.deleteMessages(sqs, messages_to_delete)
示例#10
0
        print "Wrong Command, Please Enter Again"


global angle, polly, reko, model, synsets

# Reset servo to center position
enable_servo()
angle = 90
servo(angle)

# Connect to IoT Gateway and subscribe to topics
client = iot_connect.connectIot()
client.subscribe(topicMove, 1, callbackMove)
client.subscribe(topicScan, 1, callbackScan)
client.subscribe(topicSpeak, 1, callbackSpeak)
client.subscribe(topicSee, 1, callbackSee)

polly = PollyApi.connectToPolly()
reko = RekognitionApi.connectToRekognition()
model, synsets = inception.load_inception_model()

while True:
    time.sleep(10)

client.unsubscribe(topicMove)
client.unsubscribe(topicScan)
client.unsubscribe(topicSpeak)
client.unsubscribe(topicSee)
iot_connect.disconnectIot(client)
disable_servo()
示例#11
0
文件: camera.py 项目: ip-2014/aws-7
def init():
	polly = PollyApi.connectToPolly()
	camera = picamera.PiCamera()
	camera.resolution=(640,480)
	return polly,camera
示例#12
0
import RekognitionTextApi as re
import ComprehendApi as co
import TranslateApi as tr
import PollyApi as po

rekognition = re.connect()
comprehend  = co.connect()
translate   = tr.connect()
polly       = po.connect()

text = re.detectText(rekognition, 'jsimon-public-us', 'billboard.jpg')
print("Detected text: " + text)

language = co.detectLanguage(comprehend, text)
print("Detected language: " + language)

po.speak(polly, text, voice='Brian')

translated_text = tr.translateText(translate, text, language, 'es')
print("Spanish: " +  translated_text)
po.speak(polly, translated_text, voice='Enrique')

translated_text = tr.translateText(translate, text, language, 'fr')
print("French: " + translated_text)
po.speak(polly, translated_text, voice='Mathieu')

translated_text = tr.translateText(translate, text, language, 'de')
print("German: " +  translated_text)
po.speak(polly, translated_text, voice='Hans')

translated_text = tr.translateText(translate, text, language, 'ru')
示例#13
0

if (len(sys.argv) != 4):
    usage()
    sys.exit()

imageBucket = str(sys.argv[1])
image = str(sys.argv[2])

if (str(sys.argv[3]) == 'copy'):
    awsUtils.copyLocalFileToS3(image, imageBucket)

imageInfo = utils.openLocalImage(image)

reko = api.connectToRekognitionService()
polly = PollyApi.connectToPolly()

labels = api.detectLabels(reko,
                          imageBucket,
                          image,
                          maxLabels=10,
                          minConfidence=70.0)
utils.printLabelsInformation(labels)

faceList = api.detectFaces(reko, imageBucket, image)
faceCounter = 0
for face in faceList:
    utils.printFaceInformation(face, faceCounter)
    utils.drawLinesAroundFace(imageInfo, face)
    utils.drawLegendForFace(imageInfo, face, faceCounter)
    faceCounter = faceCounter + 1
示例#14
0
characters = ["BEVERLY", "WESLEY", "DATA", "GEORDI", "PICARD", "RIKER"]
prefix_speaker = True

actors = {}
actors["BEVERLY"] = "Justin"
actors["WESLEY"] = "Mathieu"
actors["DATA"] = "Hans"
actors["GEORDI"] = "Russell"
actors["GEORDI/MARKHAM"] = "Justin"
actors["PICARD"] = "Kendra"
actors["RIKER"] = "Brian"
actors["RIKER'S VOICE"] = "Brian"

out = speaker = ""

polly = PollyApi.connectToPolly()

for line in input():
    # parse all lines beginning with at least one tab
    result = match(r"^(\t+)(\S.*?)\s*$", line)
    if not result:
        continue
    tabs = len(result.group(1))
    text = result.group(2)
    if tabs == 5:
        # dialogue header
        if speaker != text:
            # speaker changed, print what we've got and start over
            if len(out) > 0:
                if prefix_speaker:
                    voice = actors[speaker]