Revision 836f314c
client/python/hlrc_client/Middleware.py | ||
---|---|---|
27 | 27 |
|
28 | 28 |
import sys |
29 | 29 |
import logging |
30 |
from RobotEmotion import * |
|
31 |
from RobotGaze import * |
|
32 |
from RobotMouth import * |
|
33 |
from RobotAnimation import * |
|
30 |
from .RobotEmotion import *
|
|
31 |
from .RobotGaze import *
|
|
32 |
from .RobotMouth import *
|
|
33 |
from .RobotAnimation import *
|
|
34 | 34 |
|
35 | 35 |
class Middleware: |
36 | 36 |
####################################################################### |
client/python/hlrc_client/MiddlewareROS.py | ||
---|---|---|
25 | 25 |
Excellence Initiative. |
26 | 26 |
""" |
27 | 27 |
|
28 |
from Middleware import * |
|
28 |
from .Middleware import *
|
|
29 | 29 |
|
30 | 30 |
import rospy |
31 | 31 |
import actionlib |
client/python/hlrc_client/MiddlewareRSB.py | ||
---|---|---|
25 | 25 |
Excellence Initiative. |
26 | 26 |
""" |
27 | 27 |
|
28 |
from Middleware import * |
|
28 |
from .Middleware import *
|
|
29 | 29 |
import errno |
30 | 30 |
|
31 | 31 |
import rsb |
... | ... | |
201 | 201 |
|
202 | 202 |
self.logger.debug("speech rpc done") |
203 | 203 |
""" |
204 |
print "WARNING: Not IMPLEMENTED."
|
|
204 |
print("WARNING: Not IMPLEMENTED.")
|
|
205 | 205 |
|
206 | 206 |
|
207 | 207 |
####################################################################### |
client/python/hlrc_client/RobotController.py | ||
---|---|---|
51 | 51 |
if (self.mw.upper() == "RSB"): |
52 | 52 |
self.logger.info("creating new middleware connection via RSB") |
53 | 53 |
try: |
54 |
from MiddlewareRSB import MiddlewareRSB |
|
55 |
except ImportError, e:
|
|
54 |
from .MiddlewareRSB import MiddlewareRSB
|
|
55 |
except ImportError as e:
|
|
56 | 56 |
self.logger.error("failed to import RSB or the necessary data types: {}".format(e)) |
57 | 57 |
sys.exit(errno.EINVAL) |
58 | 58 |
|
... | ... | |
62 | 62 |
elif (self.mw.upper() == "ROS"): |
63 | 63 |
self.logger.info("creating new middleware connection via ROS") |
64 | 64 |
try: |
65 |
from MiddlewareROS import MiddlewareROS |
|
66 |
except ImportError, e:
|
|
65 |
from .MiddlewareROS import MiddlewareROS
|
|
66 |
except ImportError as e:
|
|
67 | 67 |
self.logger.error("failed to import ROS or the necessary data types: {}".format(e)) |
68 | 68 |
sys.exit(errno.EINVAL) |
69 | 69 |
|
client/python/hlrc_client/RobotEmotion.py | ||
---|---|---|
39 | 39 |
# mappings from values to strings and vice versa |
40 | 40 |
__value_as_str = dict(zip([NEUTRAL, HAPPY, SAD, ANGRY, SURPRISED, FEAR], |
41 | 41 |
['neutral', 'happy', 'sad', 'angry', 'surprised', 'fear'])) |
42 |
__str_as_value = dict([(s,v) for v,s in __value_as_str.iteritems()])
|
|
42 |
__str_as_value = dict([(s,v) for v,s in __value_as_str.items()]) |
|
43 | 43 |
|
44 | 44 |
def __init__(self, emotion = NEUTRAL, duration = 1.): |
45 | 45 |
""" constructor |
client/python/hlrc_client/RobotGaze.py | ||
---|---|---|
24 | 24 |
Forschungsgemeinschaft (DFG) in the context of the German |
25 | 25 |
Excellence Initiative. |
26 | 26 |
""" |
27 |
from RobotTimestamp import * |
|
27 |
from .RobotTimestamp import *
|
|
28 | 28 |
|
29 | 29 |
class RobotGaze: |
30 | 30 |
GAZETARGET_ABSOLUTE = 0 |
client/python/hlrc_client/__init__.py | ||
---|---|---|
1 |
from Middleware import Middleware |
|
2 |
from RobotEmotion import RobotEmotion |
|
3 |
from RobotController import RobotController |
|
4 |
from RobotGaze import RobotGaze |
|
5 |
from RobotAnimation import RobotAnimation |
|
6 |
from RobotMouth import RobotMouth |
|
7 |
from RobotTimestamp import RobotTimestamp |
|
1 |
from .Middleware import Middleware |
|
2 |
from .RobotEmotion import RobotEmotion |
|
3 |
from .RobotController import RobotController |
|
4 |
from .RobotGaze import RobotGaze |
|
5 |
from .RobotAnimation import RobotAnimation |
|
6 |
from .RobotMouth import RobotMouth |
|
7 |
from .RobotTimestamp import RobotTimestamp |
client/python/hlrc_client/hlrc_test_gui.py | ||
---|---|---|
182 | 182 |
self.robot_controller.set_speak("Hello my name is flobi. How can i help you?", False) |
183 | 183 |
else: |
184 | 184 |
self.robot_controller.set_speak("invalid button name", False) |
185 |
print "invalid button '%s'" % (button)
|
|
185 |
print("invalid button '%s'" % (button))
|
|
186 | 186 |
|
187 | 187 |
def emotion_button_clicked(self): |
188 | 188 |
button = self.sender().text() |
... | ... | |
203 | 203 |
elif (button == "fear"): |
204 | 204 |
re.value = RobotEmotion.FEAR |
205 | 205 |
else: |
206 |
print "invalid emotion id '%s'" % (button)
|
|
206 |
print("invalid emotion id '%s'" % (button))
|
|
207 | 207 |
return |
208 | 208 |
|
209 | 209 |
self.robot_controller.set_current_emotion(re, False) |
... | ... | |
231 | 231 |
elif (button == "eyebrows lower"): |
232 | 232 |
ra.value = RobotAnimation.EYEBROWS_LOWER |
233 | 233 |
else: |
234 |
print "invalid button '%s'" % (button)
|
|
234 |
print("invalid button '%s'" % (button))
|
|
235 | 235 |
return |
236 | 236 |
|
237 | 237 |
self.robot_controller.set_head_animation(ra, False) |
tts_bridge/mary/mary_tts_bridge/MaryTTSBridge.py | ||
---|---|---|
36 | 36 |
import wave |
37 | 37 |
import os |
38 | 38 |
import pkgutil |
39 |
from MaryTTSClient import * |
|
40 |
from cStringIO import StringIO |
|
39 |
from .MaryTTSClient import * |
|
40 |
try: |
|
41 |
from io import StringIO |
|
42 |
except ImportError: |
|
43 |
from cStringIO import StringIO |
|
41 | 44 |
|
42 | 45 |
class MaryTTSBridge(object): |
43 | 46 |
#_feedback = ttsActionFeedback() |
... | ... | |
110 | 113 |
|
111 | 114 |
return s |
112 | 115 |
|
113 |
def create_phonemes(self, phoneme_str):
|
|
116 |
def create_phonemes(self, phoneme_bytes):
|
|
114 | 117 |
last = 0.0 |
115 | 118 |
plist = [] |
116 | 119 |
|
117 |
sio = StringIO(phoneme_str)
|
|
120 |
sio = StringIO(phoneme_bytes.decode('ascii'))
|
|
118 | 121 |
for line in sio: |
119 | 122 |
if (line[0] != '#'): |
120 | 123 |
phoneme_list = line.split(" ") |
tts_bridge/mary/mary_tts_bridge/MaryTTSClient.py | ||
---|---|---|
36 | 36 |
|
37 | 37 |
#from MiddlewareROS import * |
38 | 38 |
import sys |
39 |
import httplib, urllib |
|
40 |
import StringIO |
|
39 |
try: |
|
40 |
from http.client import HTTPConnection |
|
41 |
from urllib.parse import urlencode |
|
42 |
except ImportError: # Python 2 |
|
43 |
from httplib import HTTPConnection |
|
44 |
from urllib import urlencode |
|
41 | 45 |
import wave |
42 | 46 |
import ctypes |
43 | 47 |
import wave |
... | ... | |
102 | 106 |
"VOICE": self.voice, |
103 | 107 |
} |
104 | 108 |
|
105 |
params = urllib.urlencode(raw_params)
|
|
109 |
params = urlencode(raw_params) |
|
106 | 110 |
headers = {} |
107 | 111 |
|
108 | 112 |
#conn.set_debuglevel(5) |
109 | 113 |
#open connection to mary server |
110 |
conn = httplib.HTTPConnection(self.tts_host, self.tts_port)
|
|
114 |
conn = HTTPConnection(self.tts_host, self.tts_port) |
|
111 | 115 |
|
112 | 116 |
conn.request("POST", "/process", params, headers) |
113 | 117 |
response = conn.getresponse() |
114 | 118 |
|
115 | 119 |
if response.status != 200: |
116 |
print response.getheaders()
|
|
120 |
print(response.getheaders())
|
|
117 | 121 |
conn.close() |
118 | 122 |
raise RuntimeError("{0}: {1}".format(response.status,response.reason)) |
119 | 123 |
return response.read() |
tts_bridge/mary/mary_tts_bridge/__init__.py | ||
---|---|---|
1 |
from MaryTTSBridge import MaryTTSBridge |
|
1 |
from .MaryTTSBridge import MaryTTSBridge |
Also available in: Unified diff