Nosub: a subtitle editor that folds ASR and language models into the timeline
C++ Subtitle Editor (全新C++字幕软件,官网:https://nosub.cn)
At a glance
- What is it?
- Nosub is a C++ and Qt subtitle editor for Windows, macOS and Linux that pairs a libmpv player and waveform timeline with offline speech recognition and LLM proofreading, translation and line breaking. It suits a subtitle writer who wants a single desktop tool, and it is a Chinese-first project with a public release channel and no published licence.
- Who is it for?
- Nosub fits a subtitle writer or small dubbing team who wants transcription, proofreading, translation and line breaking inside one desktop application rather than a chain of separate tools, and who works on Chinese, English, Cantonese, Japanese or Korean audio with a GPU or a local model available.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A subtitle editor built around a player, a timeline and a waveform
Nosub is a subtitle editor written in C++ and Qt, and the stated focus is editing and adjusting subtitles rather than playing video. The developer's own vision line is that subtitling should become genuinely simple for a beginner. The feature list is short and concrete. A minimalist interface with light and dark theme switching, high editing and adjustment throughput, audio and video clip export, and combined single language and bilingual subtitle output. The core components are listed as exactly three: a video player, a timeline drawn as a waveform, and the subtitle editor itself, which handles cutting, merging, deleting, modifying and retiming lines. That is a small surface area for an editor, and it is the reason the tool can be a single application rather than a collection of panels.
libmpv, FFmpeg, SDL2 and sherpa-onnx make up the stack
The libraries behind version 2 of the project are listed in the documentation, and they map directly onto the components. Qt provides the cross platform C++ framework, libmpv is the video player core, and FFmpeg handles audio and video decoding. SDL2 and SDL2_ttf handle multimedia rendering, with OpenGL in the stack as the rendering library. Text handling goes through uchardet for encoding detection and iconv for encoding conversion, which matters for subtitle files arriving in mixed encodings. spdlog is the logging library, and sherpa-onnx is the speech recognition component. The repository is smaller than you would expect for an application with this feature set, with a root that holds Nosub.cpp, Nosub.h, a .ui file, a .qrc resource file, main.cpp, a Visual Studio solution and project files, plus a configcore.md and an add_account.gif.
The ASR line covers seven model families and five languages
The transcription side is where Nosub differentiates itself, and the documentation lists the integrated offline engines as sense-voice, fireredASR, whisper, parakeet, funasr-nano-asr and qwen3-asr, and the language coverage as Chinese, English, Cantonese, Japanese and Korean. Offline is the operative word, because the point of running these locally rather than through a service is that the audio never has to leave the machine. The written tutorials widen the picture further, showing ElevenLabs Scribe v2 used as an online ASR option, Alibaba's Fun-ASR-Nano-2512 Chinese model, Nvidia's parakeet for English and Japanese, Alibaba's SenseVoice, and Xiaohongshu's fire-red-asr, along with a separate note on using an Nvidia GPU for accelerated inference. A model resource bundle is published on the releases page under a dedicated model tag, which is where a specific ASR model is obtained.
Where the release comes from, and what the platform rows actually require
There is no documented install command for Nosub, so the tutorial here stops at where the project points you. Downloads are published on the repository releases page, and the official site and a developer blog carry the longer guides. The supported platform list is written as a checklist, and the Linux row is the one that states its library floor in plain terms.
- [x] Linux (x64 ldd (GNU libc) >=2.34)The other rows in the same checklist carry their own conditions. Windows x64 covers Windows 10 at build 1809 or newer and Windows 11, with the constraint attributed to Qt 6. macOS covers the arm and x64 M chip machines on macOS 15 or newer, and a separate row covers the Kylin V10 SP1 distribution in China at glibc 2.31 or newer. Three rows are unchecked rather than merely unlisted, macOS on Intel, Windows arm 64 and Linux arm 64, and each is marked as not yet developed because the author had no development machine of that type. That is a more honest platform matrix than a silent omission, and it tells you that Apple silicon and Windows x64 are the well trodden paths.
LLM proofreading, translation and smart line breaking
The second large feature block is language model work, and the three applications are distinct. Smart line breaking is the one that changes the shape of the output file, because it decides where subtitle lines end rather than what they say. Proofreading is the correction pass, and the documentation mentions a mode that works from the original script as well as batch operation over many files, with a separate walkthrough on using DeepSeek for proofreading inside Nosub. Translation is the third, with a recorded test of LLM translation, and a written guide on using large models for subtitle processing generally. The demonstration videos also cover AI dubbing across platforms and a bilingual subtitle feature that is described as native rather than assembled afterwards. The practical effect is that the tool covers the whole subtitle chain from transcript to translation to final timing, rather than stopping at the file format.
The 4.0.x line fixed a Linux renderer and a broken find and replace
The release tags tell you what kind of project this is, because each one is a patch on a specific complaint. v4.0.4, published on 2026-10-10, is a fix for the Linux software rendering a black screen. v4.0.1, published on 2026-10-04, is described as an emergency fix for a find and replace bug. v4.0.0, published on 2026-10-03, is the feature release, covering improved subtitle alignment, script matching and playback. A find and replace that is broken is a serious problem in an editor, since that is the operation you use when a term appears in two hundred lines, and a black screen on Linux is not a cosmetic defect either. The last push to the repository was on 2026-10-11, one day after the 4.0.4 tag, and the repository carries a CHANGELOG, a CODE_OF_CONDUCT and a CONTRIBUTING file. There are no GitHub releases listed in the repository entry, and the release tags exist on the project side instead.
Editorial conclusion
Nosub fits a subtitle writer or small dubbing team who wants transcription, proofreading, translation and line breaking inside one desktop application rather than a chain of separate tools, and who works on Chinese, English, Cantonese, Japanese or Korean audio with a GPU or a local model available. It does not fit someone who needs a documented command line workflow, because the project publishes desktop releases and a developer documentation site rather than an install script, and the licence is not named in the repository entry, so redistribution and commercial use need a question answered directly. Before you commit to it, install the release build for your platform, run one track of your own audio through the ASR pipeline to see how the model compares with your own ear, and check the 4.0.x release notes because a Linux rendering fix and a find and replace fix both landed in October 2026.
Frequently asked questions
What is Nosub and what does it do?
Nosub is a subtitle editor written in C++ and Qt, built around three components: a video player, a timeline drawn as a waveform, and the subtitle editor for cutting, merging, deleting, modifying and retiming lines. It also exports audio and video clips and can produce single language or bilingual subtitles.
Which speech recognition models does Nosub support?
The integrated offline engines are sense-voice, fireredASR, whisper, parakeet, funasr-nano-asr and qwen3-asr, with support for Chinese, English, Cantonese, Japanese and Korean. The written guides also cover ElevenLabs Scribe v2 as an online option and using an Nvidia GPU for accelerated inference.
Which operating systems does Nosub run on?
Windows x64 on Windows 10 build 1809 or newer and Windows 11, macOS on arm and x64 M chips with macOS 15 or newer, Linux x64 with glibc 2.34 or newer, and Kylin V10 SP1 with glibc 2.31 or newer. macOS on Intel, Windows arm 64 and Linux arm 64 are marked as not yet developed.
Can Nosub translate subtitles with a language model?
Yes. The feature list includes LLM support for smart line breaking, subtitle proofreading and subtitle translation, with a recorded test of LLM translation and a separate guide on using large models for subtitle processing. Proofreading also has a mode that works from the original script and supports batch operation.
Where do I download Nosub?
The project publishes downloads on its GitHub releases page, and a specific ASR model resource bundle is published there under a model tag. There is no documented install command, so you download a build for your platform, and the official site and developer blog carry the longer guides and configuration notes.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/patui-nosub)Was this useful?