返回首页
最新
Tambourine 是一个开源、完全可定制的语音听写系统,允许您控制语音转文本(STT)/自动语音识别(ASR)、大型语言模型(LLM)的格式和插入干净文本的提示,以便在任何应用中使用。
我在这方面已经花了几周时间进行开发。促使我开发这个项目的原因是希望拥有一个可定制的 Wispr Flow 版本,能够完全控制模型、格式和系统行为,而不是依赖一个黑箱。
Tambourine 是直接建立在 Pipecat 之上的,依赖于其模块化的语音代理框架。后端是一个本地的 Python 服务器,利用 Pipecat 将 STT 和 LLM 模型整合成一个单一的管道。这种模块化特性使得更换服务提供商、尝试不同的设置以及对语音 AI 进行精细控制变得简单。
我与朋友分享了一个早期版本,并在本地的 Claude Code 聚会上进行了展示。反馈非常积极,大家鼓励我更广泛地分享这个项目。
桌面应用是使用 Tauri 构建的。前端使用 TypeScript 编写,而 Tauri 层则使用 Rust 处理低级系统集成。这使得能够注册全局热键、管理音频设备,并在 Windows 和 macOS 上可靠地在光标处输入文本。
从高层次来看,Tambourine 为您的操作系统提供了一个通用的语音接口。您按下全局热键,讲话,格式化的文本会直接在光标处输入。它可以在电子邮件、文档、聊天应用、代码编辑器和终端中使用。
在底层,音频通过 WebRTC 从 TypeScript 前端流式传输到 Python 服务器。服务器使用可配置的 STT 提供商进行实时转录,然后将转录文本传递给一个 LLM,该模型去除填充词、添加标点,并应用自定义格式规则和个人词典。STT 和 LLM 提供商以及提示可以在不重启应用的情况下进行切换。
该项目仍在积极开发中。我正在处理边缘案例并完善用户体验,可能会有一些重大变更,但大部分核心功能已经运行良好,并已成为我日常工作流程的一部分。
我非常希望能得到反馈,特别是来自对语音作为接口未来感兴趣的朋友们。
你好,HN,
我创建了“Wax On, Python”,这是一个基于浏览器的Python“道场”,通过重复和肌肉记忆来专注于语法的准确性。
[https://waxonpython.com](https://waxonpython.com)
问题:
在学习编码时,容易出现复制粘贴或忽略语法的情况。许多教程解释了逻辑,但并不强迫你实际输入代码。有时,初学者在开始编写脚本时会遇到基本的语法错误(缺少冒号、错误的缩进、不匹配的括号等)。
解决方案:
受到经典虚构故事的启发,这个应用程序采用了一种“严格的老师”授课方式:
- 练习:你会收到代码片段,必须逐字逐句准确输入。
- 立即反馈:打错了?“集中注意!”“太马虎了。”正确吗?“很好。”
- 肌肉记忆:从简单的打印语句开始,逐步过渡到循环、类,最终到Pandas数据框。
- 哲学:在练习之间,你会获得哲学老师的智慧,解释这些概念背后的原因(例如:“变量是桶”,“缩进是选择”等)。
技术特点:
- 完全在浏览器中运行。代码在本地执行,因此没有服务器或延迟。
- 在浏览器中运行Pyodide Python REPL,用户可以在输入时看到实际错误。包括用于数据科学练习的Pandas包。
- 技术栈:原生JavaScript、HTML、CSS。
我为什么要制作这个:
我在工作中组织了一个Python学习小组,希望为任何对Python感兴趣的人提供一个良好的入门点,无论他们的职业或技术背景如何——目标是让语法变得自动化,这样你就不必再思考它,从而腾出思维空间来处理更高层次的逻辑,并让人们感受到他们即将开始的学习旅程。
关于课程进度和“严厉关爱”方法的任何反馈都将非常有帮助——在你的情况下,这种方法有效吗?我很想听听你的看法。
注意:由于Zscaler实施的严格wasm规则,该应用程序在工作中实际上被屏蔽了 :(
最近我有了更多的闲暇时间,于是我利用交通部的数据制作了这个英国公交实时地图,并将其开源。<p>虽然它还有一些粗糙的地方,运行起来也有些吃力,但你可以试试看。我实在太兴奋了,忍不住想要分享。<p><a href="https://busmap.tail5c8e3.ts.net" rel="nofollow">https://busmap.tail5c8e3.ts.net</a>
PhotoToVideoAI 是一款基于人工智能的工具,可以将您的照片转换为动态视频。您只需上传一张照片和一个提示,约30秒后即可获得高质量的视频,分辨率高达1080p,时长为5或10秒。该工具专为内容创作者、营销人员和摄影师设计,欢迎反馈!
我已经花了一段时间在构建 Gitmore。我要解决的问题是:每周我都要花 1-2 小时浏览提交记录,试图拼凑出“我们发布了什么?”这个问题的答案,而利益相关者并不想阅读“feat: 实现 oauth2 及刷新”的信息。
我的洞察是:所有信息都已经在 Git 中。提交、拉取请求、作者、时间戳。对于非开发人员来说,这些信息几乎是不可读的。
因此,我在其上构建了一个 AI 层,具体功能包括:
1. 通过 OAuth 连接到 GitHub/GitLab/Bitbucket(仅读取元数据,从不读取代码)
2. 通过 Webhook 实时捕获提交和拉取请求
3. 使用 Claude 将原始 Git 活动转化为人类可读的摘要
4. 根据您希望的时间表自动通过电子邮件或 Slack 发送
示例转化:
```
转换前:“fix: 删除过时的 API 调用,refactor: 提取认证中间件”
转换后:“通过更新过时的端点修复了 API 超时问题。通过集中认证逻辑提高了安全性。”
```
技术栈:Next.js 15、MongoDB、Bull 队列用于异步报告生成,Claude API 用于摘要。使用 Webhook 实时获取数据,而不是轮询。
在构建这个过程中我学到的一些事情:
- 提交信息遵循严格的模式(73% 以 feat:/fix:/refactor: 开头),但几乎没有“为什么”的上下文
- 团队每年每人花费约 78 小时手动编写状态报告
- “我们这周发布了什么?”这个问题占据了关于代码库查询的 62%
从同一数据层中出现的其他功能:
- 可以聊天的 AI 代理(“Sarah 上周做了什么?”)
- 带有贡献评分的开发者排行榜
- 自动生成的公共变更日志
免费套餐:1 个代码库,1 个自动化。专业版($15/月):5 个代码库。企业版($49/月):20 个代码库 + 自定义品牌报告。
https://gitmore.io
欢迎提问有关架构、AI 提示策略或 Webhook 处理的技术问题。我也很好奇,其他团队是如何处理“我们发布了什么”这个问题的?