6个版本

0.13.5 2024年4月23日
0.13.4 2024年2月18日
0.13.2 2023年3月28日
0.12.8 2022年9月4日

#887 in 音频

Download history 172/week @ 2024-04-22 13/week @ 2024-04-29 5/week @ 2024-05-06 6/week @ 2024-05-13 30/week @ 2024-05-20 16/week @ 2024-05-27 16/week @ 2024-06-03 16/week @ 2024-06-10 13/week @ 2024-06-17 17/week @ 2024-06-24 10/week @ 2024-07-01 6/week @ 2024-07-08 12/week @ 2024-07-15 18/week @ 2024-07-22 138/week @ 2024-07-29 215/week @ 2024-08-05

384 次每月下载
用于 2 包

自定义许可

170KB
4K SLoC

glicol_synth:一个基于图的音频DSP库,使用Rust编写

glicol_synth 是glicol计算机音乐语言的音频引擎。它可以作为一个独立的音频库使用,API非常直观

use glicol_synth::{AudioContextBuilder, signal::ConstSig, Message};

fn main() {
let mut context = AudioContextBuilder::<16>::new()
.sr(44100).channels(1).build();

let node_a = context.add_mono_node(ConstSig::new(42.));
context.connect(node_a, context.destination);
println!("first block {:?}", context.next_block());

context.send_msg(node_a, Message::SetToNumber(0, 100.) );
println!("second block, after msg {:?}", context.next_block());
}

概述

glicol_synth 从@mitchmindtree编写的 dasp_graph 包的分支开始,添加了许多功能和内容

  • 使用const generics进行可定制的缓冲区大小
  • 将输入从vec替换为map,用户可以使用节点ID来选择输入
  • 用户可以实时向每个节点发送消息进行交互
  • 添加了更高级的audiocontext以简化API
  • 包含许多有用的音频节点,如振荡器、滤波器等。

请参阅GitHub上的示例以了解基本用法。

依赖项

~3.5–4.5MB
~66K SLoC