< 返回版块

Mike Tang 发表于 2026-04-24 09:22

Resonators 0.1:用于实时频谱分析的 Rust 库发布

一位开发者在 r/rust 社区发布了他们的首个 Rust crate——Resonators 0.1,这是一个实现实时频谱分析的库。

主要特点

  • 核心功能:实现了 Alexandre François 的 Resonate 算法,可以在无需窗口或缓冲区的情况下实时计算 STFT 和 CQT 类型的频谱图
  • 跨平台支持:提供 Python 和 WASM 绑定,解决了原 C++ 参考实现依赖 Apple Accelerate 框架、无法在 Ubuntu 上运行的问题

应用场景

  • 用于计算实时音乐转录模型训练的特征
  • Python 绑定便于集成到 PyTorch 训练环境
  • WASM 绑定支持浏览器端推理

演示项目

  • 创建了浏览器演示,可实时可视化麦克风输入,使用对数刻度(音乐性)频率分段
  • 同时支持桌面和移动设备
  • 性能优异:在 iPhone 上的运行速度甚至快于 M2 MacBook Pro

技术栈

开发过程中学习和使用了多项技术:cargo bench/criterion、SIMD、maturin、PyO3、wasm-bindgen/wasm-pack、uv 脚本、AudioWorkletNode 等

原文链接:https://www.reddit.com/r/rust/comments/1st2en4/resonators_01_a_rust_crate_for_realtime_spectral/

gin-tonic 0.8 发布

gin-tonic 是一个 Rust protobuf 库,允许直接在传输层使用自定义类型,无需手动转换样板代码。

核心功能

  • 提供 Protobuf 序列化和反序列化(类似 prost)
  • 代码生成器(替代 prost-build)
  • tonic 编解码器实现
  • tonic-build 的增强包装器
  • Scalar trait,可将任意 Rust 类型直接映射到 protobuf 传输类型

解决的问题

传统方式的痛点: 使用 prost 时,protobuf 中的 string my_uuid 会生成 Rust 的 String 类型,但实际需要 uuid::Uuid,导致需要在各处编写转换代码并处理解析错误。

gin-tonic 的解决方案: 通过在 .proto 文件中添加注解指定 Rust 类型: 直接生成所需的 uuid::Uuid 类型,转换逻辑统一在 Scalar trait 实现中处理。

主要特性

  • 内置 UUID 支持: 提供 uuid_stringuuid_bytes 两种特性标志
  • 自定义类型支持: 通过实现 Scalar trait 可支持任意类型

原文链接:https://www.reddit.com/r/rust/comments/1stm5wc/gintonic_08/

Jujutsu——新一代版本控制系统

Jujutsu 是一个功能强大的软件项目版本控制系统,旨在为新手和经验丰富的开发者提供易用的体验,适用于个人项目和大型团队协作。

核心特点

架构创新

  • 将用户界面和版本控制算法与存储系统分离,可支持多种物理后端(如 Mercurial、Breezy 等)
  • 目前使用 Git 仓库作为存储层,兼容现有 Git 工具生态
  • 提交和文件存储在 Git 中,而分支和元数据存储在自定义存储中

设计灵感来源

Git

  • 注重性能和速度,优化算法和数据结构
  • 使用 Git 作为默认物理存储后端,便于互操作

Mercurial & Sapling

  • 采用 revset 语言选择提交
  • 无需暂存区(staging area)
  • 匿名分支设计,无需为小改动命名
  • 强大的历史重写功能
  • 可配置的模板语言

原文链接:https://github.com/jj-vcs/jj

Rust 标准库发现安全漏洞

Rust 基金会最近获得了 Claude Mythos 的访问权限,并使用它来审查标准库中的安全问题。

关键要点

  • AI 辅助安全审计:Rust 基金会使用 Claude Mythos AI 对 Rust 标准库进行安全审查
  • 漏洞披露策略:更严重的问题目前处于保密状态,部分较轻微的问题已公开
  • 已公开的两个漏洞
    1. CString::clone_into() 中分配失败时可能出现越界写入
    2. slice::join() 在特定病态 Borrow 实现下可能发生堆溢出
  • 协作修复:感谢 Rust 基金会、wg-security-response 工作组和 Anthropic 公司合作发现并修复这些问题

相关链接

  • 漏洞修复 PR:#155707 和 #155708

原文链接:https://www.reddit.com/r/rust/comments/1su53vz/standard_library_unsoundness_found_by_claude/


From Rust中文社区 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页