Extracting text from a picture/foto, detecting the language of the text and have SpeechService to pronounce the original text plus translations. #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I thought what I wanted in a travel app would be that I could walk around in a foreign country and I could point my smartphone at any kind of writings or signs and have the app do the translation for me.
What I did was basically making a copy of the AddPicture page and extended the existing ComputerVisionService with the functionality of extracting text out of pictures/fotos.
![Screenshot_20200425-124940](https://user-images.githubusercontent.com/1477664/80281596-99540880-870c-11ea-8d5a-194757564cbc.png)
When you hit the translate button you'll be redirected to the TranslateResultPage which I extended with some functionality. Whit the help of Azure's SpeechService you can hear the text in the detected language plus some other selected languages.
![Screenshot_20200425-124957](https://user-images.githubusercontent.com/1477664/80281713-66f6db00-870d-11ea-909c-30ddee001abe.png)
This could also be helpful in a restaurant looking at the menu or when you are learning a new language. You will hear how to pronounce the text in the detected language and also of the translations.
I added some more languages just for the fun of it.
![Screenshot_20200425-125007~01](https://user-images.githubusercontent.com/1477664/80281787-f3a19900-870d-11ea-9e7a-387ef45bf1c8.png)
![Screenshot_20200425-125013~01](https://user-images.githubusercontent.com/1477664/80281788-f43a2f80-870d-11ea-85ae-6754ac0ba84a.png)
![Screenshot_20200425-125018~01](https://user-images.githubusercontent.com/1477664/80281789-f43a2f80-870d-11ea-953b-3286fd9e8e52.png)
I'd still have a lot of ideas on how to extend this app even more. I especially like the idea of adding a real time translator. But also I struggled a lot in the UI/xaml part of it as I am a backend guy. I think I need to invest a bit into some Xamarin training first.
Having said that I loved the idea of this challenge with the existing app we could extend. I definitely could check how something worked first before adding something new.
The documentation on Azure's Cognitive Services is excellent and the code examples are very helpful. One thing to add where I struggled was when I tried using the SpeechService SDK in Xamarin and couldn't get it to work. After looking at the TranslationService I figured out I need to do it over the REST API which eventually worked out fine.
So I think it's sometimes not clear of when you can use the SDK or when you have to use the REST API.
As I am preparing for the AI-100 Exam this challenge came at the right time! Because what's better than real hands on when you are learning about a new topic?!