MsEdgeTTS
1.0.0
Um módulo simples de serviço de fala do Azure que usa a API do Microsoft Edge Read Aloud.
Suporte total para SSML Somente suportes falam tipos de elementos speak , voice e prosody . A seguir, o objeto SSML padrão:
< 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 >A documentação no formato SSML pode ser encontrada aqui. Todos os formatos de áudio suportados podem ser encontrados aqui.
Certifique -se de escapar/higienizar a entrada do seu usuário! Use uma biblioteca como o XML-Escape.
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" ) ;
} ) ; import { MsEdgeTTS , OUTPUT_FORMAT } from "msedge-tts" ;
( async ( ) => {
const tts = new MsEdgeTTS ( ) ;
await tts . setMetadata ( "en-US-AriaNeural" , OUTPUT_FORMAT . WEBM_24KHZ_16BIT_MONO_OPUS ) ;
const filePath = await tts . toFile ( "./example_audio.webm" , "Hi, how are you?" ) ;
} ) ( ) ; import { MsEdgeTTS , OUTPUT_FORMAT } from "msedge-tts" ;
( async ( ) => {
const tts = new MsEdgeTTS ( ) ;
await tts . setMetadata ( "en-US-AriaNeural" , OUTPUT_FORMAT . WEBM_24KHZ_16BIT_MONO_OPUS ) ;
const filePath = await tts . toFile ( "./example_audio.webm" , "Hi, how are you?" , { rate : 0.5 , pitch : "+200Hz" } ) ;
} ) ( ) ;Use uma implementação HTTP.AGENT personalizada, como HTTPS-Proxy-Agent ou Socks-Proxy-Agent.
import { SocksProxyAgent } from 'socks-proxy-agent' ;
( async ( ) => {
const agent = new SocksProxyAgent ( "socks://your-name%40gmail.com:[email protected]" )
const tts = new MsEdgeTTS ( agent ) ;
await tts . setMetadata ( "en-US-AriaNeural" , OUTPUT_FORMAT . WEBM_24KHZ_16BIT_MONO_OPUS ) ;
const filePath = await tts . toFile ( "./example_audio.webm" , "Hi, how are you?" ) ;
} ) ( ) ; Para a documentação completa, consulte a documentação da API.
Esta biblioteca suporta apenas promessas.