7个版本
0.1.6 | 2020年5月15日 |
---|---|
0.1.5 | 2020年5月15日 |
0.1.2 | 2019年11月10日 |
531 在 音频 中排名
每月 21 次下载
5KB
periodicsynth
一个周期波形发生器,它调用任意函数以生成任意采样率的波形,并将其转换为(0..1)之间的时间位置,提供给发生器。
默认提供一些函数(例如,正弦、余弦、方波、空值)。要实现一个,请遵循以下语法
struct YourData; // v you can use your own type.
fn gen(t: f64, dat: YourData) -> f64 { 1.0 }
使用默认函数打包(sin)
use periodicsynth::{synth, sin};
fn main()
{ let samp = synth(sin, &mut 440f64, 8000); }
使用我们自己的手动编写的函数
use periodicsynth::synth;
struct YourData; // you can use any type at here.
fn gen(t: f64, dat: YourData) -> f64 { 1.0 }
fn main()
{ let samp = synth(gen, &mut YourData{}, 8000); }
动机
WebAudio API的OscillatorNode
可以生成具有不同函数的周期波形。目前还没有这样的东西,因此创建了它来做到这一点,甚至更进一步,通过允许最终用户定义自定义函数来生成波形。