Sign inSign up

linshen/lingopod

By linshen

•Updated over 1 year ago

智能双语播客生成工具 - 将网页内容转化为沉浸式英语学习体验

Image
0

506

linshen/lingopod repository overview

⁠LingoPod (译播客) 🎙️

智能双语播客生成工具 - 将网页内容转化为沉浸式英语学习体验

https://github.com/linshenkx/lingopod⁠

⁠🌟 项目简介

驱动工具,专注于将网页内容智能转换为双语播客。它不仅能自动生成引人入胜的中英文音频内容,还提供精准的双语字幕,为内容创作者和语言学习者提供了一站式的学习解决方案。

首页 播放界面

⁠✨ 核心特性

  • 🤖 智能网页内容提取与总结
  • 💬 AI 驱动的自然对话生成
  • 🗣️ 高品质中英文文本转语音 (TTS)
  • 📝 自动生成双语字幕
  • 🔄 支持中英文音频切换
  • 🎵 智能音频合成与处理
  • 🚀 RESTful API 支持
  • 🎯 用户友好的 Web 界面

⁠🛠️ 技术栈

  • 后端: Python 3.11, FastAPI, SQLAlchemy
  • 前端: HTML5, JavaScript
  • AI: LangChain, OpenAI API
  • 数据库: SQLite
  • 部署: Docker

⁠🚀 安装与部署

项目依赖两个核心服务:

  • LLM 服务: 通过 OpenAI 兼容接口对接,支持各类大语言模型,使用免费的qwen2.5-7b模型也可以达到较好效果
  • TTS 服务: 支持标准 OpenAI TTS API,可选用以下方案:
    • OpenAI 官方 TTS
    • openai-edge-tts⁠ (推荐,免费使用微软 TTS)
    • 其他兼容 OpenAI API 的 TTS 服务
⁠核心服务部署
  1. 创建数据目录:
mkdir -p /path/to/lingopod/data
  1. 启动容器:
docker run -d \
  --name lingopod \
  --restart always \
  -p 28811:28811 \
  -v /path/to/lingopod/data:/opt/lingopod/data \
  -e PORT=28811 \
  -e API_BASE_URL=your_api_base_url \
  -e API_KEY=your_api_key \
  -e MODEL=your_model \
  -e TTS_BASE_URL=your_tts_base_url \
  -e TTS_API_KEY=your_tts_api_key \
  -e TTS_MODEL=your_tts_model \
  linshen/lingopod:latest

访问服务: http://localhost:28811⁠

容器管理:

# 查看容器日志
docker logs -f lingopod

# 停止并删除容器
docker stop lingopod && docker rm lingopod

⁠⚙️ 配置说明

配置可通过config.py或环境变量设置,主要配置项包括:

⁠核心服务配置
# LLM 服务配置
API_BASE_URL="https://api.example.com/v1"  # LLM API 基础地址
API_KEY="your_api_key"                     # API 密钥
MODEL="Qwen/Qwen2.5-7B-Instruct"          # 使用的模型

# TTS 服务配置
TTS_BASE_URL="http://localhost:5050/v1"    # TTS 服务地址
TTS_API_KEY="your_tts_key"                 # TTS API 密钥
TTS_MODEL="tts-1"                          # TTS 模型
⁠语音配置
# 中文主播音色
ANCHOR_TYPE_HOST_CN="zh-CN-XiaoxiaoNeural"   # 主持人
ANCHOR_TYPE_GUEST_CN="zh-CN-YunxiaNeural"  # 嘉宾

# 英文主播音色
ANCHOR_TYPE_HOST_EN="en-US-JennyNeural"    # 主持人
ANCHOR_TYPE_GUEST_EN="en-US-ChristopherNeural"  # 嘉宾
⁠系统配置
# 文件存储
TASK_DIR="./data/tasks"     # 任务文件目录
DB_PATH="./data/tasks.db"   # 数据库路径

# 服务配置
PORT=28811                     # 服务端口
HOST="0.0.0.0"                # 监听地址

Tag summary

Content type

Image

Digest

sha256:6f95c0f91…

Size

248.6 MB

Last updated

over 1 year ago

docker pull linshen/lingopod