1个不稳定版本

使用旧的Rust 2015

0.0.1 2018年8月26日

#423 in #specification

21 个月下载量

LGPL-2.0

120KB
3K SLoC

rust-fluidsynth

Build status (master)

注意:该项目仍在开发中,并非所有使用fluidsynth的功能都可用。

FluidSynth绑定库。

FluidSynth的绑定库,基于SoundFont 2规范的软件合成器,用Rust编写。

FluidSynth网站在此。FluidSynth API的文档在此

安装

要使用rust-fluidsynth,您必须在计算机上安装FluidSynth并将其添加到Cargo.toml

[dependencies.fluidsynth]
git = "https://github.com/scholtzan/rust-fluidsynth"

简例

extern crate fluidsynth;
extern crate rand;
extern crate time;

use fluidsynth::*;
use rand::{thread_rng, Rng};
use std::thread;

fn main() {
    let mut settings = settings::Settings::new();
    let mut syn = synth::Synth::new(&mut settings);
    let _adriver = audio::AudioDriver::new(&mut settings, &mut syn);
    syn.sfload("/path/to/soundfont.sf2", 1);

    let interval = Duration::milliseconds(1000);

    for _x in 0..12 {
        let num: i32 = thread_rng().gen_range(0, 12);
        let key = 60 + num;
        syn.noteon(0, key, 80);
        thread::sleep_ms(1000);
        syn.noteoff(0, key);
    }
}

许可证

rust-fluidsynth使用与FluidSynth相同的许可证:GNU通用公共许可证。

依赖项