> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # Cloudflare Mastra 的 CloudflareVoice class 使用 Cloudflare Workers AI 提供文字轉語音功能。此 Provider 專為高效、低延遲的語音合成而設,適用於邊緣運算環境。 ## 使用範例 ```typescript import { CloudflareVoice } from '@mastra/voice-cloudflare' // Initialize with configuration const voice = new CloudflareVoice({ speechModel: { name: '@cf/meta/m2m100-1.2b', apiKey: 'your-cloudflare-api-token', accountId: 'your-cloudflare-account-id', }, speaker: 'en-US-1', // Default voice }) // Convert text to speech const audioStream = await voice.speak('Hello, how can I help you?', { speaker: 'en-US-2', // Override default voice }) // Get available voices const speakers = await voice.getSpeakers() console.log(speakers) ``` ## 設定 ### 建構函式選項 **speechModel** (`CloudflareSpeechConfig`): 文字轉語音合成的設定。 **speechModel.name** (`string`): 用於 TTS 的模型名稱。 **speechModel.apiKey** (`string`): 具備 Workers AI 存取權限的 Cloudflare API token。未提供時會改用 CLOUDFLARE\_API\_TOKEN 環境變數。 **speechModel.accountId** (`string`): Cloudflare 帳戶 ID。未提供時會改用 CLOUDFLARE\_ACCOUNT\_ID 環境變數。 **speaker** (`string`): 用於語音合成的預設語音 ID。 (Default: `'en-US-1'`) ## 方法 ### `speak()` 使用 Cloudflare 的文字轉語音服務將文字轉換成語音。 **input** (`string | NodeJS.ReadableStream`): 要轉換成語音的文字或文字串流。 **options** (`Options`): 設定選項。 **options.speaker** (`string`): 用於語音合成的語音 ID。 **options.format** (`string`): 輸出音訊格式。 傳回:`Promise` ### `getSpeakers()` 傳回可用語音選項的陣列,其中每個節點包含: **voiceId** (`string`): 語音的唯一識別碼(例如 'en-US-1') **language** (`string`): 語音的語言代碼(例如 'en-US') ## 注意事項 - 可透過建構函式選項或環境變數(CLOUDFLARE\_API\_TOKEN 和 CLOUDFLARE\_ACCOUNT\_ID)提供 API token - Cloudflare Workers AI 針對低延遲的邊緣運算進行了最佳化 - 此 Provider 只支援文字轉語音(TTS)功能,不支援語音轉文字(STT) - 此服務可與其他 Cloudflare Workers 產品良好整合 - 在正式環境中使用前,請確保你的 Cloudflare 帳戶已有合適的 Workers AI 訂閱 - 與部分其他 Provider 相比,語音選項較有限,但其邊緣運算效能非常出色 ## 相關 Provider 如果除了文字轉語音外亦需要語音轉文字功能,可考慮使用以下其中一個 Provider: - [OpenAI](https://mastra.zisheng.pro/zh-HK/reference/voice/openai):同時提供 TTS 和 STT - [Google](https://mastra.zisheng.pro/zh-HK/reference/voice/google):同時提供 TTS 和 STT - [Azure](https://mastra.zisheng.pro/zh-HK/reference/voice/azure):同時提供 TTS 和 STT