PlayAI
Mastra 的 PlayAI 語音實作使用 PlayAI API 提供文字轉語音功能。
使用範例使用範例 的直接連結
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
= { name: 'PlayDialog' }
文字轉語音功能的設定
PlayAIConfig
name?:
'PlayDialog' | 'Play3.0-mini'
要使用的 PlayAI 模型
apiKey?:
string
PlayAI API key。未提供時會改用 PLAYAI_API_KEY 環境變數
userId?:
string
PlayAI 使用者 ID。未提供時會改用 PLAYAI_USER_ID 環境變數
speaker?:
string
= 第一個可用的語音 ID
用於語音合成的預設語音 ID
方法方法 的直接連結
speak()speak 的直接連結
使用已設定的語音模型和語音將文字轉換成語音。
input:
string | NodeJS.ReadableStream
要轉換成語音的文字。如提供串流,系統會先將其轉換成文字。
options?:
Options
設定選項。
Options
speaker?:
string
為此請求覆寫預設 speaker
傳回:Promise<NodeJS.ReadableStream>。
getSpeakers()getspeakers 的直接連結
傳回可用語音選項的陣列,其中每個節點包含:
name:
string
語音名稱
accent:
string
語音的口音(例如 'US'、'British'、'Australian')
gender:
'M' | 'F'
語音的性別
age:
'Young' | 'Middle' | 'Old'
語音的年齡類別
style:
'Conversational' | 'Narrative'
語音的說話風格
voiceId:
string
語音的唯一識別碼
listen()listen 的直接連結
PlayAI 不支援此方法,呼叫時會拋出錯誤。PlayAI 不提供語音轉文字功能。
注意事項注意事項 的直接連結
- PlayAI 需要 API key 和使用者 ID 以進行驗證
- 此服務提供兩個模型:'PlayDialog' 和 'Play3.0-mini'
- 每個語音都有唯一的 S3 manifest ID,呼叫 API 時必須使用該 ID