Skip to main content
Glama
Ripnrip
by Ripnrip

test_voice_packs

Test all voice packs by playing sample achievements to verify audio setup, compare voice styles, and ensure proper functionality.

Instructions

๐Ÿงช Test all voice packs by playing a sample achievement from each voice pack (male and female). Useful for verifying audio setup, comparing voice styles, or ensuring all voice packs are working correctly. Plays one achievement from each voice pack sequentially.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
volumeNo๐Ÿ”Š Volume level for test audio playback (0-100). Default is 80. Examples: 50, 80, 100

Implementation Reference

  • Main handler function that tests all available voice packs by playing the specified achievement sound with each voice pack and collects results.
    async testVoicePacks(args) { const { achievement = "EXCELLENT" } = args; if (!ENHANCED_ACHIEVEMENTS[achievement]) { const available = Object.keys(ENHANCED_ACHIEVEMENTS).join(", "); throw new McpError( ErrorCode.InvalidParams, `โŒ Unknown achievement: ${achievement}. Available: ${available}` ); } const testResults = []; for (const [voiceId, voiceInfo] of Object.entries(VOICE_PACKS)) { try { // ๐ŸŽช Test each voice pack await EnhancedSoundOracle.playAchievementSound(achievement, 70, voiceId); testResults.push({ voiceId: voiceId, voiceName: voiceInfo.displayName, status: "success", message: `โœ… ${voiceInfo.displayName} played successfully` }); // Wait a moment between voices await new Promise(resolve => setTimeout(resolve, 1500)); } catch (error) { testResults.push({ voiceId: voiceId, voiceName: voiceInfo.displayName, status: "error", message: `โŒ ${voiceInfo.displayName} failed: ${error.message}` }); } } return { success: true, message: `๐Ÿงช Tested all voice packs with ${achievement}!`, testAchievement: achievement, testResults: testResults, totalVoices: Object.keys(VOICE_PACKS).length, successfulTests: testResults.filter(r => r.status === "success").length }; }
  • Input schema definition for the test_voice_packs tool, including parameters and validation.
    name: "test_voice_packs", description: "๐Ÿงช Test all available voice packs with a sample achievement", inputSchema: { type: "object", properties: { achievement: { type: "string", description: "๐Ÿ† Achievement to test with (default: EXCELLENT)", enum: Object.keys(ENHANCED_ACHIEVEMENTS), default: "EXCELLENT", }, }, }, },
  • index.js:238-239 (registration)
    Registration in the tool dispatcher switch statement that routes calls to the testVoicePacks handler.
    case "test_voice_packs": return await this.testVoicePacks(args);
  • Alternative or additional registration of test_voice_packs tool with different schema (volume param) and simplified test logic for male/female voices.
    server.registerTool( "test_voice_packs", { description: "๐Ÿงช Test all voice packs by playing a sample achievement from each voice pack (male and female). Useful for verifying audio setup, comparing voice styles, or ensuring all voice packs are working correctly. Plays one achievement from each voice pack sequentially.", inputSchema: { volume: z.number().min(0).max(100).default(80).describe("๐Ÿ”Š Volume level for test audio playback (0-100). Default is 80. Examples: 50, 80, 100"), }, annotations: { title: "๐Ÿงช Test Voice Packs", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true } }, async ({ volume }) => { const results = []; // Test male voice with a common achievement try { await EnhancedSoundOracle.playAchievementSound("RAMPAGE", volume, "male", "male"); results.push({ voice: "male", achievement: "RAMPAGE", status: "success" }); } catch (error) { results.push({ voice: "male", achievement: "RAMPAGE", status: "error", error: error instanceof Error ? error.message : String(error) }); } // Small delay between sounds await new Promise(resolve => setTimeout(resolve, 1000)); // Test female voice with a common achievement try { await EnhancedSoundOracle.playAchievementSound("RAMPAGE", volume, "female", "female"); results.push({ voice: "female", achievement: "RAMPAGE", status: "success" }); } catch (error) { results.push({ voice: "female", achievement: "RAMPAGE", status: "error", error: error instanceof Error ? error.message : String(error) }); } const successCount = results.filter(r => r.status === "success").length; const allSuccess = successCount === results.length; return { content: [{ type: "text", text: `๐Ÿงช Voice Pack Test Results:\n\n${results.map(r => `๐ŸŽค ${r.voice.toUpperCase()}: ${r.status === "success" ? "โœ… Success" : `โŒ Error: ${r.error}`}` ).join('\n')}\n\n${allSuccess ? "๐ŸŽ‰ All voice packs working correctly!" : "โš ๏ธ Some voice packs had issues. Check error messages above."}` }], results, successCount, totalTests: results.length, allSuccess }; } ); }

Latest Blog Posts

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/Ripnrip/Quake-Coding-Arena-MCP'

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