Eleven Labs 文本转语音
此笔记本展示了如何与 ElevenLabs API
交互以实现文本转语音功能。
首先,您需要设置一个 ElevenLabs 帐户。您可以按照此处的说明进行操作。
%pip install --upgrade --quiet elevenlabs langchain-community
import os
os.environ["ELEVEN_API_KEY"] = ""
用法
from langchain_community.tools import ElevenLabsText2SpeechTool
text_to_speak = "Hello world! I am the real slim shady"
tts = ElevenLabsText2SpeechTool()
tts.name
API 参考:ElevenLabsText2SpeechTool
'eleven_labs_text2speech'
我们可以生成音频,将其保存到临时文件,然后播放。
speech_file = tts.run(text_to_speak)
tts.play(speech_file)
或者直接流式传输音频。
tts.stream_speech(text_to_speak)
在代理中使用
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain_openai import OpenAI
llm = OpenAI(temperature=0)
tools = load_tools(["eleven_labs_text2speech"])
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
)
audio_file = agent.run("Tell me a joke and read it out for me.")
[1m> Entering new AgentExecutor chain...[0m
[32;1m[1;3mAction:
{ "action": "eleven_labs_text2speech", "action_input": { "query": "为什么鸡要过操场?为了到另一边滑梯!" } }
[0m
Observation: [36;1m[1;3m/tmp/tmpsfg783f1.wav[0m
Thought:[32;1m[1;3m I have the audio file ready to be sent to the human
Action:
{ "action": "最终答案", "action_input": "/tmp/tmpsfg783f1.wav" }
[0m
[1m> Finished chain.[0m
tts.play(audio_file)