Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

polly-ru-ssml

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

polly-ru-ssml

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.

  • 0.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Polly Russian SSML Enhancer

Build Status Coverage Status code style: prettier License: MIT

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')

// Method ssml() returns string with wrapped english words
pollyRuSSML.ssml("русский english")
// русский <lang xml:lang="en-US">english</lang>

// Method speak() additionally wraps result with <speak/> tags
pollyRuSSML.speak("русский english")
// <speak>русский <lang xml:lang="en-US">english</lang></speak>

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.

const pollyRuSSML = require('polly-ru-ssml')

// 1. Global configuration for all further usages
pollyRuSSML.configure({
    country: 'uk',
    globalVolume: 'loud',
    volume: 'x-loud',
    rate: 'slow',
})

pollyRuSSML.speak('русский english')
/**
 * <speak>
 *  <prosody volume="loud">
 *      русский
 *      <lang xml:lang="en-UK">
 *          <prosody volume="x-loud">
 *              <prosody rate="slow">
 *                  english
 *              </prosody>
 *          </prosody>
 *      </lang>
 *  </prosody>
 * </speak>
 */

// 2. Local configuration only for the current usage (overrides global configuration)
pollyRuSSML.speak('русский english', {
    globalVolume: 'x-loud',
    rate: 'x-slow',
})
/**
 * <speak>
 *  <prosody volume="x-loud">
 *      русский
 *      <lang xml:lang="en-US">
 *          <prosody rate="x-slow">
 *              english
 *          </prosody>
 *      </lang>
 *  </prosody>
 * </speak>
 */
NameTypeDefaultDescription
[country]string"us"Country code for <lang/> tags. Valid values: us, uk.
[rate]stringSpeech rate for latin characters. Valid values: x-slow, slow, medium, fast, x-fast.
[globalVolume]stringGlobal audio volume. Valid values: x-soft, soft, medium, loud, x-loud.
[volume]stringLocal audio volume for latin characters. Valid values: x-soft, soft, medium, loud, x-loud.

API documentation

Tests

npm test

Contributors

Any contributions are very welcome.

License

MIT.

Changelog

[0.1.5] - 2018-04-23

  • Hide private methods from user API.

[0.1.4] - 2018-04-03

  • Add more tests.

[0.1.3] - 2018-04-03

  • Add API reference.

[0.1.2] - 2018-04-03

  • Add Readme.

[0.1.1] - 2018-04-03

  • Add default configuration option country if it is absent in local configuration.

[0.1.0] - 2018-04-03

  • Initial release.

Keywords

FAQs

Package last updated on 23 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc