Skip to content

Commit 36b71c3

Browse files
authored
Add STT service
1 parent cc14c44 commit 36b71c3

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

STT_srv.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import os
2+
3+
from roboy_cognition_msgs.msg import RecognizedSpeech
4+
from roboy_cognition_msgs.srv import RecognizeSpeech
5+
6+
from asr_interface import IAsr
7+
import rclpy
8+
from rclpy.node import Node
9+
10+
11+
class SonoscoROS2(Node):
12+
def __init__(self):
13+
super().__init__('stt')
14+
self.publisher = self.create_publisher(RecognizedSpeech, '/roboy/cognition/speech/recognition')
15+
self.srv = self.create_service(RecognizeSpeech, '/roboy/cognition/speech/recognition/recognize', self.asr_callback)
16+
print("Ready to /roboy/cognition/speech/recognition/recognize")
17+
print(f"Roboy Sonosco running with PID: {os.getpid()}")
18+
self.i=IAsr()
19+
print(f"Status: Speech recognition is ready now!")
20+
print("Roboy Sonosco is ready!")
21+
22+
def asr_callback(self, request, response):
23+
response.success = True
24+
self.get_logger().info('Incoming Audio')
25+
msg = RecognizedSpeech()
26+
self.i.inference_audio(request)
27+
self.publisher.publish(msg)
28+
return response
29+
30+
31+
def main(args=None):
32+
rclpy.init(args=args)
33+
34+
stt = SonoscoROS2()
35+
36+
while rclpy.ok():
37+
rclpy.spin_once(stt)
38+
39+
rclpy.shutdown()
40+
41+
42+
if __name__ == '__main__':
43+
main()

0 commit comments

Comments
 (0)