elevenlabslib
完整elevenlabs API的Python封装。
注意:现在已有官方封装,但本项目将继续维护。
主要原因是播放方法不同。通过纯Python进行播放而不是通过管道传输到外部进程,可以实现一些重要的额外功能,如:
- 在特定输出设备上播放
- 在播放开始和结束时精确运行函数
- 从Python内部控制播放
文档现已在 https://elevenlabslib.readthedocs.io/en/latest/ 提供
安装
只需运行 pip install elevenlabslib
,它已在 pypi 上提供。
注意:在Linux上,你可能需要安装portaudio。在debian及其衍生版上,使用 sudo apt-get install libportaudio2
,可能还需要 sudo apt-get install python3-pyaudio
。
重要:该库需要libsndfile v1.1.0
或更新版本,因为mp3支持是在该版本引入的。这在Windows上不会是问题,但在其他平台上可能有关。查看 soundfile 仓库了解更多信息。
使用方法
如需更全面的示例,请查看 example.py 或 文档。
以下是一个非常简单的使用样例。
- 根据名称检索语音
- 播放(使用包含sounddevice的内置播放功能)所有样本(及预览)
- 生成并播放新音频
- 从用户历史记录中删除新创建的音频
from elevenlabslib import *
user = User("API_KEY")
voice = user.get_voices_by_name_v2("Rachel")[0] # 这是一个列表,因为多个语音可能有相同的名称
voice.generate_play_audio_v2("测试。", playbackOptions=PlaybackOptions(runInBackground=False))
for historyItem in user.get_history_items_paginated():
if historyItem.text == "测试。":
# 最新的项目在前,所以一找到就可以停止。
historyItem.delete()
break