Skill - Translation
Skill Type
Pre-Post Process
Overview
This skill allows end-users to interact with the Digital Person in a different language than the corpus is written in. This Skill can function as a pre-processor (translating user language into corpus language), a post-processor (translating corpus output back into user language), or both. This requires a Microsoft Cognitive Services key, for more information, see Create a Translator resource.
This Skill is:
Built and owned by Soul Machines Ltd.
Powered by the Microsoft Azure Cognitive Services
Limitation
Translation Skill doesn't work with Wake Word Skill, Repeat Skill, and Transcription Skill if added to the same project
Demo Video
Translation Skill Demo
Configurations
Refer to Creating a Project | 3. Connect conversation and add skills for detailed instructions on adding Skills to your project. Provide the following information in the Translation Skill configuration screen:
Field | Type | Description |
---|---|---|
Microsoft Cognitive API KEY required |
| Enter your Microsoft Translator API Key. |
Region the Microsoft Cognitive Service is Deployed to |
| Resource Region. This should match the Microsoft Translator set up, see step 6 below. Options are |
Two-letter Code for the End User Language required |
| Enter the two-letter code of the language the end-users are expected to speak. ISO language codes can be found here List of ISO 639 language codes. |
Two-letter Code for the Corpus Language required |
| Specify the language code of the corpus. By default, this is set to English ( |
Obtaining Microsoft Translator API Key
The Translation Skill utilizes Microsoft Cognitive API to power the translations. To use this skill you will need to obtain an API key from Microsoft. These keys are free at the time of this document for up to 2M characters translated per month, but it is highly recommended to get a paid account so the skill will not stop working unexpectedly. To get an API key, do the following:
Visit https://azure.microsoft.com/en-us/free/cognitive-services/
Click on the Pay as you go link (or Start Free if you want to try a limited use access)
Either sign in if you already have a Microsoft account or click Create One
Create a subscription (if you don’t already have one)
Once you’ve created the subscription, you should be at the screen that shows services. Click the All Services link (or go to https://portal.azure.com/#allservices) and choose Cognitive Services from the list (It should take you here: https://portal.azure.com/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/overview)
From there, click Translator and click +Create
From the subscription, pick one (Development, Production, Sandbox)
For the region, Choose Global
For the Name, give it something unique, keeping in mind it will form part of a URL so can not have spaces or special characters. “sm-translation-service” for example
Once the resource is created, select it
Go to Keys and Endpoint from the left NAV window and you can see the APIs keys, region, and endpoint.
Supported Languages
Works best with STT supported languages. The STT, TTS, and the language code in the translator skill must be the same.
For best results, please choose languages that Soul Machines officially supports with Lip Sync.
Limitations
This skill relies on machine translation and may make grammatical or linguistic mistakes. This can also cause some skills to not behave as expected as the skill routing is based around trained phrases in the corpus language (English for all current cases)
Most proper names such as “Wolfram Alpha” do not have a direct translation, so may appear unaltered in the output
This skill does not work with certain skills that rely on replying with a specific language in mind such as Skill - Spelling. For example, If you ask to spell some word in a non-corpus language, your request will get translated to English first, the Spelling skill will spell the translated word (in English), then the output is translated back to the user’s language. The spelled word will still be English