-1

Is it possible to integrate external TTS engine with Pepper Robot? I want to integrate Third party Speech engine with pepper robot. Please guide me on the same.

androider
  • 105
  • 1
  • 9
  • As a comment, the standard tts enables some control tag to tweak the standard voice. Playing on the pitch will change the way voice sounds and can then sounds like a female one. two command exists: try with tts.say("\\vct=150\\Hello my friends") or to change it globally: tts.setParameter("pitchShift", 1.5) – Alexandre Mazel Jul 04 '20 at 20:18
  • Thanks for your reply. Do you know the API for setting tts.setParameter("pitchShift", 1.5) in Android QiSDK? – androider Jul 12 '20 at 18:31

1 Answers1

1

You can integrate an external TTS engine with Pepper. Either offboard (like the services offered by IBM, MS Azure or Google) or onboard (ideal would be something in Java or Kotlin for Android Pepper, but anything is possible). If you have a specific technology in mind, please provide more details and we can give you a more precise answer.

Bear in mind that this may introduce latency in speech synthesising compared to the default text to speech engine.

Edit - sorry, I missed your Android tag. The below mentioned APIs only work on Pepper 2.5 (Choregraphe Pepper)

Alternatively, there are a number of different voices available on Pepper, perhaps one will suit your needs. Use the naoqi API function ALTextToSpeech.getAvailableVoices to list the different voice options, then ALTextToSpeech.setVoice to set the voice to one of those options.

Dominic D
  • 1,778
  • 2
  • 5
  • 12
  • Thanks for your comment. I am using Pepper 2.9 in android version. i have planned to integrate ReadSpeaker TTS (https://www.readspeaker.com/solutions/text-to-speech-software/readspeaker-speechengine-sdk/). Is it possible to integrate with Pepper robot (Android). the above mentioned API's are related to Python. I would be happy if you provide valid guidelines to achieve the same. Thanks in advance – androider Jun 21 '20 at 17:59
  • Apologies, I missed the Android tag. I think you want the embedded version [here](https://www.readspeaker.com/solutions/text-to-speech-software/readspeaker-speechengine-sdk-embedded/) which says it supports Android OS (you'd want it in Java or Kotlin ideally to use directly in Android studio for Pepper). I'm not able to access the API details, so if you encounter a specific issue with implementing the API it'd be best to make a new question with code samples showing your problem so more people can help. – Dominic D Jun 21 '20 at 21:15
  • Thanks for your update. I need to integrate the voice over pepper, not for the application. – androider Jun 22 '20 at 04:37
  • But I imagine you wish to control what Pepper is saying with the Android application? Like how you would normally use the Qichat `say` function to make Pepper say something. There are two options: run the TTS engine in the Android app, to produce sound data you will send to Pepper's speakers (via the computer in Pepper's head); or send the text to a TTS engine running in Python on Pepper's head, which then controls the speakers. Unfortunately, neither method would be supported by the official APIs, so you'd need to implement a workaround. – Dominic D Jun 22 '20 at 07:50