Polly Russian SSML Enhancer
Synopsis
Convert russian text, that contains english words into a valid SSML for AWS Polly TTS, thus enhancing synthesized audio pronunciation for english words within the russian language context.
Motivation
By default, russian speakers in AWS Polly TTS service (Maxim, Tatiana) are not particularly good at pronouncing english words within the russian language context, so this library fixes it by explicitly wrapping each english word with <lang xml:lang="en-US">word</lang>
tags.
Installation
npm install polly-ru-ssml
Code Example
Basic usage
const pollyRuSSML = require('polly-ru-ssml')
pollyRuSSML.ssml("русский english")
pollyRuSSML.speak("русский english")
Configuration
By default configuration is not necessary, but setting one can greatly improve intelligibility of english speech for russian users. Additionally, I found that the default volume for synthesized speech is quite low for using with Amazon Alexa assistant.
Name | Type | Default | Description |
---|
[country] | string | "us" | Country code for <lang/> tags. Valid values: us , uk . |
[rate] | string | | Speech rate for latin characters. Valid values: x-slow , slow , medium , fast , x-fast . |
[globalVolume] | string | | Global audio volume. Valid values: x-soft , soft , medium , loud , x-loud . |
[volume] | string | | Local audio volume for latin characters. Valid values: x-soft , soft , medium , loud , x-loud . |
API documentation
const pollyRuSSML = require('polly-ru-ssml')
pollyRuSSML.configure({
country: 'uk',
globalVolume: 'loud',
volume: 'x-loud',
rate: 'slow',
})
pollyRuSSML.speak('русский english')
pollyRuSSML.speak('русский english', {
globalVolume: 'x-loud',
rate: 'x-slow',
})
Tests
npm test
Contributors
Any contributions are very welcome.
License
MIT.
Changelog
[0.1.3] - 2018-04-03
[0.1.2] - 2018-04-03
[0.1.1] - 2018-04-03
- Add default configuration option
country
if it is absent in local configuration.
[0.1.0] - 2018-04-03