TravelMonkey
TravelMonkey copied to clipboard
Add Speech-to-Speech Translation With Translation Text Display
What does this PR do?
- Adds Speech-to-Speech Translation and displays translation text in a 'chat-like' ListView
Description of Task(s) to be completed?
- Given two users communicating in different languages, one user should be able to speak in their native language and the other user should be able to hear the translation in a language they can comprehend.
- A user should be able to hear the translation in audio format.
- A user should be able to be displayed with both the original text and the translated text.
How should this be manually tested?
- [x] Clone this repository on local machine and CD into project folder
$ git clone https://github.com/jfversluis/TravelMonkey.git
$ cd TravelMonkey
- [x] Check out to the PR's branch
$ git checkout feature/speech-to-speech-translation
-
[x] Pull the branch
-
[x] Install app dependencies by restoring Nuget Packages
-
[x] Add your Azure Region and SpeechAPIKey in APIKeys class
-
[x] Rebuild and Deploy Solution
Screenshot
- You obviously won't hear the audio 🙃
Thoughts On Azure Microsoft.CognitiveServices.Speech and Xamarin.Forms
- I struggled using Stream... I could not get a good example or workaround for using Stream with Microsoft.CognitiveServices.Speech.
- The SDK has not been optimized for Xamarin and hence can be painfully slow.
- This service is pretty cool though 🙃
- Aand... Xamarin rocks!!! 😎
What went Well
- I was able to successfully implement speech-to-speech translation
What did not go so well
- I struggled using stream when sending speech, ended up using .wav files which can be quite slow 😪.
- My UI... It's not the best out there 😅