#bindings #api-bindings

kor-g-syro

Rust对KORG SYRO库的绑定,用于与Volca Sample交互

3个不稳定版本

0.2.1 2021年1月2日
0.2.0 2020年12月27日
0.1.0 2020年10月13日

音频类别中排名第786

Download history 1/week @ 2024-06-20 2/week @ 2024-06-27 25/week @ 2024-07-04 60/week @ 2024-07-25

每月下载量86
用于vsrs

LGPL-3.0或更高版本

36KB
790

korg-syro-rs

Latest Version Documentation

Rust API,用于KORG SYRO库的Volca Sample。


lib.rs:

Rust对KORG SYRO库的Volca Sample的绑定。

与reset方法一起使用的文件可以在此处找到

https://github.com/korginc/volcasample/tree/master/alldata

示例

添加/删除样本

use std::fs::File;
use std::io::BufWriter;
use korg_syro::SyroStream;
use wav;

let mut syro_stream = SyroStream::default();

syro_stream
    .add_sample(0, vec![], 44100, None)?
    .erase_sample(1)?;
let data = syro_stream.generate()?;

// PCM data, 2 channels, 44.1kHz sample rate, 16 bit per sample
let header = wav::Header::new(1, 2, 44100, 16);

let output = File::create("output.wav").unwrap();
wav::write(header, &wav::BitDepth::Sixteen(data), &mut BufWriter::new(output));

从.alldata文件重置

use std::fs::File;
use std::io::BufWriter;
use korg_syro::SyroStream;
use wav;

let input_data = std::fs::read("all_sample_preset.alldata").unwrap();
let data = SyroStream::reset(input_data, Some(16))?;

// PCM data, 2 channels, 44.1kHz sample rate, 16 bit per sample
let header = wav::Header::new(1, 2, 44100, 16);

let output = File::create("output.wav").unwrap();
wav::write(header, &wav::BitDepth::Sixteen(data), &mut BufWriter::new(output));

依赖关系

~1.3–3.5MB
~76K SLoC