I just tested with fx_formant and fx_reverb one from CERN and they sound really really clean
fx_ambience
an almost direct conversion of the ambience plugin from mda, (sources found here), took an hour or so i guess. mostly for the experience, for the learning, and for having one more tool available for making audio and noises.
fx_blur
a delay effect, but instead of just overwriting the buffer every delay cycle, it (sort of) crossfades between the audio input and the buffered audio, and can create a blurred, mashed mix, and you can freeze input recording, so that the delay/buffer is static. assign your midi knobs to the parameters, and play around with, and fine-tune them in realtime.
fx_cubeverb
another port/conversion, another reverb, this time from here. i did almost nothing here, as it was already a jesusonic plugin, but for the ‘original’ jesusonic. the channel-routing was a bit odd, and non-reaper specific, so i changed that to stereo (double mono).
fx_cutter
slicey/dicey/cutup thingy. split and re-split slices, with some randomization and probabilities, everything (durations, start/end time, etc), synced (transport/tempo) to reaper, some initial inspiration from bbcut/livecut
fx_dist1
boost + clip distortion. ugly and harsh.
fx_dist3
same as fx_dist1, but input has been split in thee frequency bands, and distortion (boost/clip) is applied individually to each band.
fx_dynamics
compressor, based on loser’s js tutorial, then modified, tweaked, tried to learn and experiment with dynamics.
fx_formant
formant filter
fx_fracdelay
experiment with a fractional-sample delay line and feedback. the delay length is ‘playable’ via midi, similar to a wavetable synth, and this was the first step towards the syn_plucked synth.
fx_freeze
buffers incoming audio, then loops (forward or pingpong) small section of the buffer, optionally bypass recording, so that looped audio is static (‘freezed’). planned for realtime use.
fx_glitch
my first (of many!) journey into glitch land, randomization, probabilities, … this one is very simple yet, but can creater some interesting cut-ups already.
preview1 (mp3, 429k), preview2 (mp3, 643k)
update 0.0.8: added pitch & stuttering efects, and ‘sliders’ for probabilities per step.
update v0.0.9: midi-controllable. hold midi keys, things are triggered at the next beat-start. notes from c2 -> e3 forces ‘on’ skip, reverse, mute, stutter, pitch. notes from c3 -> controls which slice of the buffer to play. randomization and probabilities can override the midi keys, so you might want to turn down the auto-random stuff if you plan to play/program via midi. experiment.
preliminary docs/info:
(already outdated. too many new things. new docs is planned, …ehmm…)
(will be done properly, when i have some time and motivation leftovers… doc writing isn’t as exciting as code-writing…
the general idea is that audio is constantly being recorded into an internal buffer, and slices are randomly being played back from this, with some glitchy effects.
the length of the internal buffer is defined with “num beats”, and each beat is then sub-divided further with “num beat subdivs” (slices). every time the play position crosses into a new slice, something might get triggered, depending on probabilities.
[todo: describe ‘probabilities’]
there are 5 types of ‘effects’, or things that might happen, or 6 if you count ‘nothing’ as an effect…
skip - jumps randomly (“skip probability”) to somewhere else, to another step/sub-beat. max distance it can jump (from the play cursor) is defined by “skip max offset”.
reverse - playing backwards. note that the playback starts at the beginning of a slice, then playing backwards, into the previous slice.
mute - ‘silence’, nothing, mute
stutter - the slice is yet again subdivided, but only the first slice is repeatedly played (n-n-n-n-nineteen), number of slices is random, max number is maximum
pitch - plays the slice at another speed, no stretching or anything, just play-speed is temporarily modified. max pitch is how far from “play speed” it can go, from half speed (one octave down) to double (octave up)
each step/slice it can jump back to the rec cursor (play mode “sticky”) before selecting something new to do… so that the random stuff is small variations of the original audio only. or it can run “free” for no syncing.
and there’s a “global probability” slider for changing the general, randomness of the probabilities.
and a global playing speed
then, there’s the step sequencer, each step has a slider that control that step’s probs. so, totally there’s three things that is combined into one step-probability: global + effect + step-seq
finally, we have midi for realtime control.
the 5 ‘effects’ can be ‘forced’ with midi semi-notes c2…e2
or you can select slice to play with midi (semi-)notes from c3 and upwards.
hold midi key - probabilities etc are checked only when play/record cursor enters a new sub-beat, to keep everything in sync.
and, almost forgot, the triggers:
0 - clear step sequencer
1 - fill step seq with 1’s
2 - invert all steps
i guess it’s easier to understand by trying it
[todo: examples of usage, describe the ideas behind some parameters, how to use live/reltime, how to program, reaper example projects?]
i have noticed a few isues with this version, that i would like to fix, sometime…
- clicks, clicks… some kind of anti-click things need to be in there, quite noticeable when doing play-speed changing things.
- some not-planned things with midi control. when releasing a key, it doesn’t check which key, and this could create some weirdness if you play multiple keys rapidly after eachother, if not properly releasing eack key before pressing a new, the new slice will play, but if you release the first key while still holding the second, it will stop.
fx_grains
granular synthesis, or grain cloud… audio is buffered, lots of tiny sections of this buffer are looped and pitched and changed, etc, and then mixed/mashed
fx_haarmorph
wavelet analysis (haar) of two inputs, then re-synthesis, crossfading/morphing between them. but, the main effect heard is the quality loss because of poor quality analysis/resynthesis. an experiment that didn’t go as planned, but perhaps we can do something else with the analysis results, before transforming them back to ‘proper’ audio. like fft-ish things.
fx_mididelay
simple midi, but controlled maknly via midi cc. made mainly for use with midi_automata.
fx_moddelay
modulation delay. ala phaser, flanger, for experimentation, various ways of combining the original, and modulated signal (add, sub, mul), and (failed, i think) attempt ot multiple taps/phases.
fx_pitch
poor quality pitch shifter, replaying buffer at different speeds. nothing is done to get clean or good sounds from it. (again) based on loser’s tutorials
fx_reverb
another first test, trying to make a reverb myself, a series of allpass filters, controllable via sliders, not tuned, doesn’t really sound like a reverb at all.
fx_sampler
realtime sample, playback, overdub, erase, etc,… somewhat inspired by repeatler, but have plans for some other directions and features.
beats: buffersize, in beats
draw mode: how to draw the waveform. off, dots, lines.
sync mode: manual = play state manually toggled on/off with ‘transport note’ (below) manual, seq = sync to sequencer (reaper)
transport note: midi note to toggle transport on/off (if syncmode=manual)
record note: switch to record mode. records incoming audio into buffer
play note: switch to play mode. playback from buffer
erase note: …and same, but erase/clear buffer
bypass note: bypass mode
the record/play/erase/bypass modes are exclusive states (can only be in one of these modes), indicated by cursor color: red=record, green=play, blue=erase, white=bypass.
fx_slicer
fx_squarify
turns incoming audio into a square wave, on/off only, kind of 1-bit audio. and an additional filter to have a little bit of control.
fx_switcher
switches between two audio inputs. control the toggling with a sync signal (f.ex with ana_transient or something), or with a specific midi note (for midi_automata, etc)
fx_tempodelay
a simple tempo-synchronized delay, because i use them a lot.
fx_track
very basic track things i always miss when in an experimental or ‘audio-journey’, go with the flow mood… so far, lowpass, highpass and boost. to be extended and finetuned.
fx_wgtavg
lowpass filter. stumbled upon the formula by accident, when playing around with interpolation, and non-linear envelopes for the fx_kick. instead of using an incoming sample directly, we ‘travel towards it’, going just a small step towards it. kind of slowing down the fastest movements in the waveform. like a lowpass filter. quite simple to calculate (a plus, a minus, and a multply per sample, double for stereo), and a different way of looking at filtering.
graphics