@theresnotime/ipa-to-ssml
v1.2.0
Published
[](https://github.com/theresnotime/ipa-to-ssml/actions/workflows/node.js.yml) [;Simples!
IPA goes in..
We pass the represented word, its ipa representation, and optionally a variant of SSML to generate:
let ssmlResult = await ipaToSSML.convertToSSML('hello', '/həˈləʊ/', 'default');..and SSML comes out!
<?xml version="1.0"?>
<speak version="1.1"
xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
http://www.w3.org/TR/speech-synthesis11/synthesis.xsd"
xml:lang="en-US">
<phoneme alphabet="ipa" ph="/həˈləʊ/">hello</phoneme>
</speak>(don't blame me for how ugly that looks, blame the w3c...)
Variants
default— this is valid SSML, and should be accepted by all (SSML accepting) TTS enginespolly— for now, just a copy ofdefault🤷♀️ works with Amazon Pollylarynx— this larger SSML element is required for getting rhasspy/larynx (a very cool TTS engine..) to play ball
Contributing
This is the first module I've ever published to npmjs, and my first foray into Node modules, so there's bound to be things you spot and want to fix — I'd love to get your feedback and PRs!
Quick steps
- Fork n' clone this repo
- Do a
npm install - Run
npm testbecause who knows, maybe its already broken - Hack!
Tests? For JavaScript!?
In writing this I discovered Jest, a "delightful JavaScript Testing Framework with a focus on simplicity" — I dunno about that, as I've never written tests for JavaScript, but it was pretty painless :> they live in tests/ and the syntax for them is super simple.
