#api-bindings #audio-samples #colorchord

rustchord

Colorchord绑定库用于Rust

8个版本 (4个重大更新)

0.5.0 2022年1月24日
0.4.1-alpha.02022年1月24日
0.4.0 2021年6月26日
0.3.1 2021年2月8日
0.1.0 2020年12月25日

#804音频

自定义许可

18MB
133K SLoC

C 123K SLoC // 0.3% comments Objective-C 2.5K SLoC // 0.1% comments JavaScript 2K SLoC // 0.0% comments Shell 1.5K SLoC // 0.0% comments Batch 1K SLoC GNU Style Assembly 631 SLoC // 0.2% comments C++ 610 SLoC // 0.1% comments Prolog 578 SLoC Bitbake 536 SLoC // 0.3% comments Rust 352 SLoC // 0.0% comments Python 269 SLoC // 0.3% comments Forge Config 65 SLoC // 0.4% comments

包含 (静态库, 5MB) libc.a, (静态库, 605KB) libgcc.a, (静态库, 690KB) libmbedtls.a, (归档库, 350KB) WS2_32.Lib, (归档库, 350KB) WS2_32.Lib, (静态库, 430KB) libat.a 以及更多24个.

Rustchord (Colorchord2绑定库用于Rust)

这些是围绕Colorchord中的Notefinder构造的简单绑定。Colorchord是由Colorchord编写的优秀软件。我一直想在不同项目中使用该算法,并决定编写一个简单的Rust绑定,允许您在Rust中运行该算法。

使用绑定

Notefinder期望从环形缓冲区读取样本以生成桶化音符。因此,您需要提供一个简单的环形缓冲区,其中包含以f32格式存储的音频样本。以下是如何实现的示例。

首先创建一个新的Notefinder实例,其采样率符合预期

let mutnotefinder= rustchord::Notefinder::new(48000)

Then provide samples in a buffer as you process them

notefinder.run(&samplevec)

After Notefinder has run you can get the folded notes by doing

notefinder.get_notes()

配置Notefinder

您可以使用set_方法配置Notefinder的参数。例如,要更改输入放大倍数,可以使用

notefinder.set_amplification(10.0)

从Git构建

git clone https://github.com/coral/rustchord.git
cd rustchord
git submodule update --init --recursive
cargo build

要运行音频输入示例,只需执行以下操作

cargorun --exampleaudioinput

许可

ColorChord版权所有 2015 Charles Lohr,受MIT/x11许可协议保护。

所有其他代码均受MIT许可协议保护。

依赖项

~2–4.5MB
~94K SLoC