Model
TTS模型设置
dataclass
TTS模型的设置。
Source code in src/agents/voice/model.py
语音
class-attribute
instance-attribute
voice: (
Literal[
"alloy",
"ash",
"coral",
"echo",
"fable",
"onyx",
"nova",
"sage",
"shimmer",
]
| None
) = None
TTS模型使用的声音。如果未提供,则将使用相应模型的默认声音。
transform_data
class-attribute
instance-attribute
一个用于转换TTS模型数据的函数。如果您希望生成的音频流数据已经具有特定形状,这个函数会很有用。
使用说明
class-attribute
instance-attribute
instructions: str = "You will receive partial sentences. Do not complete the sentence just read out the text."
用于TTS模型的指令。如果您想控制音频输出的音调,这将非常有用。
文本分割器
class-attribute
instance-attribute
text_splitter: Callable[[str], tuple[str, str]] = (
get_sentence_based_splitter()
)
一个将文本分割成块的函数。如果您想在将文本发送到TTS模型之前将其分割成块,而不是等待整个文本被处理,这将非常有用。
TTSModel
基类: ABC
一个可以将文本转换为音频输出的文本转语音模型。
Source code in src/agents/voice/model.py
运行
abstractmethod
run(
text: str, settings: TTSModelSettings
) -> AsyncIterator[bytes]
给定一个文本字符串,生成PCM格式的音频字节流。
参数:
| 名称 | 类型 | 描述 | 默认值 |
|---|---|---|---|
text
|
str
|
要转换为音频的文本。 |
required |
返回值:
| 类型 | 描述 |
|---|---|
AsyncIterator[bytes]
|
一个异步迭代器,用于生成PCM格式的音频字节。 |
Source code in src/agents/voice/model.py
StreamedTranscriptionSession
基类: ABC
音频输入的流式转录。
Source code in src/agents/voice/model.py
transcribe_turns
abstractmethod
生成文本转录的流式输出。每次转录代表对话中的一个回合。
该方法预期仅在调用close()后返回。
STTModelSettings
dataclass
语音转文字模型的设置。
Source code in src/agents/voice/model.py
STTModel
基类: ABC
一个能将音频输入转换为文本的语音转文字模型。
Source code in src/agents/voice/model.py
转录
abstractmethod
async
transcribe(
input: AudioInput,
settings: STTModelSettings,
trace_include_sensitive_data: bool,
trace_include_sensitive_audio_data: bool,
) -> str
给定音频输入,生成文本转录。
参数:
| 名称 | 类型 | 描述 | 默认值 |
|---|---|---|---|
input
|
AudioInput
|
要转录的音频输入。 |
required |
settings
|
STTModelSettings
|
用于转录的设置。 |
required |
trace_include_sensitive_data
|
bool
|
是否在跟踪记录中包含敏感数据。 |
required |
trace_include_sensitive_audio_data
|
bool
|
是否在跟踪记录中包含敏感音频数据。 |
required |
返回值:
| 类型 | 描述 |
|---|---|
str
|
音频输入的文本转录。 |
Source code in src/agents/voice/model.py
create_session
abstractmethod
async
create_session(
input: StreamedAudioInput,
settings: STTModelSettings,
trace_include_sensitive_data: bool,
trace_include_sensitive_audio_data: bool,
) -> StreamedTranscriptionSession
创建一个新的转录会话,您可以向其推送音频,并接收文本转录的实时流。
参数:
| 名称 | 类型 | 描述 | 默认值 |
|---|---|---|---|
input
|
StreamedAudioInput
|
要转录的音频输入。 |
required |
settings
|
STTModelSettings
|
用于转录的设置。 |
required |
trace_include_sensitive_data
|
bool
|
是否在跟踪记录中包含敏感数据。 |
required |
trace_include_sensitive_audio_data
|
bool
|
是否在跟踪记录中包含敏感音频数据。 |
required |
返回值:
| 类型 | 描述 |
|---|---|
StreamedTranscriptionSession
|
新的转录会话。 |
Source code in src/agents/voice/model.py
语音模型提供者
基类: ABC
语音模型提供者的基础接口。
模型提供者负责根据给定的名称创建语音转文本和文本转语音模型。