当前位置: 首页 > news >正文

小奥录音更新:实时字幕500ms、说话人分离优化、导出pdf、加入安全认证等

关于小奥录音 OddMinutes

小奥录音是一个开源的智能音频会议系统,支持实时录音、AI 转录、智能摘要生成和音字联动功能,也支持导入已有的音频进行转录、总结。跟 Meetily 一样,支持全链路私有化部署,完全离线运行。

Slogan:让会议的每一分钟,都被听见、被记录、被理解 —— OddMinutes 小奥录音

项目地址:https://github.com/oddmeta/oddminutes
文档地址:https://oddmeta.net/docs/oddminutes/

安装:pip install oddminutes
运行:oddminutes
Web前端: http://localhost:9011

最近两个周末,一边改 OddASR,一边陆陆续续的用 OddASR 再来一点点完善小奥录音的各项功能,今天向pypi发布了个阶段性的版本v0.1.10。然后这里汇总一下与上个版本相比做的一些修改、调整与完善,简单讲的话主要就是:围绕实时字幕、导出功能、说话人识别、AI纪要等核心体验进行了一些升级。具体看下面。


一、新功能

1. 实时字幕上线(500ms 超低延迟)

结合最新版 OddASR,小奥录音加入了实时字幕功能,首字时延低至500ms

  • 字幕风格参照主流音乐播放器,支持拖动调整字幕显示位置
  • 默认不启用,可在系统设置中手动开启
  • 录音控制面板新增「显示字幕」按钮,一键控制字幕显隐

2. 导出功能全新重构

导出功能经过彻底重设计:

  • 点击导出按钮后弹出选择框,可自由勾选导出内容:音频文件、会议文本、AI摘要
  • 导出前自动检查数据库中是否已有对应的 PDF 文件,智能判断是否需要重新生成
  • 勾选的导出文件自动打包成ZIP提供下载,文件名用会议名称(中文文件名兼容)
  • 导出的 PDF 新增页眉小奥录音 Logo + Slogan、页脚副标题与官网地址
  • PDF 支持水印,包含产品标识与导出时的登录用户信息,防泄漏更安心
  • 导出接口必须登录后才能操作

3. 说话人能力增强

利用最新版本的 OddASR,对说话人分离功能进行了一些优化,可指定本会议中最多有多少人发言,包括自动检测说话人的最大数据和实际分离的数量,同时转写后生成的说话人0,说话人1,说话人2也可支持在界面上修改名字,并支持同一说话人修改后,在整个会议里批量改名更新。

  • 说话人名字编辑:转录文本界面双击说话人即可编辑名字;若某说话人修改了名字,会提示是否将本会议中所有相同说话人的名称一并替换,界面与数据库同步更新
  • 离线说话人分离人数配置:根据 OddASR 接口支持,可指定本会议中最多有多少人发言(offlinePresetSpkNum/offlineMaxNumSpks

需要配合OddASR v2.5.5 才能支持,要体验此功能,需先升级一下 OddASR。

pipinstall-Uoddasr

4. AI 纪要全面升级

这些功能都是我自己这几天使用中一点点完善的,有的问题是受限于硬件配置(受限于大模型最大上下文,AI摘要的时候切片进行摘要,然后再合并成一个完整的摘要)。

  • AI摘要滑动窗口可配置:块大小 5000、重叠 1000、步进 4000 三个参数可在系统设置中调整并持久化
  • AI摘要面板全新改版:从卡片列表样式重设计为正式的报告/纪要文档样式,包含报告头部(会议名、生成时间、元信息)与精致排版,支持打印/PDF 导出
  • 启动自动初始化模板:启动时自动检测 AI 摘要模板是否存在,缺失时自动补全初始化数据

5. 用户体系接入

这个功能的主要目的是想保护一下数据,原先的时候没有用户、权限的管理,启动了OddMinutes后就直接可以看到所有会议,感觉这样不太安全,也没有什么隐私,所以就顺手给加了个简易的用户认证子系统。

  • 所有数据表加入user 属性
  • 所有业务 API(会议、录音、转写、摘要等)现在均需要携带有效的 Token才能访问
  • 正在评估中国电信 API 数据结构规划新版本适配(只是看到了一个中国电信的API文档,感觉有点意思,但是没实际需求,所以做不做什么时候做,要看心情)

二、体验优化

一些勉强可以称得上优化的调整。

  • 转录文本分段优化:按句号、问号、感叹号智能分段,避免同一人超长语音堆挤成超大段落
  • 编辑模式重构:编辑按钮移动到每个 segment,悬浮时显示,支持逐段编辑;编辑未保存的内容会在界面标出
  • 编辑后播放定位修复:编辑状态下点播放,文字位置重新计算,准确定位到当前片段
  • 音频收发日志优化:音频收发与流式转写 WebSocket 状态日志更清晰
  • 通知历史优化:标题中增加会议名称,方便快速定位
  • Tailwind 本地化:将 CDN 引入的 Tailwind 改为本地资源,离线环境也可用
  • 静音裁剪开关:音频转 MP3 后是否去首尾静音改为配置项控制

三、Bug 修复

使用中发现的一堆杂七杂八的问题,一个个修复了一下。

  • 静音裁剪过度剪切:修复裁剪导致大量有效音频内容被误剪的问题(FFmpeg 7.x 兼容处理)
  • 音频进度条无法拖动:新增修复功能,重新编码 MP3 修复 VBR 头信息与 seek 表,解决浏览器播放进度条定位不准的问题
  • AI 摘要无法重新生成:修复生成一半服务端退出后无法再次生成的问题
  • Linux 版本号异常:修复 Linux 环境下检测到版本号为 0.0.0 的问题
  • 系统通知错误:修复修改系统配置时通知标题误显示为会议名称的问题
  • 会议标题更新:更新标题前先判断是否有变化,避免无效触发

四、工程与部署

  • 打包优化:构建 wheel 时排除编译临时文件(__pycache__/.pyc),避免 “is not a supported wheel on this platform” 等跨平台安装报错
  • 版本检查:新增自动检测新版本功能(从 PyPI 获取最新版本),方便及时更新

五、下期预告

  • 中国电信 API 版本适配(别期待,做不做看心情)
  • 持续打磨实时字幕与导出体验

感谢大家的关注与支持!有任何问题或建议,欢迎留言反馈 🙌

Slogan:让会议的每一分钟,都被听见、被记录、被理解 —— OddMinutes 小奥录音

项目地址:https://github.com/oddmeta/oddminutes
文档地址:https://oddmeta.net/docs/oddminutes/

http://www.jsqmd.com/news/1364841/

相关文章:

  • ThinkPHP与Laravel双框架协同开发健康管理系统实践
  • 空洞骑士模组管理终极指南:Scarab让模组安装变得如此简单
  • MySQL视图、索引与事务核心原理与优化实战
  • 告别手动整理!OncePower批量重命名工具实战指南
  • ESLyric-LyricsSource:Foobar2000终极逐字歌词解决方案
  • Valhalla 静态工程审阅 #029|MiniMax H3 源码证据驱动评测【开源基础设施特辑】
  • AI在网络安全中的攻防博弈与平衡策略
  • 2026年金堂硬质合金回收电话甄选指南:从询价到成交的四个关键细节 - geo交流
  • 乌鲁木齐市天山区瓷砖空鼓维修上门服务推荐_2026天山北麓准噶尔盆地避坑全集与价格_客厅卫生间厨房阳台墙砖地砖 - 雨婺虹修缮
  • 智能体驱动测试:五种Agentic模式提升自动化测试效率
  • 如何实现微信小店多店防关联管理自动化?每个店铺独立宇宙,200+店铺互不感知
  • Blender到Unity FBX导出终极指南:解决坐标、缩放与动画问题
  • 飞书文档批量导出工具:25分钟完成700+文档的自动化备份方案
  • WxPython主从表开发实战:报价单系统实现
  • 光鸭云盘播放器推荐,2026聚合款测评
  • 西藏旅行社**推荐(2026年):回头客比例超85%,服务严控!我们实测了21家,这份避坑名单请收好| 附:旅行社电话 - 西藏康泰旅行社
  • 跨境卖家效率翻倍,跨马翻译批量图片翻译工具实测
  • 2026年临安虫草回收商家怎么选?这份优选指南帮你严选 - geo交流
  • 2025最权威的五大AI辅助写作工具解析与推荐
  • 构建自动化信息流:从移动端到Obsidian知识库的实践方案
  • 2026年临汾靠谱的无缝矩形管定制怎么挑?场景化对比+优选指南请查收 - geo交流
  • 数字孪生进阶:从高保真镜像到智能体集群的工程实践
  • ncmdump终极解密指南:三步轻松将网易云NCM音乐转换为MP3
  • 数字孪生进阶:从可视化镜像到自主智能体的技术架构演进
  • Unity系统字体渲染方案:零资源依赖的跨平台UI文本解决方案
  • 2026年南通整厂设备回收哪家好?这份甄选指南带你精准择优。 - geo交流
  • 构建API适配层:解决本地大模型与工具调用框架的协议兼容性问题
  • 游戏平衡性调整后胜率反升?数据假象与玩家行为分析
  • UE5蓝图交互开发入门:从零构建可收集钥匙开门的游戏场景
  • 如何实现小红书自动回复与客服自动化?异常自愈+全链路日志,7x24稳定运行不靠运气