msedge-tts-browserify
v1.4.1
Published
An Azure Speech Service module that uses the Microsoft Edge Read Aloud API.
Downloads
13
Readme
MsEdgeTTS
msedge-tts-browserify clone from Migushthe2nd/MsEdgeTTS, which based on nodejs. To better use it on browser, I rewrite some codes--remove node stream
, fs
and crypto
, replace axios
with fetch
. This repo only support browser but nodejs.
An simple Azure Speech Service module that uses the Microsoft Edge Read Aloud API.
~~Full support for SSML~~ Only supports speak
, voice
, and prosody
element types. The following is the default SSML object:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts"
xml:lang="${this._voiceLang}">
<voice name="${voiceName}">
<prosody rate="${rate}" pitch="${pitch}" volume="${volume}">
${input}
</prosody>
</voice>
</speak>
Documentation on the SSML format can be found here . All supported audio formats can be found here.
Example usage
Make sure to escape/sanitize your user's input! Use a library like xml-escape.
Write to stream
import { MsEdgeTTS, OUTPUT_FORMAT } from "msedge-tts";
const tts = new MsEdgeTTS();
await tts.setMetadata("en-IE-ConnorNeural", OUTPUT_FORMAT.WEBM_24KHZ_16BIT_MONO_OPUS);
const readable = tts.toStream("Hi, how are you?");
readable.on("data", (data) => {
console.log("DATA RECEIVED", data);
// raw audio file data
});
readable.on("close", () => {
console.log("STREAM CLOSED");
});
API
This library only supports promises.