OpenAI
Mastra 中的 OpenAIVoice 类使用 OpenAI 模型提供文本转语音和语音转文本功能。
使用示例使用示例的直接链接
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',
})
配置配置的直接链接
构造函数选项构造函数选项的直接链接
speechModel?:
OpenAIConfig
= { name: 'tts-1' }
文本转语音合成配置。
OpenAIConfig
name?:
'tts-1' | 'tts-1-hd' | 'whisper-1'
模型名称。使用 tts-1-hd 可获得更高质量的音频。
apiKey?:
string
OpenAI API key。未提供时使用 OPENAI_API_KEY 环境变量。
listeningModel?:
OpenAIConfig
= { name: 'whisper-1' }
语音转文本识别配置。
OpenAIConfig
name?:
'tts-1' | 'tts-1-hd' | 'whisper-1'
模型名称。使用 tts-1-hd 可获得更高质量的音频。
apiKey?:
string
OpenAI API key。未提供时使用 OPENAI_API_KEY 环境变量。
speaker?:
OpenAIVoiceId
= 'alloy'
用于语音合成的默认音色 ID。
方法方法的直接链接
speak()speak的直接链接
使用 OpenAI 的文本转语音模型将文本转换为语音。
input:
string | NodeJS.ReadableStream
要转换为语音的文本或文本流。
options?:
Options
配置选项。
Options
speaker?:
OpenAIVoiceId
用于语音合成的音色 ID。
speed?:
number
语速倍数。
返回: Promise<NodeJS.ReadableStream>
listen()listen的直接链接
使用 OpenAI 的 Whisper 模型转写音频。
audioStream:
NodeJS.ReadableStream
要转写的音频流。
options?:
Options
配置选项。
Options
filetype?:
string
输入流的音频格式。
返回: Promise<string>
getSpeakers()getspeakers的直接链接
返回可用音色选项数组,其中每个节点包含:
voiceId:
string
音色的唯一标识符
注意事项注意事项的直接链接
- 可以通过构造函数选项或
OPENAI_API_KEY环境变量提供 API key tts-1-hd模型可提供更高质量的音频,但处理速度可能较慢- 语音识别支持多种音频格式,包括 mp3、wav 和 webm