RealtimeSTT 是一个易于使用、低延迟的实时语音转文字库,适用于各种需要快速精确语音转换的应用,尤其是语音助手和实时转录系统。
主要特点
- 实时转录:利用 GPU 加速的 Faster_Whisper 模型实现实时语音转文字。
- 语音活动检测:自动检测语音开始和结束,支持 WebRTCVAD 和 SileroVAD。
- 唤醒词激活:支持 Porcupine 和 OpenWakeWord唤醒词检测,允许设置自定义唤醒词。
- 多语言支持:支持多种语言,包括英语、中文等。
安装与使用
安装步骤
-
Python 环境:确保有 Python 3.x 环境。
-
安装 RealtimeSTT:
bash pip install RealtimeSTT
-
Linux 和 MacOS 预安装步骤:
-
Linux:
sqlbash sudo apt-get update sudo apt-get install python3-dev portaudio19-dev
-
MacOS:
bash brew install portaudio
-
基本使用示例
实时打印语音内容
python
python
from RealtimeSTT import AudioToTextRecorder
def process_text(text):
print(text)
if __name__ == '__main__':
recorder = AudioToTextRecorder()
while True:
recorder.text(process_text)
自动录音与转录
python
python
from RealtimeSTT import AudioToTextRecorder
if __name__ == '__main__':
with AudioToTextRecorder() as recorder:
print(recorder.text())
唤醒词激活
css
python
from RealtimeSTT import AudioToTextRecorder
if __name__ == '__main__':
recorder = AudioToTextRecorder(wake_words="jarvis")
print('Say "Jarvis" to start recording.')
print(recorder.text())
扩展应用
RealtimeSTT 可与其他库如 RealtimeTTS 结合,实现语音助手或实时翻译系统。例如,使用 RealtimeSTT 将语音转为文本,然后通过 RealtimeTTS 将文本转回语音,形成闭环的语音交互系统。
实时翻译示例
结合 OpenAI API 实现实时翻译:
ini
python
import openai
from RealtimeSTT import AudioToTextRecorder
from RealtimeTTS import TextToAudioStream, SystemEngine
def process_text(text):
# 使用 OpenAI API 进行翻译
translation = openai.Completion.create(
model="text-davinci-003",
prompt=f"Translate '{text}' to Spanish",
max_tokens=100
).choices[0].text
# 使用 RealtimeTTS 播放翻译结果
engine = SystemEngine()
stream = TextToAudioStream(engine)
stream.feed(translation)
stream.play_async()
if __name__ == '__main__':
recorder = AudioToTextRecorder()
while True:
recorder.text(process_text)
性能优化
- GPU 支持:使用 CUDA 加速可以显著提高性能。确保安装了合适版本的 PyTorch 和 cuDNN。
- 模型选择:选择合适大小的模型以平衡准确性和性能。
RealtimeSTT 是一个强大的实时语音转文字工具,通过其灵活的 API 和高性能的 GPU 支持,可以广泛应用于语音助手、实时翻译等领域。