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’utilisationLien 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',
})
ConfigurationLien direct vers Configuration
Options du constructeurLien 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éthodesLien 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
RemarquesLien 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-hdproduit 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