Remake of dblue_stretch, with some stuff added in.
Stretches out audio, similar to how dblue_stretch does it.
But since everyone I know doesn't use it in that way (me included),
it also works as a sort of "glitch" machine.
It collects the input into the buffer and then outputs grains
with the given size, delayed by the given ratio.
Grains can be held in place, played in reverse, synced to a note duration, crossfaded,
or only grains where samples at the beginning and the end of it crossed 0 (zcrossed samples)
This plugin is not an exact 1:1 recreation of dblue_stretch and is not supposed to replace it.
Name | Description | Only works if |
---|---|---|
trigger | start collecting samples and simultaneously output grains | |
hold | hold current grain | |
hold offset | offset currently held grain by amount of samples | hold is on |
tempo | use size in note lengths instead of samples | |
reverse | play in reverse | |
declick | smooth out the edges between the end of the current grain and start of the next one 4 * (2 ^ declick) samples will be declicked |
crossfade is off |
grain | size of a grain in samples | tempo is off |
note | size of a grain in note duration | tempo is on |
ratio | how much should the input be stretched out by | disabled if hold is on and tempo is on |
subdivision | adjusts note duration | hold is on and tempo is on |
zcross size | if set, grain gets offset to the closest zcrossed sample then it's size is the distance to the next zcrossed sample determined by the amount |
hold is on |
zcross offset | offsets grain to the next window of zcrossed samples | hold is on |
crossfade | crossfades between grains |
- JUCE
- Your system C++ build toolchain (Visual Studio on Windows, XCode on Mac, GCC/Clang on Linux, etc.
git clone https://github.com/s4n7r0/sand_stretch.git
- Open Projucer
- Open
sand_stretch_remake.jucer
in Projucer - Select your system build configuration, save the project
- Build the plugin using the generated project in the
Build
folder. Which means:- Run Visual Studio/Xcode and open the appropriate project, either the generated
.sln
/xcodeproject
or thru Projucer (Win/Mac)
- If wanna build the plugin in AU format, you need to add AU plugin format in Project Settings's in Projucer
- Product > Scheme > Edit Scheme... > Run > Build Configuration > Select "Release"
- Build
- Built plugin in any format should be copied to "~/Library/Audio/Plug-Ins/" to their respective folders, but if not:
- Copy the compiled sand_stretch2.vst3 from "Builds/MaxOSX/build/Release/sand_stretch2.vst3" to "~/Library/Audio/Plug-Ins/VST3"
- Copy the compiled sand_stretch2.component from "Builds/MaxOSX/build/Release/sand_stretch2.component" to "~/Library/Audio/Plug-Ins/Components" ( if building as an AU )
- Select "Release" configuration (Win)
- Build
- Copy the compiled sand_stretch2.vst3 from "Builds\VisualStudio2022\x64\Release\VST3\sand_stretch2.vst3\Contents\x86_64-win" to "C:\Program Files\Common Files\VST3" (Win)
cd Builds/LinuxMakefile && make CONFIG=Release
- Built VST3 should be copied to "~/.vst3/" but if not:
mkdir ~/.vst3
mv "Builds/LinuxMakefile/build/sand_stretch2.vst3/Contents/x86_64-linux/sand_stretch2.so" "~/.vst3/sand_stretch2.vst3"
- Run Visual Studio/Xcode and open the appropriate project, either the generated