← 返回
未分类

Local Audio2SRT

Local-generate and deploy the Audio2SRT project — a MLX Whisper audio transcription and translation Web GUI for Apple Silicon Macs. Unlike audio2srt-deploy (...
Local-generate and deploy the Audio2SRT project — a MLX Whisper audio transcription and translation Web GUI for Apple Silicon Macs. Unlike audio2srt-deploy (...
tsingchou
未分类 clawhub v1.0.0 1 版本 99539.2 Key: 无需
★ 0
Stars
📥 216
下载
💾 0
安装
1
版本
#latest

概述

audio2srt-localgen

在本地从零生成并部署 Audio2SRT 项目 —— MLX Whisper 音频转录与翻译 Web GUI 工具。

audio2srt-deploy(需要从 Gitee 克隆)不同,本 Skill 将所有源代码模板内嵌,执行时直接在目标目录生成完整项目,无需任何网络访问即可获得源码

触发条件

以下关键词或意图触发本 Skill:

触发词(中文)触发词(英文)
-----------------------------
本地生成audio2srtgenerate Audio2SRT locally
本地搭建转录工具create Audio2SRT project
生成音频转录项目local deploy mlx whisper
不用克隆部署audio2srtsetup whisper tool without git
从零搭建音频转录build whisper GUI from scratch

区分 audio2srt-deploy vs audio2srt-localgen

  • 用户提到"克隆""下载""Gitee" → 使用 audio2srt-deploy
  • 用户提到"本地生成""从零搭建""不用克隆""离线部署" → 使用本 Skill (audio2srt-localgen)
  • 用户只说"部署 audio2srt"且无已有项目 → 默认使用本 Skill(本地生成更可靠)

前置条件

  • macOS 14.0+ with Apple Silicon (M1/M2/M3/M4)
  • Python 3.10+ 已安装
  • Node.js 18+ 已安装

执行流程

Step 1: 确认目标目录

询问用户希望将项目生成到哪个目录。默认值 ~/audio2srt

如果目录已存在且非空,询问是否覆盖(清空重建)或选择其他目录。

重要:不要在用户的工作目录或桌面下直接生成,建议使用 ~/audio2srt 或用户明确指定的路径。

Step 2: 生成项目文件

按以下目录结构,逐个使用 Write 工具生成所有文件。所有文件内容均来自本 Skill 的 references 目录中的模板文件

目标目录结构:

TARGET_DIR/
├── server/
│   ├── transcribe_server.py   # Python 后端(MLX Whisper + mlx-lm)
│   └── requirements.txt       # Python 依赖
├── src/
│   ├── components/
│   │   ├── DropZone.tsx       # 文件拖拽上传
│   │   ├── FileCard.tsx       # 任务卡片
│   │   ├── FileList.tsx       # 文件列表
│   │   ├── Header.tsx         # 顶部栏
│   │   ├── ResultPanel.tsx    # 转录结果面板
│   │   ├── SrtTranslatePage.tsx # SRT 翻译页面
│   │   ├── StatsBar.tsx       # 统计面板
│   │   └── TranscriptionSettings.tsx # 转录参数设置
│   ├── store/
│   │   └── queueStore.ts      # Zustand 状态管理
│   ├── types/
│   │   └── index.ts           # TypeScript 类型定义
│   ├── utils/
│   │   └── helpers.ts         # 工具函数和 API 客户端
│   ├── App.tsx                # 应用主组件
│   ├── main.tsx               # 入口文件
│   └── index.css              # 全局样式
├── models/                    # 模型目录(gitignored,运行时下载)
├── start.sh                   # 一键启动脚本
├── package.json               # Node.js 依赖
├── index.html                 # HTML 入口
├── vite.config.ts             # Vite 配置
├── tsconfig.json              # TypeScript 配置
├── tsconfig.node.json         # TypeScript Node 配置
├── tailwind.config.js         # Tailwind CSS 配置
├── postcss.config.js          # PostCSS 配置
├── .gitignore                 # Git 忽略规则
└── LICENSE                    # MIT 许可证

生成顺序(按依赖关系):

  1. 配置文件:package.json, tsconfig.json, tsconfig.node.json, vite.config.ts, tailwind.config.js, postcss.config.js, index.html, .gitignore, LICENSE
  2. 后端文件:server/requirements.txt, server/transcribe_server.py
  3. 前端类型和工具:src/types/index.ts, src/utils/helpers.ts, src/index.css
  4. 前端组件:src/store/queueStore.ts, src/components/*.tsx, src/App.tsx, src/main.tsx
  5. 启动脚本:start.sh

关键要求

  • 读取 references/ 目录下的模板文件,使用 Write 工具逐个写入目标路径
  • 写入 start.sh 后必须执行 chmod +x 赋予执行权限
  • 确保 models/ 目录存在(mkdir -p TARGET_DIR/models

Step 3: 安装 Python 依赖

cd TARGET_DIR
pip3 install -r server/requirements.txt

如果 pip 失败:

  • 尝试 pip3 install --user -r server/requirements.txt
  • 或建议使用虚拟环境:python3 -m venv venv && source venv/bin/activate && pip install -r server/requirements.txt

Step 4: 安装 Node.js 依赖

cd TARGET_DIR
npm install

Step 5: 启动服务

cd TARGET_DIR
./start.sh

start.sh 自动执行:

  • 检测 models/whisper-large-v3-turbomodels/Qwen2.5-3B-Instruct-4bit 是否存在
  • 从 ModelScope 下载缺失模型(首次约需 5~10 分钟,共约 4GB+)
  • 启动 Python 后端(端口 8765)
  • 启动 Vite 前端(端口 3000)

Step 6: 打开应用

启动成功后,打开浏览器访问 http://localhost:3000

模型来源

模型ModelScope ID本地路径
-----------------------------
Whisper 转录mlx-community/whisper-large-v3-turbo-4bitmodels/whisper-large-v3-turbo
Qwen 翻译mlx-community/Qwen2.5-3B-Instruct-4bitmodels/Qwen2.5-3B-Instruct-4bit

模型总计约 4GB+,首次下载需 5~10 分钟。

服务端口

服务端口URL
-----------------
前端 (Vite + React)3000http://localhost:3000
后端 (Python aiohttp)8765http://localhost:8765

故障排除

模型下载失败

确保 ModelScope CLI 可用:

pip3 install modelscope
python3 -m modelscope.cli.download --model mlx-community/whisper-large-v3-turbo-4bit --local_dir models/whisper-large-v3-turbo
python3 -m modelscope.cli.download --model mlx-community/Qwen2.5-3B-Instruct-4bit --local_dir models/Qwen2.5-3B-Instruct-4bit

端口被占用

lsof -ti:3000 | xargs kill -9
lsof -ti:8765 | xargs kill -9

M4A/MP3 格式不被识别

工具通过 macOS afconvert 自动转换。确保 Xcode Command Line Tools 已安装。

npm install 失败

删除 node_modulespackage-lock.json 后重试:

rm -rf node_modules package-lock.json
npm install

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-25 17:23 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,939
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,371 📥 319,657
ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,071 📥 804,682