项目介绍:OpenLRC
项目概述
OpenLRC 是一个基于 Python 的开源项目,它的主要功能是将音频文件转录为文本,并使用大型语言模型(LLM)将转录文本翻译和润色为 .lrc 格式的歌词文件。这个项目借助了 faster-whisper
库进行语音识别,同时使用如 OpenAI-GPT、Anthropic-Claude 等先进的语言模型,实现文本的翻译和加工。
主要功能
- 音频预处理:为了减少转录错误,OpenLRC 对音频进行音量规范化和噪声抑制的预处理。
- 上下文感知翻译:通过对上下文的理解提供更优质的翻译结果。
- 支持双语字幕生成:可以生成目标语言和源语言并列显示的字幕。
- 自定义模型接口:支持用户指定自定义的 OpenAI 和 Anthropic 端点。
最新更新
- 支持 Gemini 作为翻译引擎 LLM,并支持从源代码安装特定版本的
faster-whisper
。 - 增加双语字幕生成功能。
- 引入词汇表,以提升特定领域翻译的准确性。
安装指南
- 确保安装了 CUDA 和 cuDNN,并将
faster-whisper
所需的 NVIDIA 库添加到系统路径中。 - 添加需要的 API 密钥如 OpenAI 和 Anthropic 到环境变量。
- 从源代码安装最新的
faster-whisper
。 - 通过 PyPI 或 GitHub 安装 OpenLRC。
- 安装 PyTorch,以支持神经网络模型的运行。
使用方法
图形界面
OpenLRC 提供基于 streamlit
和正在开发中的 gradio
的图形界面。目前迁移工作正在进行中,用户可以使用命令 openlrc gui
启动图形界面。
Python 使用
以下是如何在 Python 中使用 OpenLRC 的示例:
from openlrc import LRCer
if __name__ == '__main__':
lrcer = LRCer()
# 单个音频文件转录
lrcer.run('./data/test.mp3', target_lang='zh-cn')
# 使用词汇表优化翻译
lrcer = LRCer(glossary='./data/aoe4-glossary.yaml')
lrcer.run('./data/test.mp3', target_lang='zh-cn')
# 更改翻译模型和设置
lrcer = LRCer(chatbot_model='claude-3-sonnet-20240229')
lrcer.run('./data/test.mp3', target_lang='zh-cn')
定价信息
根据 OpenAI 和 Anthropic 的定价,使用不同型号的转换和翻译会产生不同的费用。具体费用视输入和输出的文本量而定。
工作原理
OpenLRC 的工作流程包括对音频的分段转录与翻译,确保上下文的连贯性。它利用大型语言模型的强大处理能力,将复杂的音频内容转化为用户可使用的文本格式。
未来规划
OpenLRC 项目未来计划在以下几个方面进行扩展和改进:
- 增强翻译质量,通过引入更多高效的翻译模型。
- 开发跨平台的图形用户界面。
- 提供更多样化的输出格式支持。
致谢
OpenLRC 项目感谢以下开发者及项目提供的支持:
- faster-whisper
- OpenAI Python API
- Microsoft Translator API
OpenLRC 项目希望通过这些技术为用户提供高效、准确的音频转文工具。