element VST sampler by xoxos

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
RELATED
PRODUCTS

Post

Image
Image

http://www.xoxos.net/vst/element.zip

not relly a sampler oc, it's a wav player, but people often call them samplers..

loads one sample, does some loop modulation stuff, prolly more or less the same as samplers like this (eg. helios). loads 8 and 16 bit mono or stereo wavs.. and not in a fancy way, though it loads all the samples i've got. this was produced because i released some open source modules for synthedit to help people develop wav players.. i figured i ought to wrap one as a vst.


features...

wrap mode looping ('normal looping') with crossfade
bounce mode looping (forward-reverse)
two crossfade modes.. fixed time (up to 1s) or loop relative (up to entire length of loop)
4 interpolation modes: floor ('none'), linear, cubic and hermite
emulated downsampling
loop position can modulate filter cutoff
a bunch of filter modes (low, band, high, cut, peak in moog, svf or biquad)
curveable envelopes and stuff
modulating start/end (loop or otherwise) reverses playback if end is lower than start
8 voices poly


what these features translate to...

1) 'floor' interpolation would put you in early sampler territory and alias nicely especially with pitching down.

2) long crossfade times (more cpu intensive with 'quality' interpolation) aren't done a lot..

3) bounce mode's alright


happy wav playbacking!
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

:tu: :tu: :tu: :tu: :tu: :tu: :tu: :tu:

Post

Could you please consider 24 bit support? several of my libraries use 24 bit (though i really doubt there's any benefit)


And if possible .. a prev/next on the wav loader... with all modulation assigned to velocity you can get such awesome rythms using different drum or percussive sounds. I wanna check through tons of them!

I've been looking for a sampleplayer like this for a while! Big thanks!
:hug:

Post

thank you :)
it's a very versatile tool.

Post

here's a kick from zenheizer's minimal techno kicks with 2 hihats doing rythm modulated by velocity

https://www.dropbox.com/s/qwfo2mkcjxtom ... rummed.wav

nothing special, just wanted to show my love for lots of parameters modulatable by velocity!

The UI is kind of small, makes me squint my eyes! :-o

Thank you xoxos for another fantastic (free!) plugin :D

Edit: https://www.dropbox.com/s/jygh6a65ulivw ... ummed2.wav 2 other random samples, some changes on the settings and added rev/delay for funsz

looks like you have to download them .... Maschine really need mp3 export!
:hug:

Post

Well, I got the light gui by renaming it. It does exactly what you said it would. Unusually, I even read the manual, so I have no questions or requests.
Thanks.

Post

you're very welcome, cheers all :)

24 bit is likely given time and inclination as it shouldn't take more than a few minutes to add (loaded files are translated to 16 bits). the prev/next probably not as i don't have much experience handling strings and file browsing and vst are on the backburner at the moment.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

24 bit capable uploaded (at least unpadded little endian 24 bit samples)


ftr i noted that i completely neglected to account for different sampling rates in playback.. so eg. an 88.2k sample will need to be pitched up an octave.. pitching a 48k or 96k sample would have to be fudged (i'd use a send to route the '10v const' source to fine pitch).

i dunno if that's lame, it could be easily fixed by scaling the incrementor.. i'm gonna leave it like this for now.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

it's a cool behavior :) Downloading right away!

Edit: Confirming 24bit works!
Last edited by Crackbaby on Sat Sep 29, 2012 1:56 am, edited 1 time in total.
:hug:

Post

download it again! :x

i fixed it :)

it will play original pitch on A3 whatever the sampling rate is now.

:)
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

seems to work here this version also :) However, i ran into some samples that wouldn't load. Explorer isn't too kind on showing me samplerate and bit depth

1411 kbit/s ... ?! :lol:

right, used SonicExplorer and it says Int PCM Wave 16 bits 44100 Hz Stereo
which turns out to be exactly what it says about another collection where the samples work
Ill pm you one that doesn't work!
:hug:

Post

Thank you. Very nice of you :harp:

Post

Thank you, Xoxos !

Post

you're welcome! :)

re: crackbaby/non-loading samples....

this vst has a different production value for me.. i've always gone to great lengths to produce the most efficient code possible. earlier this year i decided to take a break from vst to program in "more dimensions" -

in the course of this i was handling loading wav files.. so i wrote some open source sampler SEM modules for synthedit so that if new developers have good ideas for sampling, they have some of the tedium done for them. i'm still interested in working outside audio for the time being.

as such, this is the first code i've written that espoused the aesthetic of coding in the manner most convenient to the programmer instead of efficiency.. the modules aren't horribly slow but they could run a few tenths of a percentage faster.

things progressed and i added more features to the modules, because it was facile for me to do so.. ultimately this led to me finishing one as a vst.

so i have to be honest.. i'm not interested in making a "robust" file loading routine, i'm sorry...

...from an html document on wav format i downloaded (and thus do not recall the url..)


The WAVE format is sort of a bastardized standard that was concocted by too many "cooks" who didn't properly coordinate the addition of "ingredients" to the "soup".

...I suggest that you concentrate upon these and refuse to support the work of programmers who feel the need to deviate from a standard with inconsistent, proprietary, self-serving, unnecessary extensions. Please do your part to rein in half-assed programming.

(an example of further rants in the document..)
...Sure, countless brain-damaged programmers have inflicted literally dozens of compressed data formats upon the Data chunk, but apparently someone felt that even this wasn't enough to make your life difficult in trying to support WAVE files. No, some half-wit decided that it would be a good idea to screw around with storing waveform data in something other than one Data chunk. NOOOOOOOOOOOOOO!!!!!!

For some god-forsaken reason, someone came up with the idea of using an imbedded IFF List inside of the WAVE file. NOOOOOOOOOOOOOOOOO!!!!!!!! And this "Wave List" would contain multiple 'data' and 'slnt' chunks. NOOOOOOOOOOOOOOOO!!!! The Type ID for this List is 'wavl'.

I strongly suggest that you refuse to support any WAVE file that exhibits this Wave List nonsense. There's no need for it, and hopefully, the misguided programmer who conjured it up will be embarrassed into hanging his head in shame when nobody agrees to support his foolishness. Just say "NOOOOOOOOOOOOOO!!!!"



et c.... :)

aamof if you code a little and peek at the source, what i did was handle the most obvious situations only... and if this isn't met, instead of scanning for the chunk that says "data" it checks in blocks of four a dozen times and balks if it doesn't find it...

if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);
if (strncmp(id, "data", 4)) fread(id, sizeof(char), 4, fp);

which isn't robust coding, but it is convenient. (aamof it's downright lazy ;) so i can only offer the option of saving the wav from a wav editor to another format and hope that will be more compatible.

and besides, i am totally out of weed and i have a low tolerance for dealing with other peoples programming as such :)
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Thanks for the knowledge and insight! I have enough samples working to keep me busy for a year or so. Im really glad you made the vst, i've had tons of fun with it already.

I hope your plant-issue gets resolved soon :)
:hug:

Post Reply

Return to “Instruments”