SYNOPSIS
use Audio::SunVox::FFI ':all';
# Initialise
my $audiodriver = 'asio';
my $audiodevice = 1;
my $buffer = 256;
my $frequency = 48_000;
my $channels = 2;
sv_init( "audiodriver=$audiodriver|audiodevice=$audiodevice|buffer=$buffer", $frequency, $channels );
# Open a "slot" - an instance of SunVox
my $slot = 0;
sv_open_slot( $slot );
# Create a "generator" oscillator
sv_lock_slot( $slot );
my $generator = sv_new_module( $slot, "Generator", "foo name" );
sv_connect_module( $slot, $generator, 0 ); # 0 is Output
sv_unlock_slot( $slot );
# Send an event to the generator
sv_set_event_t( $slot, 1, 0 ); # Process events in real time
sv_set_module_ctl_value( $slot, $generator, 7, 0, 2 ); # Disable sustain
sv_set_module_ctl_value( $slot, $generator, 4, 200, 2 ); # Set release value
sv_send_event( $slot, 0, 50, 127, $generator + 1 );
sleep(1);
# Save the patch
sv_save( $slot, 'awesome_patch.sunvox' )
# Clean up
sv_close_slot( 0 );
sv_deinit;
DESCRIPTION
SunVox is a modular synthesizer with pattern-based sequencer (tracker). The SunVox library is a free library offering access to the facilities offered by SunVox, minus the frontend, allowing for real-time control of sequences and playback.
This module offers a binding to the SunVox library.
CONTRIBUTING
https://github.com/jbarrett/Audio-SunVox-FFI
All comments and contributions welcome.
BUGS AND SUPPORT
Please direct all requests to https://github.com/jbarrett/Audio-SunVox-FFI/issues
ACKNOWLEDGEMENTS
Powered by SunVox (modular synth & tracker) Copyright (c) 2008 - 2024, Alexander Zolotov nightradio@gmail.com, WarmPlace.ru