> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # PlayAI Mastra 的 PlayAI 語音實作使用 PlayAI API 提供文字轉語音功能。 ## 使用範例 ```typescript import { PlayAIVoice } from '@mastra/voice-playai' // Initialize with default configuration (uses PLAYAI_API_KEY environment variable and PLAYAI_USER_ID environment variable) const voice = new PlayAIVoice() // Initialize with default configuration const voice = new PlayAIVoice({ speechModel: { name: 'PlayDialog', apiKey: process.env.PLAYAI_API_KEY, userId: process.env.PLAYAI_USER_ID, }, speaker: 'Angelo', // Default voice }) // Convert text to speech with a specific voice const audioStream = await voice.speak('Hello, world!', { speaker: 's3://voice-cloning-zero-shot/b27bc13e-996f-4841-b584-4d35801aea98/original/manifest.json', // Dexter voice }) ``` ## 建構函式參數 **speechModel** (`PlayAIConfig`): 文字轉語音功能的設定 (Default: `{ name: 'PlayDialog' }`) **speechModel.name** (`'PlayDialog' | 'Play3.0-mini'`): 要使用的 PlayAI 模型 **speechModel.apiKey** (`string`): PlayAI API key。未提供時會改用 PLAYAI\_API\_KEY 環境變數 **speechModel.userId** (`string`): PlayAI 使用者 ID。未提供時會改用 PLAYAI\_USER\_ID 環境變數 **speaker** (`string`): 用於語音合成的預設語音 ID (Default: `第一個可用的語音 ID`) ## 方法 ### `speak()` 使用已設定的語音模型和語音將文字轉換成語音。 **input** (`string | NodeJS.ReadableStream`): 要轉換成語音的文字。如提供串流,系統會先將其轉換成文字。 **options** (`Options`): 設定選項。 **options.speaker** (`string`): 為此請求覆寫預設 speaker 傳回:`Promise`。 ### `getSpeakers()` 傳回可用語音選項的陣列,其中每個節點包含: **name** (`string`): 語音名稱 **accent** (`string`): 語音的口音(例如 'US'、'British'、'Australian') **gender** (`'M' | 'F'`): 語音的性別 **age** (`'Young' | 'Middle' | 'Old'`): 語音的年齡類別 **style** (`'Conversational' | 'Narrative'`): 語音的說話風格 **voiceId** (`string`): 語音的唯一識別碼 ### `listen()` PlayAI 不支援此方法,呼叫時會拋出錯誤。PlayAI 不提供語音轉文字功能。 ## 注意事項 - PlayAI 需要 API key 和使用者 ID 以進行驗證 - 此服務提供兩個模型:'PlayDialog' 和 'Play3.0-mini' - 每個語音都有唯一的 S3 manifest ID,呼叫 API 時必須使用該 ID