UNPKG

web-speech-profanity

Version:

Web Speech API adapter to use Cognitive Services Speech Services for both speech-to-text and text-to-speech service.

26 lines (21 loc) 725 B
/* eslint no-magic-numbers: ["error", { "ignore": [0, 1, 100] }] */ // Cognitive Services does not support unsigned percentage // It must be converted into +/- first. function relativePercentage(value) { let relative = Math.round((value - 1) * 100); if (relative >= 0) { relative = '+' + relative; } return relative + '%'; } export default function buildSSML({ lang, pitch = 1, rate = 1, text, voice, volume }) { return `<speak version="1.0" xml:lang="${ lang }"> <voice xml:lang="${ lang }" name="${ voice }"> <prosody pitch="${ relativePercentage(pitch) }" rate="${ relativePercentage(rate) }" volume="${ relativePercentage( volume ) }"> ${ text } </prosody> </voice> </speak>`; }