5e95d3af2f9305b255b9dc3a8aa988e4a6f97f2b
Co-authored-by: Cursor <cursoragent@cursor.com>
Trading Studio
本地量化交易复盘 → B 站长视频配音生产流水线
Trading Studio 是一套运行在 Ubuntu 物理服务器(RTX 3060 Ti)上的自动化配音系统,专为数字资产量化交易员设计。通过「盲录碎碎念 → 本地 GPU 识别 → 局域网大模型严厉润色 → 本地 GPU 声音克隆」的闭环,高效产出 B 站反思类长视频配音,辅助交易纪律的自我进化。
Git 仓库: https://git.bz121.com/dekun/Trading_Studio.git
系统定位
| 环节 | 技术栈 | 运行位置 |
|---|---|---|
| 碎碎念录音转写 | Faster-Whisper (CUDA float16) | 本地 3060 Ti |
| 纪律审判式润色 | Gemma4 Abliterated @ Ollama | 局域网 192.168.8.64 |
| 固定音色配音 | ChatTTS (CUDA) | 本地 3060 Ti |
| Web 中控 | Gradio | 端口 5683 |
架构说明
┌─────────────────────────────────────────────────────────────┐
│ Gradio 中控 (app.py:5683) │
├──────────────┬──────────────────────┬───────────────────────┤
│ 音色锁定 │ 音频识别 │ 润色 + 合成 │
│ tts_service │ whisper_service │ llm_service │
│ │ │ tts_service │
└──────┬───────┴──────────┬───────────┴──────────┬────────────┘
│ │ │
▼ ▼ ▼
speaker_emb.pt Faster-Whisper Ollama HTTP
(本地持久化) CUDA / small 192.168.8.64:11434
gemma-4-abliterated
模块解耦
| 文件 | 职责 |
|---|---|
config.py |
Ollama 地址、模型名、Prompt、路径等全局配置 |
whisper_service.py |
Faster-Whisper CUDA 转写 |
llm_service.py |
远程 Ollama HTTP 非流式润色 |
tts_service.py |
ChatTTS 音色提取与 wav 合成 |
app.py |
Gradio 前端与流程编排 |
快速开始
完整环境配置请参阅 DEPLOY.md
# 1. 克隆仓库
git clone https://git.bz121.com/dekun/Trading_Studio.git
cd Trading_Studio
# 2. 创建虚拟环境并安装依赖(详见 DEPLOY.md)
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
# 3. 启动中控
python app.py
# 浏览器访问: http://<服务器IP>:5683
使用流程
首次使用:锁定音色
- 进入 「音色锁定」 标签页
- 上传 10-30 秒干净人声参考(你的碎碎念盲录样本)
- (可选)填写参考音频的精确转写,提升 zero-shot 还原度
- 点击 锁定音色 → 生成
speaker_emb.pt
日常生产
方式 A — 分步操作:
- 音频极速识别:上传复盘录音 → Whisper 转写
- Gemma4 纪律审判:一键润色,生成逻辑清晰、语气严厉的反思稿
- ChatTTS 合成:输出 24kHz
.wav成品配音
方式 B — 一键生产:
上传录音后点击 启动全流程,系统自动串联三步。
核心配置(config.py)
| 配置项 | 默认值 |
|---|---|
| 中控端口 | 5683(0.0.0.0 局域网可访问) |
| Ollama 地址 | http://192.168.8.64:11434 |
| 模型名称 | huihui_ai/gemma-4-abliterated:e4b |
| Whisper 模型 | small / CUDA / float16 |
| 音色文件 | speaker_emb.pt |
| 音频输出 | outputs/ 目录 |
PM2 守护运行
# 方式 1:ecosystem 配置
pm2 start ecosystem.config.js
# 方式 2:直接命令
pm2 start app.py --name "trading_studio" --interpreter ./venv/bin/python
# 常用管理
pm2 status
pm2 logs trading_studio
pm2 restart trading_studio
pm2 save && pm2 startup # 开机自启
.gitignore 配置
提交 Git 时请确保忽略以下产物(已在 .gitignore 中预设):
venv/
*.wav
*.pt
*.log
uploads/
outputs/
说明:
venv/— Python 虚拟环境,每台机器独立创建*.wav— 录音与合成音频,体积大且含隐私*.pt— ChatTTS 音色 Embedding 与模型权重*.log— 运行日志
目录结构
Trading_Studio/
├── app.py # Gradio 主入口
├── config.py # 全局配置
├── whisper_service.py # Whisper CUDA 识别
├── llm_service.py # Ollama 远程润色
├── tts_service.py # ChatTTS 音色与合成
├── ecosystem.config.js # PM2 守护配置
├── requirements.txt # Python 依赖
├── README.md # 本文件
├── DEPLOY.md # 部署指南
├── .gitignore
├── speaker_emb.pt # 音色文件(运行时生成,不入库)
├── uploads/ # 上传临时目录
└── outputs/ # 合成 wav 输出
硬件要求
- GPU: NVIDIA RTX 3060 Ti(8GB 显存,建议锁定 120W 功耗墙)
- 系统: Ubuntu 22.04 / 24.04 LTS
- CUDA: 12.1+(与 PyTorch cu121 匹配)
- 局域网: 可访问
192.168.8.64:11434的 Ollama 节点
常见问题
Q: Whisper 报 CUDA 错误?
A: 确认 nvidia-smi 正常,且未同时运行其他占显存任务。Whisper 使用 float16 已针对 8GB 优化。
Q: Ollama 连接失败?
A: 在服务器上执行 curl http://192.168.8.64:11434/api/tags 验证连通性,确认模型已 ollama pull。
Q: TTS 音色不稳定?
A: 重新锁定音色,填写参考音频精确转写,并保持 temperature=0.3 低随机性。
Q: 合成音频为空或噪声?
A: 检查润色文本长度(过短可能导致异常),确认 speaker_emb.pt 存在且有效。
License
Private — 仅供个人量化交易复盘使用。
Description
Languages
Python
84.6%
Shell
14.3%
JavaScript
1.1%