功能详情

下面每一项都已经在真机上跑通。有截图的地方是 v1.0.0 的实际界面,没有截图的地方就直接写清楚它做了什么 —— 我们不用效果图凑数。

三设备速览

同一种离线,三种屏幕

声落在手机、平板和 PC 上都是同一套离线引擎 —— 屏幕变大,工作流不用从头来。

01 / ASR

端侧字幕识别

选好音频或视频后,声落先用 VAD 把长音频切成一句一句的片段,再交给 SenseVoice-small 逐段识别。整个过程不发出任何网络请求 —— 你可以在转写开始后直接打开飞行模式,它会照常跑完。

识别结果自带时间戳,可以直接进入时间轴逐条核对,也可以先交给 AI 校对再看。

sherpa-onnx SenseVoice-small silero-VAD 200MB

主界面 · 空态

02 / BURN-IN

硬字幕烧录

把字幕真正压进画面,而不是生成一个需要播放器另行加载的外挂文件。烧完的视频发到任何平台都不会丢字幕,也不用担心对方播放器不支持 ASS 样式。

01
定样式

字体、字号、颜色、描边、位置在 App 内直接调,所见即所得。

02
逐帧渲染

libass 把字幕按样式绘制到每一帧画面上,与桌面端渲染同源。

03
落盘入相册

ffmpeg 重新封装成视频文件,直接保存进系统相册。

ffmpeg libass ASS / SRT / VTT 保存到系统相册

这一项的产物是一段视频,静态截图说明不了什么 —— 所以这里不放图。

03 / PROOFREAD

端侧 AI 校对

识别结果先过一遍规则清洗(去重复、并短句),再交给 Qwen3-1.7B 做语义级纠错:补标点、拆长句、修专有名词。模型通过 llama.cpp 在本机推理,同样不联网。

设置里能看到两个模型各自的来源与占用,也能随时删掉释放空间。删除校对模型后,基础转写功能不受影响。

llama.cpp Qwen3-1.7B 1.03GB 两段式流程

设置面板 · 模型来源与占用

碰一碰接收

在电脑上选好素材,靠近手机轻碰一下,文件就过来了。不走聊天软件、不走网盘、不用数据线 —— 这条路径本身也是离线的。

HarmonyOS Super Device 本地直传

批量转写队列

一次丢进多个文件,声落按队列依次处理,每条各自显示自己的状态。中途切走做别的事,回来接着看进度。

队列管理 逐条状态追踪
04 / EXPORT

多格式导出

同一份识别结果可以取 SRT、VTT、ASS 三种字幕格式,也可以只要一段不带时间码的纯文本。切换标签页就能预览,不必先导出再打开检查。

右边这张截图是 PC 主界面 —— SRT / VTT / ASS 标签、导出与烧录按钮都在同一屏。

SRT VTT ASS 纯文本

PC 主界面 · SRT / VTT / ASS 标签与导出烧录入口

05 / THEME

皮肤系统

墨青、暮橙、月白、纯黑、纯白、幻夜、初音七套主题,外加 auto 跟随系统深浅色。每套都是完整的一整组配色,不是给同一个界面换个按钮颜色。还可以指定一张自己的图片做背景。

你现在看到的这个官网的青绿,就取自 App 默认主题「墨青」的主色 #35C9B5。

7 套主题 auto #35C9B5 自定义背景图

主题选择弹窗 · 7 套主题全览

更多能力

还有这三件小事

不够格单开一张大卡,但少了它们会很难受。

ASS 自定义样式

字体、字号、主色与描边色、边距与对齐位置逐项可调。调好的样式会同时作用于导出的 ASS 文件和烧录进画面的硬字幕。

ASS v4+

字幕时间轴

序号、开始时间、结束时间、文本四列并排,逐条核对与修改。长音频出错时不用整段重来,改一行就行。

四列表格

多设备适配

手机、平板、2in1 三种形态各有各的布局。宽屏上分栏并排,窄屏上纵向堆叠,不是把手机界面拉大了事。

手机 / 平板 / 2in1
技术规格

具体用了什么

这些参数放在这里,是为了让你可以自己去核对,而不是相信一句「专业级」。

声落 v1.0.0 技术规格参数表
语音识别引擎sherpa-onnx + SenseVoice-small
识别模型体积≈ 200 MB
语音活动检测silero-VAD
AI 校对模型Qwen3-1.7B · llama.cpp
校对模型体积≈ 1.03 GB
音视频处理ffmpeg(Native C++)
字幕渲染libass
导出格式SRT / VTT / ASS / TXT
界面框架ArkTS / ArkUI
HarmonyOS SDKcompatible SDK 6.1.0(23)
支持设备手机 / 平板 / 2in1
应用体积≈ 1.2 GB
包名shengluo.qinglanzhuma.huawei
网络权限不需要

应用体积偏大是因为两个模型都内置在安装包里。这是「离线」的代价,也是它能真的离线的原因。

想看它是怎么一步步变成这样的?

从一个云端 ASR 工具,到今天这个完全离线的版本,中间只隔了五天。