Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
The all purpose old-school sampler for Linux. Samplv1 is an all-digital polyphonic sampler synthesizer with stereo fx. Features:
- a pure stand-alone JACK client with JACK-session, NSM (Non Session management) and both JACK MIDI and ALSA MIDI input support;
- a LV2 instrument plug-in.
- all knobs and buttons can be Midified using Midi Controllers.
Once a sample is loaded (by dragging in a sample or rightclicking and opening a sample), this sample undergoes manipulations going from left to right and top to bottom. Then effects, following the same rule. So:
- sample into GEN --> DCF -->LFO --> DCA --> OUT
- and if effects are used --> CHORUS --> FLANGER --> PHASER --> DELAY --> REVERB --> DYNAMIC
You need to attach a physical or software music keyboard with the right MIDI channel corresponding to the MIDI channel of Samplv1 to get sound out of it. Mono or stereo samples can be imported. Sample stereo characteristics are kept all the way, maybe affected thru LFO Panning, until the final OUTput stage where M/S processing is done (Width knob).
Right clicking a knob lets you assign a MIDI controller. Middle clicking resets the knob to its default value.
You can create, load, save, reset and delete presets and the opened presets will then appear in the dropdown menu for future uses.
Another highlight of Samplv1 is the ability to import different tuning scales (see below).
As with all of the Vee One Suite, Samplv1 has audio inputs that mix down with the main synth outputs, then feed the fx stage thru to the main audio outputs; this has been found convenient for some hosts that allow more than one instrument plugin instances in a daisy-chain fashion, sharing the same MIDI input eg. qtractor.
After importing the sample, push the Loop switch. The loop start locator and loop end locator are at the very edges of the sample. Drag them to change the start and end time of the loop. From there on you can set the start locator, that means the place from where the sample will start playing. An end locator is also included, it can be found at the very right edge of the sample window. Drag to move locators, or enter the frame or time values directly.
2 different looping strategies
Looping in Samplv1 is done by choosing one of the two different methods. The looping mode must be turned on by pressing the button named "Loop". If one method does not produce the loop result you like and produces a click in the looped sound, try the other one. This way, a perfect loop is guaranteed, whatever your sample!
A description of the 2 looping methods:
Zero looping method - good for clearly pitched sounds, such as guitar, piano etc.. This looping method looks for zero crossings in the sample near to the loop values you have choosen. Here is an example of a voice in loop, singing the word "vuur" (= fire in Dutch).
Xfade method - the right choice for non-pitched sounds. The sample fade in/fade out system allows for settings of a maximum of 2000 samples. the cross-fade runs as a mix of the N samples immediately preceding the loop-start point (fade-in) with the same number of N samples immediately before the loop-end point (fade-out). It's either the length to the loop-start point or half of the whole loop interval length (in frames or samples), whichever is shorter. This is an example of a more abstract sound that uses the Xfade loop method to avoid clicks that would have been there with the Zero looping method.
It's also possible to set both methods at the same time, but that could be viewed as "overkill" :)
The Frame-time format of the loop settings can be set in Help --> Configure --> Options, that lets you choose between time display or frames (which is default).
note: The knob Env.Time has great influence on the envelopes of ALL sections containing the ADSR (Attack/Decay/Sustain/Release)function.This knob stands for "Envelope Time" and sets the common run length, duration or timeout if you prefer for the EG (Envelope Generator; DCF, LFO and DCA) stages that are time-related (ie. Attack, Decay and Release).
Env.Time scale goes like this:
- Auto: (0) => sample-length / 2
- min: 0.1 => 5 msec/stage
- max: 100.0 => 5 secs/stage
The tuning and the octave knobs allow for a tuning offset respectively in semitones and in octaves . If the glide knob is larger than 0, the synth will glide between the frequencies of subsequent notes (portamento), with a speed determined by the parameter. A larger value corresponds to a slower speed.
The filter section lets you set the cutoff frequency en resonance using Lowpass, Bandpass, Highpass and Bandreject - all with different depths or colors: 12 dB/oct, 24 dB/oct, Biquad and Formant. An envelope for the filter can be set.
There is an Envelope knob in the DCF, which is kinda special. The applied envelope (ADSR) will be relative to the frequency set by the Cutoff setting. This means that with an Envelope setting higher than 0 (1 to 100), the filter of the ADSR will be opening the Cutoff frequency even more, following this ADSR curve, while settings of the Envelope lower than 0 (-1 to -100) will close the filter according to an inverted ADSR curve. In other words, the Cutoff setting is the anchor point and with a Envelope setting of 0, the ADSR will have no impact on the sound. The resonance knob boosts the signal at the cutoff frequency of the filter.
A demonstration that shows the influence of Envelope settings:
- Envelope settings > 0: ADSR opens the filter from the anchor point as set with the Cutoff knob.
- Envelope settings < 0: ADSR closes the filter from the anchor point as set with the Cutoff knob.
All the knobs in Samplv1 that have this positive AND negative value option behave this way; they are relative to an achor point. Several ones can be found in the LFO section....
Please also note the note above regarding the Envelope Time knob.
The most important knobs of this section to explore as a start are Panning and Volume. Be sure to have them or set them to 0. You can do this easily by middleclicking the mouse and the value goes to their default settings (=0 in this case). From that point it is time to explore the LFO; it can lead from simple tremolo sounds to nearly granulating sounds.
Setting the Volume values bigger or smaller intensifies the tremolo effect, in the frequency as set with BPM and Rate. The ADSR envelope allows you, if you use a higher setting of the Attack, to gradually let the tremolo effect appear in the sample sound. If set to 0, it kicks in right away.
Same story with the Panning. And the Sweep/Pitch combination and Cutoff/Resonance combo can all be triggered by this LFO waveform and speed and ADSR settings, opening possibilities to create some crazy stuff.
LFO Sync is whether the LFO duty-cycle starts anew on each note-on or it's free-running instead.
Fun with LFO
The LFO has great impact on the sound of the sample. Have a listen to some examples - all based on the sound sample of the female's voice singing the word "vuur";
Higher frequency settings allows for Ring Modulation, while other textures reminds of the Granular effect.
The DCA is equipped with the well-know ADSR envelope curve. Please also note the note above regarding the Envelope Time knob.
The DCA Volume knob stands for the envelope amount as applied to all DCA EG stages as horizontal attenuation (when < 100.0).
In the DEF(inite) part of Samplv1, one can make some "overall" or global settings.
- Pitch bend sensitivity : Scaling value for the effect of the pitchbend controller on the pitch.
- Modulation wheel sensitivity : Scaling value for the effect of the modulation wheel controller on the amplitude of modulation of the pitch.
- Pressure sensitivity : Scaling value for the effect of the pressure (after-touch) on the volume.
- Velocity sensitivity : Scaling value for the effect of the velocity (note-on) on the volume.
- Channel : MIDI channel that this synth should listen to, or OMNI to listen to all.
- Mono.. : Switches the voice assigment of the synth between Poly, Mono and Legato. In polyphonic mode there is a polyphony of 32 voices.
The output section of Samplv1:
- Width - creates the stereo effect when a stereo sample is imported. It is a "stereo width" as from simple M/S (mid/side) processing. The Left channel of the sample will be at the left (and the right on the contrary) when setting = 100, with setting = -100 the left and right channel of the stereo sample will be inverted.
- Panning - pans the mono sample in the stereo panorama, using a stereo sample it attenuates the Left or Right channel.
- Effects - send sample to effects (in the Effects Tab)
- Volume - total volume output
2 samplers for the price of 1!
Samplv1 has 2 separate main windows: A + B. A sample is loaded for both A + B, but all other sound manipulating controllers can contain different values. This turns A and B into some kind of presets; the active window will be the sounding one.
The main tab, under the OUT section, you can find how much of the direct signal will be fed to the effects.
Somewhat hidden under the Help menu, the Configure window can be found. There a a tab for Options where you can select knob styles and the theme, Programs where you can create program banks to switch easily between them, Controllers where midi CC can be edited, and the tab Tuning.
This Tuning is pretty cool as it lets you import Scala files (scl). As default, Samplv1 opens with the familiar 12-notes-in-an-octave Equal Temperament tuning scale, but the Tuning option lets you import whatever scale you like. Why not create & import a Scala file that divides an octave in 48 notes? Great for subtle changes in sound while you play...
A large collection of over 4700 scale files for Scala is also available for download here.
Normally you would want to import another file: Keyboard mapping (kbm). This is where you assign the anchor key around where your own scale will be. In the example of 48-notes-in-an-octave, you can assign for the keyboard - and thus in your DAW - the C2 as an anchor point from the 48 notes up or down will be.
Samplv1 supports the NSM (Non Session management). And what may that look like, you ask? Watch and learn:
manual written by Menno Knevel, July 2018