ImproSculpt is
a live sampler instrument.
It can be controlled via mouse and on-screen controls.
The main strength of the software is its large palette of processing techniques,
as well as it's approach to organizing playback events, not in tracks but in
processes.
You can set up a semi-automatic playback process that you give certain startup
parameters, and then "let it wander on" by itself until you feel you
need to "guide it into a new mood".
This is done via a combination of random and user-controllable parameters.
When you've got it running, you might want to take a look at the How it works and Getting Started sections
System requirements:
- Audio card with stereo input and output available simultaneously (full duplex)
- You need a version of Csound installed and working.
For this particular version of ImproSculpt you need a Csound version that supports
FLTK GUI widgets.
To get Csound, info and download, see www.csounds.com
To run the software:
Windows users:
Create a new directory on your C: drive, call this directory "improsculpt"
(without the quotes)
Unzip the ImproSculpt.zip file to this directory
Drag and drop the ImproSculpt.csd file onto the Csound executable (Csound executable
is not included in ImproSculpt.zip, you can get the appropriate Csound executable
from www.csounds.com).
Select audio input and output ports when you're asked to do so.
Other platforms
(Mac, Linux ...):
If you're not on windows, you will need to edit the ImproSculpt.csd file in
a text editor,
what you need to edit is the <CsOptions> section.
You also need to edit the path pointing to the included sound files,
and the path to file where you want to store your GUI presets.
This can most easily be found by searching through the ImproSculpt.csd file
with a text editor,
replacing all text equal to "C:/improsculpt/" with the proper reference
to the improsculpt directory on your computer.
Contact me for help if you're unsure how to do this.
I can be reached at obrandts@online.no
**************************
The ImproSculpt
window is split into sections:
Input
Rhythm
Mixer, and effects
Sound List
Modules,
different playback modules
The PitchTracker window is split into:
Recording
Playback
The PatternSequencer
window
has three identical Pattern sections
Input
- contains controls for the sampling process.
You can sample individually from the left and right inputs of your sound card,
here called input 1 and input 2.
Each sound can be up to 5.9 seconds long, this is a soft limit and can easily
be changed for future releases.
Sounds are stored in "slots", you can have up to 14 audio slots. Be
careful, you can easily overwrite sounds already sampled. This is done because
I wanted it to be easy to dynamically change the contents of the sounds available,
with the risk of losing some good sounds...
Just for clarity: Everything is done in RAM only, so no harm is done to any
sounds you may have stored on your hard drives.
"Mix inputs
1 & 2 " mixes the signal from your audio card left and right inputs,
and use this merged signal as the source input for this sampling module.
"Auto Sampling" Sampling is activated via level-sensing of the input
signal, when you feed a lod enough sound into ImproSculpt, it will start sampling.
When the audio level falls below the threshold, sampling will stop, and the
sound will be stored in RAM. The Auto Sampling button also enables the audio
inputs, so it needs to be active even if you use Manual sampling trig.
"Manual" Enable manual sampling trig. This button just enables, use
"Trig" to trig sampling when in manual mode. You would normally not
want to use Manual Sampling, use Auto Sampling unless you've got a very noisy
input signal.
"Trig" When "manual" is enabled, "Trig" works
as an on/off switch for sampling. As long as the button is active (light on),
sampling will be done.
"Auto Cycle Slot" When activated, the next audio sampling will be
written to the next available slot. When not activated, all new sound will be
written to the same slot
"Current Slot" Display the sampling slot currently being used for
sampling. When no sampling is being done, it displays the last slot where audio
has been written.
"First Slot" The first slot you want to enable for writing audio to
"Last Slot" The last slot you want to enable for writing audio to
When audio have been written to the "last slot", the pointer "wraps
arounsd" and the next sound will bee written to the "first slot",
and then continue overwriting old sounds.
You can select certain sounds/slots to be "record protected" more
on this in the "Sound List" section
"auto threshold" the audio level that needs to be exceeded in order
to start audo sampling
Rhythm
- contains the master clock, tempo and meter control, and rhythmical patterns.
"Rhythm On" is the master clock on/off switch. A lot of processes
depend on this switch being set to "on".
Time Signature
can be set by clicking one of the buttons named 4/4, 5/4, 3/4, and so on.
A Metronome can be heard if activating the "Metro" button
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Cutoff Freq"
set the cutoff frequency of the filter
"Filter Q" set the sharpness or resonance of the filter
"AmpLP" output volume of the LowPassed signal
"AmpBP" output volume of the BandPassed signal
"AmpHP" output volume of the HighPassed signal
"LFO Freq" set the frequency of an LFO that affects Cutoff freuency
"LFO Amt" set the amount of influence the LFO has on the Cutoff frequency
"Amp-Freq" set the amount of influence the amplitude of the input
to the effect has on the Cutoff frequency
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Dist Drive"
amount of distortion
"Dist Shape" shape of the distortion function, higher values give
sharper and harsher dist
"Post Filter" Cutoff frequency of a lowpass filter after dist
"Amp-Drive" set the amount of influence the amplitude of the input
to the effect has on distortion drive
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Cutoff Freq"
set the cutoff frequency of the filter
"Resonance" set the sharpness or resonance of the filter
"Distortion" amount of distorion in the filter
"LFO Freq" set the frequency of an LFO that affects Cutoff freuency
"LFO Amt" set the amount of influence the LFO has on the Cutoff frequency
"Amp-Freq" set the amount of influence the amplitude of the input
to the effect has on the Cutoff frequency
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Tempofactor"
set a multiplication factor, of how the delay tempo relates to the master tempo,
0 will actually mean 0.5 (half tempo), 1 will mean 1, 2 will mean 2(double tempo),
3 will 3(triplets), and so on
"Unlink" disable the linking of delay times to the master tempo altogether
"deltime subdiv"
delay time for the Left and Right delay line, in subdivisions of "tempofactor"
"straight/dotted/triplet" well,...guess. in musical notation terms
a further specification of the delay time subdivision as straight, dotted or
triplet note values.
"delaytime" should display the actual delay time, but is currently
disabled.
"time fine
L" fine tuning the delay time, can be used if you want delay times that
are not exact subdivisions, but a delay that rushes or drags a bit. This can
make the delay patterns more organic and groovy if used with care.
The value is a multiplier/offset, a value of 0.1 will offset the delay time
by 10%
"time fine R" same as above, for Right delay channel
"LFO Freq" frequency of an LFO used to modulate the delay times
"LFO amt L" amount of LFO influence on the delay time for the Left
channel delay
The value is a multiplier/offset, a value of 0.1 will offset the delay time
by 10%
"LFO amt R" same as above, for Right delay channel
"Feedback" amount of feedback in the delay line, controls the number
of repeats
"Fb filter" Cutoff frequency of a low pass filter applied to the feedback
audio signal
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Reverb feedback"
controls reverb time. 0.8 = small hall, 0.9=large hall, 0.96 huge hall...
"Pre Delay" delay from direct signal to reverb tail
"HF damp" Hi frequency damping, the cutoff frequency of a lowpass
filter in the reverb network
"LF rolloff" Low frequency damping, the cutoff frequency of a hipass
filter in the reverb network
"Pitchmod" the amount of pitch modulation in the reverb delay network,
too little results in a more metallic reverb while too much results in a wobbly
"out of tune" reverb. 0.98 is fine for most applications.
Output Level, panning, and a level meter can be found at the bottom left of the effect window
Effect sends
This controls the mixing of signals from this effect, for dry signals and as
sends to the other effects processors.
"Sound Length"
14 value fields or number boxes that display the length the audio sample currently
stored in each sample slot.
When ImproSculpt is started, these fields are empty as no sounds have been sampled
yet.
As you fill up memory with live captured samples, you can use these fields as
an indicator of what sound is stored in what sample slot. And of course, as
an indicator that the sampling process is working as expected. A graphic representation
of the waveform would have been better, but this is what we've got at the moment.
"Test Play
Sounds"
Numbered buttons used for playback of single samples. Mostly for the purpose
of testing that samples have been captured correctly. Playback of the sounds
is done through the R.Play 1 module, so any effect sends and processing set
in that module will apply to the playback.
"Save Sounds
(record protect)"
When activated, these buttons will protect the corresponding sample slot from
being overwritten. If the automatic "next slot" functions for selecting
a sample slot for recording wants to select this slot for recording, the next
non-protected slot will be used.
"Hide Sounds
(don't use)"
When activated, these buttons will keep the corresponding sample from being
used by the automatic/random selection functions for the R.Play modules. By
combining the use of "Record Protect" and "Hide Sounds"
you can keep some sounds in memory that you want to use later in your perfomance
as "main themes" for example, while you continue to develop an evolving
section of the music.
When a sound is explicitly selected by e.g. a Grain module, "Hide Sound"
will have no effect.
"Clear Sounds"
Buttons used for clearing the contents of each sample slot. If a sample was
previously stored in the corresponding slot, the "Sound Length" value
field will update to show zero (0.) when the slot is cleared.
Modules
This is where you'll find most of the playback modules.
This section has the following tabs
R.Play 1, R.Play 2,
Grain 1, Grain 2, Grain 3, Grain 4,
RAGrain (Random Access Granulator)
Pad
Drumloop
Transposition of
the sound can be done via the dial/knob, or in semitone intervals via the buttons
named 0 to 14.
There's a fairly illogical thing about the numbers on these buttons.... number
7 is "no transpose", 8 is a semitone up, 6 is a semitone down. and
so on.
"Inv" button plays the sound backwards
Frequency Modulation
You can use FM on the playback of the samples, choose a modulator waveform under
"Mod Wave" (saw,tri,sin,sqr), then choose a modulation index (amount),
and a modulation frequency.
Enable Frequency Modulation with the button "FM on/off"
The controls to the right set up enveloping functions on the Frequency Modulation,
you can set start value, middle value and end value, as well as "thru point"
(the point in time where the middle value is reached. Time is relative to the
length of the sample played. Enveloping are avilable both for modulation index
and modulations frequency. Enveloping values are multipliers, so that a start
value of 2 sets the modulation frequency to twice the value specified with the
knob/dial "Mod Freq".
SV Filter
A three band filter where you can select one band at a time for output.
The controls are Cutoff, or center frequency of the filter, and Q or sharpness
of the filter.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
"Bandwidth",
"Rise", "Dec", and "Duration" controls the shape
of each grain.
I consider these "advanced" controls, if you are not experienced with
granular synthesis I'd suggest you leave them untouched for a start.
Time Controls
"Lfo Amt" and "Lfo Frq" controls amplitude and frequency
of a Low Frequency Oscillator.
The LFO are used to modulate the "time pointer" into the input sound.
"RndAmt" sets the random amount of "jumping around" in the
sound
"TimRatio" sets the relative time it will take to play bakc the sound,
if "manual time point" is not enabled.
A TimRatio of 1 will play back at original speed, a ratio of 2 will play back
twice as fast etc.
"Man TimPoint" Manual time pointer, if the button is enabled, the
slider can be used to point to a specific part of the sound.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
"input sound"
select the sound to be processed/played back. Sound no. zero (0) will select
the latest recorded sound.
"Transp" transposition or pitch, can also be done with "semitone
transpose"
"Inv" each grain will play the sound backwards
"R.Pitch" Random pitch deviation
"Inv" the direction of the pitch deviation, up or down
"semitone transpose" changes transposition in semitone steps, like
the same function in the Random Play module
Enveloping
"Rise" controls the "attack" time of each grain
"Duration" controls the duration of each grain
"Dec" controls the decay of each grain
"R.dur" controls random time deviation from Duration
StartPoint/Phase
Controls
"Lfo Amt" and "Lfo Frq" controls amplitude and frequency
of a Low Frequency Oscillator.
The LFO are used to modulate the "time pointer" into the input sound.
"RndAmt" sets the random amount of "jumping around" in the
sound
"TimRatio" sets the relative time it will take to play bakc the sound,
if "manual time point" is not enabled.
A TimRatio of 1 will play back at original speed, a ratio of 2 will play back
twice as fast etc.
"Man TimPoint" Manual time pointer, if the button is enabled, the
slider can be used to point to a specific part of the sound.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
A very simple synth
pad, mostly for testing of audio out when not having audio in.
This is a "leftover" from earlier versions of ImproSculpt,
I will probably have it removed.
Push the buttons to start some notes.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
A drumloop player.
Well, you could play back any audio loops really...
The loops must be loaded from disk when starting ImproSculpt, this is done automatically.
If you want to change the drumloops loaded, contact me for help.
The selected loop
is started upon the beat of 1 in the next measure after the module has been
activated.
Master "Rhythm On" must be activated for this to work,
and the Loop "On" button in the Mixer Section must also be activated.
The loop is restarted every 2nd measure, and it is pitched so that it fills
exactly two measures.
This way, it will follow tempo changes done in the master rhythm section.
"Loop no"
selects the loop from playback
"pitch/tempo" tempo multiplier, if set to 1 playback at original pitch,
at 0.5 playbac at half speed and pitch.
BBCut parameters
There's a beat cutting algorithm, cutting the loop semi-randomly into smaller
chunks and creating non-repeating variations on the preprogrammed loops. This
is based on the Csound opcode bbcutm introduced by Nick Collins.
"subdiv" smallest subdivisions of a measure you might want to cut
at
"barlength" this many beats to one bar
"phrasebar" max lenght of one cutting phrase
"num rep" max number of repeats in the cutting
"stutr speed" the algorithm can create faster repeating cuts at the
end of each phrase, this controls the speed of the stuttering
"stutr chance" probablity for a stutter to occur
"envelope" select if each cut should get an "anti-click"
envelope, or if you would like to use the clicks for creative purposes
"Clean/BBCut
balance sets the balance between the clean uncut loop sound and the cut-up version
of it. I find that values from 0 to 50 is to my liking.
"drumloop amplitude" is just an extra volume control, to be able to
boost or dampen the drumloop material according to the levels of the sampled
sounds.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
A pitch tracker
sampler.
Audio input is analyzed for pitch and amplitude, this information is stored
in RAM, the rest of the audio information is thrown away by this module.
You can play back the pitch melodies recorded and use them to control various
parameters in ImproSculpt playback modules.
Record
"Sample Pitch" acitvates the pitch tracking and storing
"Pitch mel.no" selects a "slot" where pitch and amplitude
is to be stored
Beware, there's a bug currently making it impossible to store to more than one
"melody slot" at a time.
If you first record something to slot 1, and then record something to slot 2,
the info in slot 1 will become garbled.
I'm working ti fix this. For now, use only slot 1.
Playback
"Grain2Freq" uses the pitch information to control grain frequency
of Grain2 module
"Freq Multi" transposes the pitch melody up/down in octaves
"Amp enable" enables the amplitude inforamtion stored with the pitch
melody to control output volume of Grain2 module
"Amp Amount" factor for setting how much the output amplitude should
be affected by the pitch melody amp
"Amp thresh" sets a lower threshold for the output amplitude of Grain
2 as controlled by pitch melody
"Pitch mel no" select which pitch melody to be used, use only 1 for
now
"retrig measure" if this is set to zero (0), the melody will play
once when the Grain2Freq button is pressed,
if it is set to a positive number, the pitch melody will be retrigged every
so many measures. Useful for creating parameter change loops.
"Grain2Transp"
uses the pitch information to control grain transpose of Grain 2 module
- the rest of the parameters for this function corresponds to those described
for Grain2Freq
"FMfreq"
uses the pitch information to control modulator frequency of the FM send effect
in the Mixer module
- the rest of the parameters for this function corresponds to those described
for Grain2Freq
"RMfreq"
uses the pitch information to control modulator frequency of the FM send effect
in the Mixer module
- the rest of the parameters for this function corresponds to those described
for Grain2Freq
"BassSynth"
uses the pitch information to control pitch and amplitude of a Bass synthesizer
"Out Amp" sets the initial volume for the bass synth
"Amp Follow" sets the amount of amplitude variation allowed on the
bass synth, amplitude variation is controlled by the analyzed amplitude of the
input signal
- the rest of the parameters for this function corresponds to those described
for Grain2Freq
Effect sends (for
Bass synthesizer only)
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
A step sequencer
inspired by e.g. FruityLoops.
The numbered buttons corresponds to 16th notes in a grid,
making it possible to program patterns that will trig a certain sample.
Some controls are provided to change the sonic character of each 16th note trigged.
A sample trigged in this module will play for its full duration, care should
be taken not to use too long samples as they will be layered on top of each
other.
There are three identical "pattern track modules" for three independent
programmable patterns
The master "Rhythm On" button in the ImproSculpt window must be aneble
for thos mudule to work.
Patterns
"sample
no" select the sound to be used in this pattern
"shortest" use the nth shortest sound instead of the sound stored
at slot n
for example, you select 3 in "sample no", and enable "shortest",
the third shortest sound recorded will be used for this track.
Buttons "1", "2", "3" etc. used to program the
rhytmic repeating pattern, corresponds to a grid of 16th notes.
"fm freq" frequency modulation is available separately for each 16th
note trigger, "fm freq" sets the modulation frequency
"fm index" master control for modulation index
Each of the 16 number boxes set directly to the right of "fm index"
sets a multiplicator value that controls fm index separately for that 16th note
"filter Q" sets the Q or sharpness/resonance of a Low Pass filter
"cutoff" sets the cutoff frequency of the Low Pass filter.
Each of the 16 number boxes set directly to the right of "cutoff"
sets a multiplicator value that controls cutoff separately for that 16th note
"fade in" optional fade in for all notes in this pattern, allowing
for smooth non-attack patterns. The value is relative to the length of the sample
used in the pattern.
"fade out" optional fade out for all notes in this pattern. The value
is relative to the length of the sample used in the pattern.
Each of the 16 number boxes set directly to the right of "fade out"
sets a multiplicator value that controls duration separately for that 16th note.
Duration is relative to the length of the sample used in the pattern.
Effect sends
This controls the mixing of signals from this module into the main mixer, for
dry signals and as sends to the effects processors.
Here's a few quick things to try, to get you started playing with ImproSculpt.
Test audio out:
1. Activate the "Rhythm On" button found near the top middle of the
ImproSculpt window.
2. Activate the "Metro" button found a little way down from the "Rhythm
On" button.
3. You shold hear a Bass Drum beating a slow steady rhytm.
4. Activate the Loop "On" button in the Mixer section
5. You should soon hear a drumloop playing in time with the Bass drum metronome
6. Activate the Pad "On" button in the Mixer section
7. You should hear a smooth synth pad note
Test audio in:
1. Activate the "Auto Sampling" button in the top left area of the
ImproSculpt window, use the "Input 1" section to test. This corresponds
to the "left" input on your audio card/hardware.
2. Check that you can see movement in the green level meter to the left of the
"Auto Sampling" button, you should see the vertical green area become
red corresponding to the audio input level.
3. Activate the "Auto Cycle Slot" button
4. Watch the numbers appearing in the value fields named "Sound Length"
in the "Sound List" section, this is in the lower right area of the
ImproSulpt window.
5. Activate the Rplay1 "On" button in the Mixer section
6. Activate the "Rhythm On" button found near the top middle of the
ImproSculpt window
7. You shold hear a random but rhythmic pattern of the sounds you've just recorded