@sylweriusz/mcp-ai-voice
Version:
Enable AI agents to express themselves with natural voice synthesis. Zero-configuration multilingual speech that enhances AI interactions through asynchronous voice capabilities.
87 lines • 2.43 kB
TypeScript
/**
* Voice Intelligence Module - Language Discovery and Voice Optimization
* Implements language-centric architecture for automatic voice selection
*/
export interface VoiceInfo {
id: string;
name: string;
language: string;
languageCode: string;
quality?: 'enhanced' | 'premium' | 'standard';
gender?: 'male' | 'female';
}
export interface LanguageVoiceMapping {
[languageCode: string]: {
bestVoice: VoiceInfo;
alternativeVoices: VoiceInfo[];
};
}
export declare class VoiceIntelligence {
private platform;
private availableVoices;
private languageMapping;
private supportedLanguages;
constructor();
/**
* Initialize voice intelligence by discovering available voices and languages
*/
initialize(): Promise<void>;
/**
* Discover voices on macOS using 'say -v ?'
*/
private discoverMacOSVoices;
/**
* Discover voices on Windows using PowerShell
*/
private discoverWindowsVoices;
/**
* Discover voices on Linux using espeak
*/
private discoverLinuxVoices;
/**
* Build language to voice mapping with quality-first selection
* GDD v2.3: Premium > Enhanced > Standard, with gender preference only within same quality tier
*/
private buildLanguageMapping;
/**
* Detect voice quality from quality indicator or comment
*/
private detectVoiceQuality;
/**
* Detect gender from voice name
*/
private detectGender;
/**
* Get human-readable language name from code
*/
private getLanguageName;
/**
* Get supported languages for tool schema
*/
getSupportedLanguages(): string[];
/**
* Get best voice for a language
*/
getBestVoiceForLanguage(languageCode: string): VoiceInfo | null;
/**
* Get information about the voice that will be used for synthesis
*/
getUsedVoiceInfo(languageCode?: string): string;
/**
* Check if parameter is a voice name rather than language code
*/
private isVoiceName;
/**
* Find voice by exact name match (macOS only)
*/
private findVoiceByName;
/**
* Get optimal voice command for platform
*/
getVoiceCommand(text: string, languageCode?: string): string;
/**
* Sanitize text for command line
*/
private sanitizeText;
}
//# sourceMappingURL=voice-intelligence.d.ts.map