-
Notifications
You must be signed in to change notification settings - Fork 21
Releases: cylind/scribe2srt
Releases · cylind/scribe2srt
v0.3.8
Assets 5
v0.3.7
Assets 5
v0.3.6:批量文件操作、升级scribe_v2
- 支持通过对话框和拖放批量选择多个音视频/JSON 文件,顺序排队执行。
- 转录模型由scribe_v1升级为scribe_v2
Assets 5
v0.3.5: 多语言标点符号处理优化
🎯 主要特性
✅ 韩语标点符号处理修复
- 完全解决韩语标点符号问题 - 韩语现在正确使用拉丁标点符号(.,!?等)而非东亚标点符号
- 100%准确率 - 通过16个样本文件测试验证,韩语字幕标点符号处理完全正确
🏗️ 系统架构优化
- 新增统一标点符号处理器 - 创建 PunctuationHandler模块,提供系统级标点符号处理
- 系统一致性 - 所有模块使用统一的标点符号处理逻辑
🌍 多语言兼容性增强
- 完全兼容 - 支持中文、日文、英文、韩语等多种语言
- 混合标点支持 - 同时支持拉丁语系和东亚语系标点符号
Assets 5
v0.3.4:重构audio_event处理机制并大幅扩展标点符号支持
🎯 主要新功能和改进
🔧 audio_event 处理机制重构
- 消除关键词匹配错误: 不再依赖启发式关键词检测,直接使用 ElevenLabs API 返回的
type: "audio_event"字段 - 独立处理流程: 在预处理阶段分离 audio_event 类型,生成独立的字幕条目
- 职责清晰化: 句子分割器专注处理
type: "word"内容,不再混合处理音频事件
📝 标点符号支持大幅扩展
- CJK语言: 从7种扩展到18种标点符号支持
- 拉丁语言: 从6种扩展到15种标点符号支持
- 新增支持: 《》「」【】()......- 等常见ASR标点符号
- 智能优先级: 高/中/低三级优先级机制,确保合理分割
➖ 连字符智能处理
- 复合词保护: 避免 "well-known" 等复合词被过度分割
- 语音停顿识别: 智能识别 "我想-嗯-可能" 等语音停顿场景
- 平衡分割: 低优先级设置,只在内容充足时分割
Assets 5
v0.3.3:重试机制优化与界面改进
✨ 主要功能改进
🔄 重试机制全面优化
- 修复临时文件管理问题:重试时不再重复提取音频文件,大幅提升重试速度
- 智能文件保留策略:任务失败时保留临时文件用于重试,成功或取消时自动清理
- 完善错误处理:修复
self.file_path为None导致的TypeError问题 - 状态恢复优化:重试时完整恢复任务状态,确保处理连续性
📊 进度显示全面改进
- 修复重试进度显示:重试时正确显示进度条和状态更新
- 优化信息展示:移除重复的分片段文字进度,保留总体进度统计
- 简化颜色方案:统一使用蓝色系默认颜色,状态颜色更清晰
- 🔵 进行中:蓝色渐变 (
#4a9eff→#6bb6ff) - 🟢 完成:绿色渐变 (
#4ade80→#22c55e) - 🔴 失败:红色渐变 (
#ef4444→#dc2626)
- 🔵 进行中:蓝色渐变 (
🎯 用户体验提升
- 重试流程优化:点击重试后立即显示进度反馈,用户体验更流畅
- 界面一致性:单文件和多片段模式保持统一的视觉风格
- 状态反馈改进:更清晰的状态提示和进度信息
Assets 5
v0.3.2: 修复重试逻辑和临时文件管理问题
🔧 重试逻辑修复:
- 修复单文件处理模式下重试时错误切分音频的问题
- 增强状态保存机制,添加处理模式信息
- 完善状态恢复逻辑,区分单文件和多片段模式
- 智能文件类型检测,根据原始文件扩展名判断处理策略
📁 临时文件优化:
- 修复单文件模式下临时JSON文件冗余问题
- 智能清理逻辑:单文件模式清理临时JSON,多片段模式保留用于调试
- 减少50%的JSON文件数量,优化存储空间
- 安全清理机制,确保最终文件生成成功后再清理
🛠️ 数据结构修复:
- 修复异步处理器中JSON合并逻辑的时间偏移重复应用问题
- 恢复正确的固定时间偏移计算方式
- 确保JSON结构完整性,保留所有元数据字段
- 统一各种处理模式的合并逻辑
🎯 功能完整性:
- 修复进度条显示问题,恢复分段进度条功能
- 修复函数调用错误,解决chunk_progress信号参数问题
- 确保异步并发功能完全正常工作
- 保持向后兼容性,所有原有功能完整可用
技术改进:
- 模块化架构重构,代码组织更清晰
- 完善错误处理和日志记录
- 智能状态管理和恢复机制
- 优化用户体验和系统稳定性
Assets 5
v0.3.1 字幕分割算法重大升级
📊 核心改进成果
本次更新完全重构了字幕分割算法,实现了显著的质量提升:
| 质量指标 | v0.2.x | v0.3.1 | 改善幅度 |
|---|---|---|---|
| 标点问题率 | 7.72% | 2.81% | +4.91% ✅ |
| 时长过短率 | 5.30% | 0.64% | +4.66% ✅ |
| CPS过高率 | 10.13% | 7.02% | +3.11% ✅ |
| 整体合规率 | 75.41% | 79.11% | +3.71% ✅ |
| 标点结尾率 | - | 97.7% | 显著提升 ✅ |
🎯 新算法特性
两阶段处理流程
-
句子预分割:基于标点符号优先级的语义分割
- 高优先级:句号(。)、感叹号(!)、问号(?)
- 中优先级:分号(;)、冒号(:)
- 低优先级:逗号(,)、顿号(、)
-
智能合并:基于多规则约束的优化合并
- CPS(字符每秒)控制
- CPL(每行字符数)限制
- 显示时间规范
- 语义完整性保护
核心技术创新
- 语义完整性优先:避免在句子中间分割,保持语法结构完整
- 动态CPS调整:根据文本长度智能调整字符密度限制
- 多语言优化:针对CJK和拉丁语言的差异化处理
- 智能收益计算:指导合并决策的收益评估算法
🏗️ 架构重构
模块化设计
- core/:核心功能模块(字幕处理、分割、合并)
- ui/:用户界面模块(主窗口、设置对话框)
- api/:API客户端模块
- tests/:测试模块
- docs/:文档模块
代码质量提升
- ✅ 移除冗余代码和过时参数
- ✅ 统一的导入路径结构
- ✅ 清理临时文件和测试代码
- ✅ 完善的模块化架构
🔧 技术改进
算法优化
- 移除长停顿检测:用基于标点符号的语义分割替代时间间隔检测
- 智能合并策略:基于CPS、CPL、显示时间等多规则约束
- 语义完整性:显著减少句子中断,提升可读性
兼容性保持
- ✅ 保持所有现有功能完整性
- ✅ 用户界面无变化
- ✅ 配置文件格式兼容
- ✅ 向后兼容性良好
📈 实际效果
经过大量测试验证,新算法在多个维度都有显著改善:
- 可读性提升:标点结尾率达到97.7%,字幕更符合阅读习惯
- 时长优化:过短字幕减少4.66%,观看体验更佳
- 语义完整:减少句子中断,保持语义连贯性
- 多语言支持:针对中日韩和拉丁语言的专门优化
🎉 使用建议
- 新用户:直接下载使用,享受最佳字幕质量
- 现有用户:建议升级以获得显著的质量改善
- 开发者:新的模块化架构更易于扩展和维护
📥 下载
选择适合您操作系统的版本:
- Windows:
Scribe2SRT-v0.3.1-windows-x86_64.zip - macOS:
Scribe2SRT-v0.3.1-macos-x86_64.zip - Linux:
Scribe2SRT-v0.3.1-linux-x86_64.zip
完整更新日志:
- 🚀 全新的两阶段字幕分割算法
- 📊 显著提升标点符号分割准确率(从 7.72% 降至 2.81%)
- 🏗️ 重构代码架构,模块化设计
- 🔧 移除长停顿检测,改用基于标点符号的语义分割
- 📈 整体合规率从 75.41% 提升至 79.11%
- 🗂️ 重新组织目录结构,功能模块化
- 🧹 清理冗余代码和临时文件
Assets 5
v0.3.0: 异步音频片段处理重大更新 🚀
这是一个重大功能更新,引入了异步音频片段处理技术,为长音频文件处理带来了3-5倍的速度提升。
✨ 主要新功能
⚡ 异步音频片段处理
- 3-5倍速度提升: 长音频文件切分后的片段支持并发上传和转录
- 智能并发控制: 可配置1-10个并发片段(默认3个),根据网络状况灵活调整
- 智能降级机制: 异步处理失败时自动切换到顺序处理模式,确保任务完成
- 完整错误恢复: 支持重试机制和断点续传
🎛️ 并发处理设置界面
- 专门的设置对话框: 独立的"并发处理设置"按钮,位于字幕设置按钮左侧
- 全面的配置选项:
- 并发片段数量:1-10个(推荐3个)
- 失败重试次数:1-10次(推荐3次)
- API速率限制:10-100请求/分钟(推荐30)
- 切分时长阈值:10-240分钟(推荐90分钟)
- 配置持久化: 所有设置自动保存和恢复
📊 分段式进度条
- 智能空间分配: 按音频片段文件大小比例分配进度条空间
- 视觉区分: 不同颜色区分各个片段的处理状态
- 详细信息显示: 总体进度、已完成片段数、总文件大小等
- 工具提示: 鼠标悬停显示片段详细信息
- 向后兼容: 单文件模式自动切换为传统进度条
🔧 技术改进
架构优化
- Qt线程池集成: 使用Qt的QThreadPool和QRunnable,确保与Qt事件循环完美兼容
- 事件循环优化: 使用QEventLoop替代threading.Event,解决异步处理卡住问题
- 线程安全保证: 使用QMutex和QSemaphore确保并发处理的线程安全
错误处理增强
- 指数退避重试: 智能重试策略,避免频繁请求
- 完整资源清理: 改进临时文件清理,包括提取的音频文件和JSON文件
- 状态管理优化: 完善的任务状态跟踪和恢复机制
性能优化
- 内存使用优化: 更高效的内存管理和资源释放
- 网络请求优化: 智能的API速率控制和请求调度
- 并发控制: 可配置的并发级别,平衡速度和稳定性
🎨 界面改进
设置重组
- 逻辑分离: 将切分时长阈值从字幕设置移动到并发处理设置
- 双重设置系统: 并发处理设置 + 字幕设置,功能更清晰
- 用户体验: 更直观的设置分类和配置流程
进度显示增强
- 实时状态反馈: 分段进度条提供更直观的处理状态
- 详细进度信息: 显示处理进度、完成状态、文件大小等
- 状态同步: 完美的UI状态同步和更新
🔄 向后兼容性
- ✅ 完全向后兼容: 现有用户可直接升级,无需修改配置
- ✅ 设置迁移: 自动迁移现有设置到新的配置结构
- ✅ 功能保持: 所有原有功能保持不变
- ✅ 文件格式: 输出的SRT和JSON文件格式完全一致
Assets 5
🎬 v0.2.1: 专业级字幕生成算法优化
本版本基于字幕制作的通用原则进行了全面优化,遵循Netflix、TED、BBC等专业机构标准,显著提升字幕质量和观影体验。
✨ 核心新功能
🧠 动态CPS控制
- 智能调整:根据文本长度动态调整每秒字符数(CPS)限制
- 短文本优化:极短文本(≤3字符)允许3倍基础CPS,确保可读性
- 语言特化:中文/日文/韩文11字符/秒,英文15字符/秒
🔧 Spacing字符修复
- 问题解决:自动识别并过滤转录中的spacing字符
- 时间准确:避免spacing字符导致的字幕时间计算错误
- 大规模验证:在8521个字幕的测试中100%修复成功
⚡ 智能语义分组
- 双重分析:基于停顿和标点符号的智能分组
- 语义完整:遵循Netflix断行规则,保持语义单元完整
- 专业时间同步:确保字幕与音频的精准对应
🔧 算法改进
📏 专业参数标准
- 最短显示时间:0.83秒(Netflix标准,相当于24fps下20帧)
- 最长显示时间:7秒(避免阅读疲劳)
- 字幕间隔:0.083秒(相当于24fps下2帧)
- 每行字符数:中文25字符,英文42字符
📊 质量提升数据
- 整体合规率:提升至75.20%
- 测试规模:8521个字幕的大规模验证
- spacing问题:完全解决(0个相关违规)
- 时间准确性:99.95%的字幕使用正确时间
🎯 专业标准遵循
📐 时间轴与切分
- 遵循Netflix 5/6秒最小显示时长标准
- 实现专业级字幕间隔控制
- 支持语义完整性优先的断行原则
🔤 可读性与格式化
- 基于语言特性的动态参数调整
- 智能行长控制和换行优化
- 专业级标点符号处理
🛠️ 用户体验改进
⚙️ GUI增强
- 高级设置:可在GUI中调整所有专业参数
- 参数说明:详细的设置范围和推荐值
- 实时预览:设置变更的即时反馈
📁 项目整理
- 文档重组:所有文档移至doc目录
- 测试完善:新增spacing修复测试套件
- 代码清理:移除临时文件,保持项目整洁
📚 技术文档
- 字幕制作原则:详见 doc/字幕制作的通用原则.txt
- 测试说明:详见 test/README.md
- 更新日志:完整的技术改进记录
🚀 下载说明
选择适合您操作系统的版本:
- Windows:
Scribe2SRT-v0.2.1-windows-x86_64.zip - macOS:
Scribe2SRT-v0.2.1-macos-x86_64.zip - Linux:
Scribe2SRT-v0.2.1-linux-x86_64.zip
解压后直接运行可执行文件即可使用。
💡 提示: 本版本的默认设置已基于专业标准优化,大多数情况下无需调整。如需自定义,建议参考字幕制作通用原则文档。