[][src]Crate korg_syro

Rust bindings for the KORG SYRO library for the Volca Sample.

Files for use with the reset method can be found here:

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

Examples

Add/erase samples

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));

Reset from .alldata file

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));

Modules

pattern

Bindings for building patterns for the Volca Sample sequencer.

Structs

SyroStream

Builder struct for syrostream data.

Enums

SyroError