Skip to content

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Mar 03:41
· 35 commits to main since this release

新功能

  • 人声分离:集成 BSRoformer 神经网络人声分离——在转录前自动分离人声与背景音乐/噪音,大幅提升音乐视频和嘈杂音频的转录准确率。
  • 人声分离:新增 Apple Silicon (Metal) GPU 加速支持,macOS arm64 设备可使用 GPU 加速人声分离。
  • 原生 VAD:从浏览器端 VAD 迁移至原生二进制,语音活动检测速度提升 10 倍以上,可靠支持长视频处理而无需将整个音频缓冲区加载到内存。
  • 反幻觉:新增多层 Whisper 幻觉过滤器——涵盖中英日韩黑名单、重复清理(假名洪泛、短语循环)以及基于 Dice 系数的跨字幕去重。
  • 更新日志弹窗:更新后首次启动自动展示版本说明,关于页新增「查看更新」按钮。
  • 进度:完善端到端进度上报,新增人声分离百分比显示。
  • LLM:统一各 LLM 适配器的用量元数据,实现一致的 Token 追踪。

修复

  • 音频:修复 Windows 上 FFmpeg 和音频解码器无法处理非 ASCII 文件路径的问题,解决 CJK 用户名导致的 EILSEQ 错误。
  • 流水线:在并行处理中正确传递中止信号以支持取消操作,防止信号量过度释放,修复 Gemini Token 用量累加错误。
  • 流水线:新增 WAV 解析器边界检查、RFC 4180 CSV 解析以及 Whisper 片段文本空值保护。
  • Electron:安全加固,采用异步 I/O 并确保资源正确清理。
  • React:修复 memo 安全性、过期闭包、卸载守卫和选择器稳定性问题。
  • 类型:统一接口定义、类型化 IPC 通信契约,修复配置/国际化不一致。
  • 音频:改进人声分离与音频压缩的衔接流程。

重构

  • 更新服务:将 997 行单体文件拆分为 7 个聚焦模块(类型、GitHub API、应用更新器、版本检查、安装器、IPC 处理、编排器)。
  • 流水线:加固生成流程并清理 lint 警告。
  • 二进制:提取共享的 detectBinaryVersion 工具函数,供各二进制管理器复用。

Features

  • Vocal Separation: Integrate BSRoformer neural vocal separation — automatically isolate vocals from background music/noise before transcription for dramatically better accuracy on music videos and noisy audio.
  • Vocal Separation: Add Apple Silicon (Metal) GPU acceleration support for vocal separation on macOS arm64.
  • Native VAD: Migrate from browser-based VAD to native binary for 10x+ faster voice activity detection, with reliable support for long videos without loading entire audio buffers into memory.
  • Anti-Hallucination: Add multi-layer Whisper hallucination filter — curated blacklists for EN/CN/JP/KR, repetition cleaning (kana floods, phrase loops), and cross-subtitle deduplication using Dice coefficient matching.
  • Changelog Modal: Auto-display release notes on first launch after update, with a "What's New" button in the About tab.
  • Progress: Tighten end-to-end progress reporting with vocal separation percentage display.
  • LLM: Normalize usage metadata across LLM adapters for consistent token tracking.

Fixes

  • Audio: Handle non-ASCII file paths in FFmpeg and audio decoder on Windows, fixing EILSEQ errors for users with CJK usernames.
  • Pipeline: Pass abort signal through parallel processing for proper cancellation, cap semaphore release to prevent over-release, and fix Gemini token usage aggregation.
  • Pipeline: Add WAV parser bounds checking, RFC 4180 CSV parsing, and null safety for Whisper segment text.
  • Electron: Security hardening with async I/O and proper resource cleanup.
  • React: Fix memo safety, stale closures, unmount guards, and selector stability.
  • Types: Unify interfaces, type the IPC contract, and fix config/i18n inconsistencies.
  • Audio: Improve vocal separation and compression plumbing.

Refactor

  • Update Service: Split 997-line monolith into 7 focused modules (types, GitHub API, app updater, version checker, installer, IPC handlers, orchestrator).
  • Pipeline: Harden generation flow with lint cleanup.
  • Binary: Extract shared detectBinaryVersion utility for reuse across binary managers.