github开源 网页在线音频转文本工具 node.js+html源码

今夕在线音频转文本工具

一个浏览器端音频转文字、音频转字幕的静态网页工具。它使用 Transformers.js 在浏览器中运行 Whisper 模型,支持上传音频、试听、转写、分段预览,并导出 SRT、LRC、TXT。

界面预览

在线预览

在线音频转字幕工具 - MP3转SRT字幕、音频转文本、LRC导出

项目特点

  • 不需要自建转写后端,主要流程在访客浏览器中完成
  • 支持本地音频上传后直接播放试听
  • 支持 TXT、SRT、LRC 三种结果格式
  • 内置 Xenova/whisper-tinyXenova/whisper-base 本地模型目录
  • 适合静态部署、学习浏览器端 AI 工具实现、二次开发字幕工具

功能

  • 本地音频上传,上传后可直接播放试听
  • 支持公网音频 URL 导入
  • 浏览器内完成音频解码、重采样和 Whisper 推理
  • 支持 SRT、LRC、TXT 三种结果格式
  • 支持时间分段预览
  • 支持简繁转换
  • 支持远端模型仓库和本地模型目录两种模型来源

目录结构

复制代码
.
├── index.html          # 主页面
├── app.js              # 页面交互、音频处理、结果导出
├── worker.js           # Web Worker,负责模型加载和转写
├── server.js           # 本地静态服务
├── start-site.bat      # Windows 一键启动脚本
├── screenshots/        # README 预览图片
├── vendor/             # 前端依赖文件
└── models/             # 可选本地模型目录

本地运行

需要安装 Node.js。

复制代码
node server.js 8000

然后打开:

复制代码
http://localhost:8000

Windows 下也可以双击:

复制代码
start-site.bat

模型说明

默认模型为 Xenova/whisper-tiny。当前本地目录已预置 Xenova/whisper-tinyXenova/whisper-base,可以在模型来源中选择"本地模型目录"直接使用。tiny 更快,base 更稳但加载和转写会更慢。

如果要继续增加其他本地模型,请把 Transformers.js 兼容格式的模型文件放到:

复制代码
models/Xenova/模型名称/

常见文件包括:

复制代码
config.json
generation_config.json
preprocessor_config.json
tokenizer.json
tokenizer_config.json
onnx/encoder_model_quantized.onnx
onnx/decoder_model_merged_quantized.onnx

部署

这个项目是静态前端工具,可以部署到任意静态 Web 服务,例如 Nginx、Apache、GitHub Pages 或 Cloudflare Pages。

注意事项:

  • .wasm 文件需要用 application/wasm 类型返回
  • 模型文件较大,首次加载时间取决于网络环境
  • URL 导入音频时,目标音频地址需要允许跨域访问
  • 浏览器需要支持 WebAssembly、Web Worker 和 Web Audio API

隐私说明

本地上传的音频在浏览器中解码和处理,不需要上传到你自己的转写服务器。使用远端模型时,浏览器会请求模型仓库下载模型文件。

适用场景

  • 课程录音转字幕
  • 采访录音转文字
  • 口播音频生成字幕初稿
  • MP3 转 SRT / LRC / TXT
  • 静态站点中的浏览器端 AI 工具演示

源码下载

GitHub 仓库:https://github.com/xielaoban-pro/jinxi-audio-to-text

相关推荐
DogDaoDao6 小时前
ShellGPT:当大语言模型遇见命令行——深度解析一个 CLI AI 生产力工具的设计与实现
人工智能·语言模型·自然语言处理·github·大语言模型·shellgpt·终端命令行
uhakadotcom8 小时前
Python 中,`None` 不等于 `False`导致的问题
后端·面试·github
小弥儿11 小时前
GitHub今日热榜 | 2026-07-05:阿里巴巴浏览器Agent上榜
学习·开源·github
uhakadotcom12 小时前
什么是 “无界限的列表积累” 问题
后端·面试·github
AC赳赳老秦1 天前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
FPGA验证小袁1 天前
EMIF BFM设计与实现:把复杂时序装进“一键读写”的黑盒
github
汤姆yu1 天前
macOS系统下Aider完整安装、配置与实战使用教程
大数据·人工智能·算法·macos·github·copilot
小弥儿2 天前
GitHub今日热榜 | 2026-07-04
学习·开源·github
CoderJia程序员甲2 天前
GitHub 热榜项目 - 周榜(2026-07-04)
ai·大模型·llm·github
REDcker2 天前
GitHub SSH 连接失败排障实录
运维·ssh·github