Aller au contenu principal

Speechify

L’implémentation vocale de Speechify dans Mastra fournit des fonctionnalités de synthèse vocale au moyen de l’API Speechify.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

import { SpeechifyVoice } from '@mastra/voice-speechify'

// Initialize with default configuration (uses SPEECHIFY_API_KEY environment variable)
const voice = new SpeechifyVoice()

// Initialize with custom configuration
const voice = new SpeechifyVoice({
speechModel: {
name: 'simba-3.2',
apiKey: 'your-api-key',
},
speaker: 'harper_32', // Default voice (simba-3.2 serves the curated Simba 3 voices only)
})

// Convert text to speech
const audioStream = await voice.speak('Hello, world!', {
speaker: 'imogen_32', // Override default voice
})

Paramètres du constructeur
Lien direct vers Paramètres du constructeur

speechModel?:

SpeechifyConfig
= { name: 'simba-english' }
Configuration de la fonctionnalité de synthèse vocale
SpeechifyConfig

name?:

SpeechifyModel
Modèle Speechify à utiliser ('simba-3.2', 'simba-3.0', 'simba-english' ou 'simba-multilingual')

apiKey?:

string
Clé d’API Speechify. Utilise par défaut la variable d’environnement SPEECHIFY_API_KEY

speaker?:

SpeechifyVoiceId
= 'harper_32' pour les modèles Simba 3, sinon 'george'
ID de la voix à utiliser par défaut pour la synthèse vocale. Les modèles Simba 3 ne proposent qu’un ensemble de voix sélectionnées (harper_32, imogen_32, ...) ; les voix du catalogue classique (george, henry, ...) fonctionnent avec simba-english et simba-multilingual

Méthodes
Lien direct vers Méthodes

speak()
Lien direct vers speak

Convertit du texte en parole à l’aide du modèle vocal et de la voix configurés.

input:

string | NodeJS.ReadableStream
Texte à convertir en parole. Si un flux est fourni, il est d’abord converti en texte.

options?:

Options
Options de configuration.
Options

speaker?:

string
Remplace la voix par défaut pour cette requête

model?:

SpeechifyModel
Remplace le modèle par défaut pour cette requête

Renvoie : Promise<NodeJS.ReadableStream>

getSpeakers()
Lien direct vers getspeakers

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

voiceId:

string
Identifiant unique de la voix

name:

string
Nom d’affichage de la voix

language:

string
Code de langue de la voix

gender:

string
Genre de la voix

listen()
Lien direct vers listen

Cette méthode n’est pas prise en charge par Speechify et lève une erreur. Speechify ne fournit aucune fonctionnalité de transcription vocale.

Remarques
Lien direct vers Remarques

  • Speechify nécessite une clé d’API pour l’authentification
  • Le modèle par défaut est 'simba-english'
  • 'simba-3.2' est le modèle de streaming Speechify le plus récent, celui qui offre la latence la plus faible et la plus grande expressivité ; c’est le modèle recommandé pour l’anglais
  • 'simba-3.2' et 'simba-3.0' ne prennent actuellement en charge que l’anglais ; utilisez 'simba-multilingual' pour une entrée dans une autre langue ou mélangeant plusieurs langues
  • 'simba-3.2' et 'simba-3.0' ne proposent qu’un ensemble de voix sélectionnées : 'beatrice_32', 'dominic_32', 'edmund_32', 'geffen_32', 'harper_32', 'hugh_32', 'imogen_32', 'wyatt_32'. Les voix du catalogue classique, telles que 'george', provoquent une erreur avec ces modèles
  • La voix par défaut dépend du modèle configuré : 'harper_32' pour les modèles Simba 3, sinon 'george'
  • La transcription vocale n’est pas prise en charge
  • Des options supplémentaires de flux audio peuvent être transmises au moyen du paramètre options de la méthode speak()