Aller au contenu principal

Cloudflare

La classe CloudflareVoice de Mastra fournit des fonctionnalités de synthèse vocale au moyen de Cloudflare Workers AI. Ce Provider est spécialisé dans la synthèse vocale efficace et à faible latence, adaptée aux environnements d'informatique en périphérie.

Exemple d'utilisation
Lien direct vers Exemple d'utilisation

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)

Configuration
Lien direct vers Configuration

Options du constructeur
Lien direct vers Options du constructeur

speechModel?:

CloudflareSpeechConfig
Configuration de la synthèse vocale.
CloudflareSpeechConfig

name?:

string
Nom du modèle à utiliser pour la synthèse vocale.

apiKey?:

string
Token d'API Cloudflare doté d'un accès à Workers AI. Utilise par défaut la variable d'environnement CLOUDFLARE_API_TOKEN.

accountId?:

string
Identifiant du compte Cloudflare. Utilise par défaut la variable d'environnement CLOUDFLARE_ACCOUNT_ID.

speaker?:

string
= 'en-US-1'
Identifiant vocal par défaut pour la synthèse vocale.

Méthodes
Lien direct vers Méthodes

speak()
Lien direct vers speak

Convertit du texte en parole au moyen du service de synthèse vocale de Cloudflare.

input:

string | NodeJS.ReadableStream
Texte ou flux de texte à convertir en parole.

options?:

Options
Options de configuration.
Options

speaker?:

string
Identifiant vocal à utiliser pour la synthèse vocale.

format?:

string
Format audio de sortie.

Renvoie : Promise<NodeJS.ReadableStream>

getSpeakers()
Lien direct vers getspeakers

Renvoie un tableau des options vocales disponibles, dans lequel chaque élément contient :

voiceId:

string
Identifiant unique de la voix (par exemple, 'en-US-1')

language:

string
Code de langue de la voix (par exemple, 'en-US')

Remarques
Lien direct vers Remarques

  • Les tokens d'API peuvent être fournis au moyen des options du constructeur ou des variables d'environnement (CLOUDFLARE_API_TOKEN et CLOUDFLARE_ACCOUNT_ID)
  • Cloudflare Workers AI est optimisé pour l'informatique en périphérie à faible latence
  • Ce Provider prend uniquement en charge la synthèse vocale (TTS), et non la reconnaissance vocale (STT)
  • Le service s'intègre parfaitement aux autres produits Cloudflare Workers
  • Pour une utilisation en production, assurez-vous que votre compte Cloudflare dispose de l'abonnement Workers AI approprié
  • Les options vocales sont plus limitées que chez certains autres Providers, mais les performances en périphérie sont excellentes

Si vous avez besoin de fonctionnalités de reconnaissance vocale en plus de la synthèse vocale, envisagez d'utiliser l'un des Providers suivants :

  • OpenAI : fournit à la fois la TTS et la STT
  • Google : fournit à la fois la TTS et la STT
  • Azure : fournit à la fois la TTS et la STT