UNPKG

echogarden

Version:

An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.

82 lines (81 loc) 4.11 kB
import { RequestVoiceListResult, SynthesisOptions, SynthesisSegmentEventData, SynthesisResult, VoiceListRequestOptions } from '../api/Synthesis.js'; import { AudioSourceParam } from '../audio/AudioUtilities.js'; import { RecognitionOptions, RecognitionResult } from '../api/Recognition.js'; import { AlignmentOptions, AlignmentResult } from '../api/Alignment.js'; import { SpeechTranslationOptions, SpeechTranslationResult } from '../api/SpeechTranslation.js'; import { Worker } from 'node:worker_threads'; import { SpeechLanguageDetectionOptions, SpeechLanguageDetectionResult } from '../api/SpeechLanguageDetection.js'; import { TextLanguageDetectionOptions, TextLanguageDetectionResult } from '../api/TextLanguageDetection.js'; export declare function startMessageChannel(): void; export declare function shouldCancelCurrentTask(): boolean; export declare function processMessage(message: WorkerRequestMessage, sendMessage: MessageFunc): Promise<void>; export interface SynthesisRequestMessage extends WorkerMessageBase { messageType: 'SynthesisRequest'; input: string | string[]; options: SynthesisOptions; } export interface SynthesisResponseMessage extends WorkerMessageBase, SynthesisResult { messageType: 'SynthesisResponse'; } export interface SynthesisSegmentEventMessage extends WorkerMessageBase, SynthesisSegmentEventData { messageType: 'SynthesisSegmentEvent'; } export interface SynthesisSentenceEventMessage extends WorkerMessageBase, SynthesisSegmentEventData { messageType: 'SynthesisSentenceEvent'; } export interface VoiceListRequestMessage extends WorkerMessageBase { messageType: 'VoiceListRequest'; options: VoiceListRequestOptions; } export interface VoiceListResponseMessage extends WorkerMessageBase, RequestVoiceListResult { messageType: 'VoiceListResponse'; } export interface RecognitionRequestMessage extends WorkerMessageBase { messageType: 'RecognitionRequest'; input: AudioSourceParam; options: RecognitionOptions; } export interface RecognitionResponseMessage extends WorkerMessageBase, RecognitionResult { messageType: 'RecognitionResponse'; } export interface AlignmentRequestMessage extends WorkerMessageBase { messageType: 'AlignmentRequest'; input: AudioSourceParam; transcript: string; options: AlignmentOptions; } export interface AlignmentResponseMessage extends WorkerMessageBase, AlignmentResult { messageType: 'AlignmentResponse'; } export interface SpeechTranslationRequestMessage extends WorkerMessageBase { messageType: 'SpeechTranslationRequest'; input: AudioSourceParam; options: SpeechTranslationOptions; } export interface SpeechTranslationResponseMessage extends WorkerMessageBase, SpeechTranslationResult { messageType: 'SpeechTranslationResponse'; } export interface SpeechLanguageDetectionRequestMessage extends WorkerMessageBase { messageType: 'SpeechLanguageDetectionRequest'; input: AudioSourceParam; options: SpeechLanguageDetectionOptions; } export interface SpeechLanguageDetectionResponseMessage extends WorkerMessageBase, SpeechLanguageDetectionResult { messageType: 'SpeechLanguageDetectionResponse'; } export interface TextLanguageDetectionRequestMessage extends WorkerMessageBase { messageType: 'TextLanguageDetectionRequest'; input: string; options: TextLanguageDetectionOptions; } export interface TextLanguageDetectionResponseMessage extends WorkerMessageBase, TextLanguageDetectionResult { messageType: 'TextLanguageDetectionResponse'; } export declare function sendMessageToWorker(message: any): void; export declare function addListenerToWorkerMessages(handler: MessageFunc): void; export declare function startNewWorkerThread(): Promise<Worker>; export type WorkerRequestMessage = SynthesisRequestMessage | VoiceListRequestMessage | RecognitionRequestMessage | AlignmentRequestMessage | SpeechTranslationRequestMessage | SpeechLanguageDetectionRequestMessage | TextLanguageDetectionRequestMessage; export interface WorkerMessageBase { messageType: string; } export type MessageFunc = (message: any) => void;