#信号处理 #音乐 #框架 #过滤器 #输入 #管道 #滴答

bin+lib oxcable

使用 Rust 制作音乐的信号处理框架

8 个版本

使用旧的 Rust 2015

0.5.1 2016年5月23日
0.5.0 2016年2月20日
0.4.2 2016年1月10日
0.4.1 2015年11月2日
0.3.1 2015年7月22日

#801音频


用于 oxcable-basic-devices

MIT/Apache

150KB
3K SLoC

oxcable

Build Status Crates.io License

文档

使用 Rust 制作音乐的信号处理框架。

本框架旨在提供音乐处理的基本工具。它定义了许多有用的类型、实用程序和信号处理元素,用于构建音乐处理管道。

有关预定义的过滤器的基本集合,请参阅 oxcable-basic-devices

示例

以下示例将播放计算机麦克风的输入到扬声器,并带有低通效果

use oxcable::chain::{DeviceChain, Tick};
use oxcable::filters::first_order::{Filter, LowPass};
use oxcable::io::audio::AudioEngine;

let engine = AudioEngine::with_buffer_size(256).unwrap();
let mut chain = DeviceChain::from(
    engine.default_input(1).unwrap()
).into(
    Filter::new(LowPass(8000f32), 1)
).into(
    engine.default_output(1).unwrap()
);
chain.tick_forever();

有关更多简单示例,请参阅 src/bin 目录中的许多示例测试脚本。

使用 oxcable 的项目

如果您有使用 oxcable 的项目,我很乐意了解。请给我发消息,我可以将其包含在这个列表中。

安装

目前,oxcable 需要在您的机器上安装 PortAudio 和 PortMIDI。

在 Mac 上,这些通过 Homebrew 提供。要安装,请运行

brew install portaudio
brew install portmidi

脚本

脚本目录包含各种脚本,用于试验新功能以及测试 Rust 库代码的输出。这些脚本是用 Python 编写的,并利用 numpyscipymatplotlib 库进行快速原型设计。

许可

根据您的选择,许可为以下之一

贡献

除非您明确表示,否则您根据Apache-2.0许可协议定义的,有意提交以包含在工作中的任何贡献,都将如上双许可,没有任何额外条款或条件。

依赖项

~1.5MB
~27K SLoC