Skip to content

JustSpeak v0.1

Latest

Choose a tag to compare

@coderyjc coderyjc released this 12 Sep 10:10
· 3 commits to main since this release

JustSpeak v0.1.0

JustSpeak 的首个公开预览版本现已发布。

这是一个面向 Windows 的开源桌面语音转文字客户端,支持麦克风实时录音、音视频文件转写、LLM 文本清晰与定向修复,并将录音、任务和历史文稿保存在本机。云端请求直接发送至用户自行配置的阿里云百炼账号。

✨ 版本亮点

全新的五页面工作台

  • 主页:集中展示累计输入字数、录音与文件时长、活跃天数、峰值日期、最近七天使用情况、Token 和预估费用。
  • 实时录音:边说边转写,显示录音时长、音量和实时文字。
  • 文件转写:导入音频或视频、选择音轨、提取 WAV,并按顺序完成长文件转写。
  • 历史记录:查看、编辑、复制、导出、继续或删除历史任务。
  • 设置:统一管理云端模型、本机处理、Prompt、快捷键和场景配置。

实时录音与暂停续录

  • 支持开始、暂停、继续和停止录音。
  • 暂停时保留当前录音和文字,继续后自动建立新的流式 API 连接。
  • 默认使用 Space 开始或暂停,使用 S 停止并完成。
  • 快捷键只在实时录音页生效,可在设置中改绑或停用。
  • 录音持续写入本地磁盘,云端故障时尽量保留已有音频与结果。

三阶段文本处理流水线

一次实时录音会保留以下三个阶段:

  1. 实时录音
  2. 文本清晰
  3. 定向修复

录音停止后,可选的大语言模型会清理口水词、无意义重复和断裂表达,再根据用户设置的 Prompt 完成定向修复。三个阶段均可点击回看并写入历史记录。LLM Model ID 留空时会跳过文本处理。

长文件转写

  • 支持 MP3、WAV、M4A、FLAC、MP4、MKV、MOV、WebM 等 FFmpeg 可解码格式。
  • 自动转换为 16 kHz、单声道、16-bit PCM WAV。
  • 切片时长可设置为 1~10 分钟。
  • 相邻切片固定重叠 10 秒,降低切点附近丢字风险。
  • 支持定向转写 Prompt,为每个片段注入人名、术语和产品名等上下文。
  • 支持暂停、继续、取消和重启后的断点恢复。
  • 可以只提取媒体音轨并保存为 WAV。

历史记录与累计统计

  • 历史记录默认保留最近 50 条,可调整为 10~600 条。
  • 超出上限后自动清理最旧记录及对应任务目录。
  • 删除历史记录不会减少主页已经累计的字数、时长、Token 和费用统计。
  • 过长文件名会在列表中省略,并在文稿详情中完整显示。
  • 时间统一转换为北京时间展示。

配置与使用体验

  • 支持自定义 API Key、Base URL、Workspace ID、ASR Model ID 和 LLM Model ID。
  • 支持中文、英文和自动识别。
  • 支持保存、应用和删除模型场景。
  • 设置修改后自动保存,并在底部状态栏反馈结果。
  • 下拉框和数字输入框已禁用滚轮切换,减少页面滚动时误操作。
  • 重写 Windows 标题栏,使最小化、最大化和关闭按钮与应用主题一致。
  • 重新设计紧凑界面,适合小尺寸窗口使用。

🔐 本地数据与隐私

  • API Key 可仅在当前会话使用,也可保存到 Windows 凭据管理器。
  • API Key 不写入 SQLite、普通配置文件、日志或导出文稿。
  • 录音、媒体切片、任务数据库和转写结果保存在用户指定的数据目录。
  • 日志不会记录完整请求头或音频 Base64。
  • 原始导入媒体不会被修改或自动删除。
  • 项目没有自建音频中转服务。

📦 下载与安装

下载 Release 附件中的:

JustSpeak-portable-0.1.0.zip

完整解压后运行:

JustSpeak.exe

请保留 JustSpeak.exe 同目录下的 _internal 文件夹。便携包已经包含 Python 运行环境、应用依赖、FFmpeg 和 ffprobe。

首次运行时,未签名版本可能触发 Windows SmartScreen。确认文件来源后,可选择“更多信息 → 仍要运行”。

⚙️ 首次配置

打开“设置”,至少填写:

  • 百炼 API Key
  • ASR Model ID
  • 与模型一致的地域

使用业务空间专属模型时,还需要填写 Workspace ID 或完整 Base URL。需要文本清晰和定向修复时,再填写 LLM Model ID 与定向修复 Prompt。

模型、地域、Workspace 和 API Key 权限需要保持匹配。修改设置后请新建任务;已经创建的历史任务会继续使用当时保存的配置快照。

🧪 验证情况

  • 52 项自动化测试通过。
  • Python 源码语法检查通过。
  • PyInstaller Windows 便携包构建通过。
  • 隔离配置下的无控制台启动测试通过。
  • 内置 FFmpeg 与 ffprobe 路径查找测试通过。
  • 自动化测试覆盖配置迁移、重叠切片、流式重采样、任务恢复、历史保留、累计统计、LLM 超时与快捷键。

⚠️ 已知限制

  • 当前仅支持 Windows 和阿里云百炼。
  • 暂不支持系统声音采集、说话人分离、翻译、SRT 字幕编辑和全局输入法注入。
  • 文件暂停会在当前片段完成后生效。
  • 部分账号、Workspace 或流式模型组合在文件提交时可能返回 NO_INPUT_AUDIO_ERROR。相关任务音频会继续保留;遇到此错误时请核对模型权限、地域、接口地址和音频内容。该兼容性仍需更多真实账号与媒体样本验证。
  • 云端识别速度、准确率、模型可用性和实际费用由用户账号、网络及云服务策略决定。
  • 远端超时后的重试可能产生额外调用费用。
  • 当前发布包未进行商业代码签名。

🙏 反馈

如果遇到问题,请在 GitHub Issues 中提供以下信息:

  • Windows 版本
  • JustSpeak 版本
  • ASR/LLM Model ID 与地域,请勿提交 API Key
  • 操作类型:实时录音或文件转写
  • 错误提示与 %LOCALAPPDATA%\JustSpeak\logs 中对应时间附近的日志
  • 可复现步骤

感谢试用 JustSpeak。欢迎提交 Issue、改进建议和 Pull Request。