Клиент на основе TypeScript для взаимодействия с API Microsoft Edge Text-Speech (TTS). Этот пакет совместим со средами Node.js и браузеров , что делает его универсальным для различных вариантов использования.
https://www.npmjs.com/package/edge-tts-client
Чтобы установить пакет, запустите:
npm install edge-tts-client import { EdgeTTSClient , ProsodyOptions , OUTPUT_FORMAT } from 'edge-tts-client' ;
// Initialize the client
const ttsClient = new EdgeTTSClient ( ) ;
// Set metadata for synthesis
await ttsClient . setMetadata ( 'en-US-GuyNeural' , OUTPUT_FORMAT . AUDIO_24KHZ_48KBITRATE_MONO_MP3 ) ;
// Define SSML options
const options = new ProsodyOptions ( ) ;
options . pitch = 'medium' ;
options . rate = 1.2 ;
options . volume = 90 ;
// Synthesize text to a stream
const stream = ttsClient . toStream ( 'Hello, world!' , options ) ;
// Handle the audio stream
stream . on ( 'data' , ( audioChunk ) => {
console . log ( 'Received audio chunk:' , audioChunk ) ;
} ) ;
stream . on ( 'end' , ( ) => {
console . log ( 'Synthesis complete.' ) ;
} ) ; EdgeTTSClientОсновной класс для взаимодействия с Edge TTS.
setMetadata(voiceName: string, outputFormat: OUTPUT_FORMAT, voiceLocale?: string): Promise<void>
toStream(input: string, options?: ProsodyOptions): EventEmitter
close(): void
ProsodyOptionsОпределяет варианты просодии для синтеза SSML:
pitch : высота голоса (например, 'medium' , 'high' ).rate : скорость речи (например, 1.0 , 1.2 ).volume : том аудио (например, 90 , 'loud' ).OUTPUT_FORMATПеречисление, определяющее доступные выходные форматы, такие как:
AUDIO_24KHZ_48KBITRATE_MONO_MP3WEBM_24KHZ_16BIT_MONO_OPUS Чтобы создать проект, запустите:
npm run buildЧтобы запустить тесты с Vitest:
npm run test Взносы приветствуются! Пожалуйста, откройте проблему или отправьте запрос на привлечение на любые изменения или улучшения.