This is a follow up to a recent post I made about using Project Oxford with Python. If you haven’t used Project Oxford before visit that post and complete the first three steps to acquire a token.
The previous example used Python 3 and urllib which is cool. But I’m more familiar with the requests library and python 2 so I spent some time re-writing the app with requests, and in the process learned what’s actually going on.
The source code can be found here: https://github.com/timmyreilly/oxford-tts-requests.
And the example from the Project Oxford Official Repo for python 3 can be found here: https://github.com/Microsoft/ProjectOxford-ClientSDK/blob/master/Speech/TextToSpeech/Samples-Http/Python/TTSSample.py
The meat of the program is tts.py which provides the methods we use in the app to provide an access token and use it to hit the API with our words to digitize.
Here’s a link to it if you’d like to follow along: https://github.com/timmyreilly/oxford-tts-requests/blob/master/FlaskWebProject/tts.py
Then we take that token and send a POST request with our access Token and specific headers “TTS_HEADERS” and “body” which includes the text to be translated.
After we POST we receive a JSON object that we encode into base 64 and inject into our HTML Template (index.html) using views.py.
To run this project:
clone the project
create a virtual env
pip install requirements.txt
This project is ready to be deployed to Azure as a Web App! If you don’t know/care about that you can simply delete all the other files besides runserver.py and the contents of FlaskWebProject
Let me know if you have any questions or would like to contribute to the next iteration!