MsEdgeTTS
1.0.0
Un módulo simple de servicio de voz de Azure que utiliza la API de Microsoft Edge Read Aloud.
Soporte completo para SSML Solo admite tipos de elementos speak , voice y prosody . El siguiente es el objeto SSML predeterminado:
< 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 >La documentación en el formato SSML se puede encontrar aquí. Todos los formatos de audio compatibles se pueden encontrar aquí.
¡Asegúrese de escapar/desinfectar la entrada de su usuario! Use una biblioteca como 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 una implementación http.agent personalizada como https-proxy-agent o calcetines-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 obtener la documentación completa, consulte la documentación de la API.
Esta biblioteca solo admite promesas.