| project name: | ack |
| project url: | https://github.com/antonhornquist/ack |
| author: | jah |
| description: | sample player engine |
Simple sample player
Note: channels are indexed 0-7 in commands.
trig i - triggers single channel.multiTrig iiiiiiii - triggers multiple channels. one 1/0 argument for each channel. 1 means trigger.kill i - mute single channel.killTrig iiiiiiii - mutes multiple channels. one 1/0 argument for each channel. 1 means mute.First argument is always channel.
loadSample is - load sample given an absolute path.sampleStart if - set position at which sample starts to play, expressed in 0-1. position is fixed after a sample has been triggered.sampleEnd if - set position at which sample ends playing or starts to loop, expressed in 0-1. position is fixed after a sample has been triggered. if sample end is lower than sample start sample will playback reversed.loopPoint if - set position within sample start - end at which loop will start, expressed in 0-1.enableLoop i - enables loop.disableLoop i - disables loop, sample is played as a oneshot.speed if - playback speed. 0-5 where 1 is normal playback.volume if - playback volume expressed in dB.volumeEnvAttack if - volume AR envelope attack time.volumeEnvRelease if - volume AR envelope release time.pan if - pan -1…1.filterCutoff if - filter cutoff expressed in Hz.filterRes if - filter resonance 0-1.filterMode ii - 0=lowpass, 1=bandpass, 2=highpass, 3=notch, 4=peak.filterEnvAttack if - filter AR envelope attack time.filterEnvRelease if - filter AR envelope release time.filterEnvMod if - filter AR envelope cutoff modulation -1…1.sampleRate if - sample rate 0-44100.0bitDepth if - sample bit depth 0-32.0dist if - distorsion amount 0…1.includeInMuteGroup ii - 0 or 1. 1 means channel will be muted if other channel in mute group is played.delaySend if - delay send expressed in dB.reverbSend if - reverb send expressed in dB.delayTime f - delay time in seconds 0.0001 .. 5.delayFeedback f - reverb feedback 0 .. 1.25.delayLevel f - reverb level expressed in dB.reverbRoom f - reverb room 0 .. 1.reverbDamp f - reverb damp 0 .. 1.reverbLevel f - reverb level expressed in dB.mainLevel if - main output level expressed in dB.Note: channels are indexed 1-8 in the ack lua module.
Default Ack parameters to control channel and effects settings can be added to the global paramset using the Ack lua module.
Require the Ack module:
local Ack = require 'ack/lib/ack'
To add all params:
function init()
--- ...
Ack.add_params()
--- ...
end
To add params for the first channel:
function init()
--- ...
Ack.add_channel_params(1)
--- ...
end
Parameters are self-explanatory. See details and ranges below.
Settings per channel:
sample - sample to playsample start - position in sample where playback will startsample end - position in sample where playback will end (if oneshot sample) or loop (if loop is enabled)loop point - position within sample start / end where sample will retrigger if loop is enabledloop - loop enable / disablespeed - 5-500%volume - expressed in dBvolume env atk - 0-1000 msvolume env rel - 0-3000 mspan - L100 to MID to R100filter mode - lowpass/bandpass/highpass/notch/peakfilter cutoff - 20-20000 Hzfilter res - 0-100%filter env atk - 0-1000 msfilter env rel - 0-3000 msfilter env mod - bipolar -100..100%sample rate - 0-44100.0bit depth - 0-32.0dist - unipolar 0..100%in mutegroup - mutegroup enable / disabledelay send - expressed in dBreverb send - expressed in dBEffects settings:
delay time - 0-5000 msdelay feedback - 0-125%delay level - expressed in dBreverb room size - 0-100%reverb damp - 0-100%reverb level - expressed in dBOther settings:
main output level - expressed in dB