Aller au contenu principal

OpenAI

La classe OpenAIVoice de Mastra fournit des fonctionnalités de synthèse et de transcription vocales au moyen des modèles OpenAI.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

import { OpenAIVoice } from '@mastra/voice-openai'

// Initialize with default configuration using environment variables
const voice = new OpenAIVoice()

// Or initialize with specific configuration
const voiceWithConfig = new OpenAIVoice({
speechModel: {
name: 'tts-1-hd',
apiKey: 'your-openai-api-key',
},
listeningModel: {
name: 'whisper-1',
apiKey: 'your-openai-api-key',
},
speaker: 'alloy', // Default voice
})

// Convert text to speech
const audioStream = await voice.speak('Hello, how can I help you?', {
speaker: 'nova', // Override default voice
speed: 1.2, // Adjust speech speed
})

// Convert speech to text
const text = await voice.listen(audioStream, {
filetype: 'mp3',
})

Configuration
Lien direct vers Configuration

Options du constructeur
Lien direct vers Options du constructeur

speechModel?:

OpenAIConfig
= { name: 'tts-1' }
Configuration de la synthèse vocale.
OpenAIConfig

name?:

'tts-1' | 'tts-1-hd' | 'whisper-1'
Nom du modèle. Utilisez 'tts-1-hd' pour obtenir un son de meilleure qualité.

apiKey?:

string
Clé d’API OpenAI. Utilise par défaut la variable d’environnement OPENAI_API_KEY.

listeningModel?:

OpenAIConfig
= { name: 'whisper-1' }
Configuration de la transcription vocale.
OpenAIConfig

name?:

'tts-1' | 'tts-1-hd' | 'whisper-1'
Nom du modèle. Utilisez 'tts-1-hd' pour obtenir un son de meilleure qualité.

apiKey?:

string
Clé d’API OpenAI. Utilise par défaut la variable d’environnement OPENAI_API_KEY.

speaker?:

OpenAIVoiceId
= 'alloy'
ID de la voix 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 des modèles de synthèse vocale d’OpenAI.

input:

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

options?:

Options
Options de configuration.
Options

speaker?:

OpenAIVoiceId
ID de la voix à utiliser pour la synthèse vocale.

speed?:

number
Multiplicateur de la vitesse d’élocution.

Renvoie : Promise<NodeJS.ReadableStream>

listen()
Lien direct vers listen

Transcrit le son au moyen du modèle Whisper d’OpenAI.

audioStream:

NodeJS.ReadableStream
Flux audio à transcrire.

options?:

Options
Options de configuration.
Options

filetype?:

string
Format audio du flux d’entrée.

Renvoie : Promise<string>

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

Remarques
Lien direct vers Remarques

  • Les clés d’API peuvent être fournies au moyen des options du constructeur ou de la variable d’environnement OPENAI_API_KEY
  • Le modèle tts-1-hd produit un son de meilleure qualité, mais son traitement peut être plus lent
  • La transcription vocale prend en charge plusieurs formats audio, notamment mp3, wav et webm