Skip to main content
Glama

Voice Mode

by mbailey
test_kokoro_selection.py•2.47 kB
"""Manual test to verify Kokoro is selected for af_sky voice.""" import asyncio import os import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../..')) from voice_mode.providers import get_tts_client_and_voice from voice_mode.provider_discovery import provider_registry async def test_provider_selection(): """Test that the voice-first selection works correctly.""" print("Testing voice-first provider selection...") print(f"VOICES env: {os.getenv('VOICEMODE_VOICES', 'not set')}") print(f"TTS_BASE_URLS env: {os.getenv('VOICEMODE_TTS_BASE_URLS', 'not set')}") # Test 1: Default selection (should pick af_sky -> Kokoro if available) print("\n1. Testing default selection (no parameters)...") try: client, voice, model, endpoint = await get_tts_client_and_voice() print(f" Selected: {endpoint.base_url} ({endpoint.provider_type})") print(f" Voice: {voice}") print(f" Model: {model}") except Exception as e: print(f" Error: {e}") # Test 2: Specific voice (af_sky should select Kokoro) print("\n2. Testing specific voice=af_sky...") try: client, voice, model, endpoint = await get_tts_client_and_voice(voice="af_sky") print(f" Selected: {endpoint.base_url} ({endpoint.provider_type})") print(f" Voice: {voice}") print(f" Model: {model}") except Exception as e: print(f" Error: {e}") # Test 3: Specific voice (nova should select OpenAI) print("\n3. Testing specific voice=nova...") try: client, voice, model, endpoint = await get_tts_client_and_voice(voice="nova") print(f" Selected: {endpoint.base_url} ({endpoint.provider_type})") print(f" Voice: {voice}") print(f" Model: {model}") except Exception as e: print(f" Error: {e}") # Show registry state print("\n4. Provider Registry State:") for service_type in ["tts", "stt"]: print(f"\n {service_type.upper()} Endpoints:") for url, info in provider_registry.registry[service_type].items(): print(f" - {url} ({info.provider_type})") print(f" Healthy: {info.healthy}") print(f" Models: {info.models}") if service_type == "tts": print(f" Voices: {info.voices[:3]}... ({len(info.voices)} total)") if __name__ == "__main__": asyncio.run(test_provider_selection())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mbailey/voicemode'

If you have feedback or need assistance with the MCP directory API, please join our Discord server