11parser = argparse.ArgumentParser(description=
'speech transcription example')
12parser.add_argument(
'--model', default=
'vosk-model-small-es-0.42', type=str, help=
'language model directory')
13parser.add_argument(
'--useGPU', action=
'store_true', help=
'use GPU if available')
14parser.add_argument(
'--port', default=
'/voskTranscriptionExample/sound:i', type=str, help=
'port name for sound input')
16args = parser.parse_args()
20if not yarp.Network.checkNetwork():
21 print(
'[error] Please try running yarp server')
24options = yarp.Property()
25options.put(
'device',
'VoskTranscription')
26options.put(
'model', args.model)
29 options.put(
'useGPU',
True)
31dd = yarp.PolyDriver(options)
34 print(
'[error] Device not available')
37asr = dd.viewISpeechTranscription()
39if not asr.setLanguage(
'vosk-model-small-es-0.42'):
40 print(
'[error] Failed to set language')
46 self.s = yarp.SVector(1)
47 self.d = yarp.DVector(1)
49 def onRead(self, sound, reader):
50 if asr.transcribe(sound, self.s, self.d)
and self.s[0]:
51 print(
'Transcription:', self.s[0])
53p = yarp.BufferedPortSound()
57if not p.open(args.port):
58 print(
'[error] Failed to open port')
61input(
'Press ENTER to quit\n')
62print(
'Stopping the program...')