i think a grain generator should have a very diferent aproach than a grain
processor.
this is how i see a grain generator:
grains are not fixed samples, they are bits of samples put togheter or
more correctly: a long sample is smashed into smaller samples (grains).
grains parameters (position, pitch, lenght, density and dynamics) should
be controllable independently from those of the main sample (loop points,
pich/speed, direction...)
- a grain generator should be able to stock a series of more or less long
samples (stored into a usb memory or a SDcard or whatever)
- a cv select input would allow to choose the sample to be granulated
- a cv position pointer would allow to choose where from that sample the
grain is taken.
- a couple of cv start and end loop position pointers would allow the
whole sample to be put in loop (0v=start of the sample, 5v=end of the
sample)
- a cv lag processor for the position pointer would allow to smooth the
transition of granulation travelling thru the long sample
- a cv lenght would control how long is the grain lasting.
- a clock/trig input would control the density of grains
- a gate input would trigger the playback of the grains
- a cv input to control grains pitch
- a cv input to control main sample's pitch
- a cv input for atack time of the grains
- a cv input for the release time of the grains
- a cv feedback would allow to feed the grains back to themselves
- a cv delay time would allow to delay the signal for grain's feedback
more thoughts on this later
--- In
Doepfer_a100@yahoogroups.com
, Denis Gökdag <q-art@...> wrote:
>
>
> > yes that would be a very nice aproac to it.
> > also:
> > -every grain could even be externally trigered by an lfo or oscilator.
> Yeah, that's basically what i meant. Let me focus on a grain playback
> module. It would get it's source files via USB, up to one file per
> voice, or possibly from the memory of a possible other grain module
> ( like a realtime memory recorder....). One voice would have the
> following inputs/functions:
>
> - trigger input to start playback of a grain.
>
> - 3-way trigger-mode switch
> --------mode 1: starts a grain on every trigger; if a new trigger
> arrives while a grain is still running, the voice crossfades to the
> new grain
> --------mode 2: starts a grain when a trigger is received UNLESS a
> grain is already being played back. the trigger signal is forwarded
> to a trigger output socket (which could be used to trigger a
> different voice)
> --------mode 3: sampler mode, where the input expects a GATE rather
> than a trigger. rising gate will start a grain, which will continue
> playing looped while gate is high
>
> ---trigger thru socket which forwards either the trigger signal like
> a multiple (mode 1), routes non-played triggers thru (mode 2) or
> outputs a trigger whenever the loop "turns around" (mode 3)
>
> --- "grain is playing" gate output: outputs a gate whenever a grain
> is being played, gate becomes low when the grain fade-out starts (so
> you wont get just a permanent high level in case of mode 1 and
> overlapping grains); this makes triggering envelopes etc for
> processing grains possible
>
> - manual control and attenuated CV input for grain length: these
> values will only be evaluated at grain start time
>
> - mode switch for grain length
> --------mode 1: absolute mode #1, where a CV of 5V results in a grain
> length of 500ms
> --------mode 2: absolute mode #2, where 5V = 2.5
> --------mode 3: relative mode, where 5V equals the length of the
> entire file in seconds
>
> ----grain length CV output, that outputs the current grain length as CV
>
> - manual control and attenuated CV input for grain transposition;
> only evaluated at grain start
>
> - attenuated CV input for grain pitch; evaluated in realtime at
> sample rate (for "pitch jitter" effetcs or envelope control of pitch
> variation during a grain etc)
>
> ---- pitch CV output, which is the transposition (in S/H form as used
> by the grain module) plus pitch CVs summed
>
> - manual control and attenuated CV input for grain start location
> within file; only evaluated at grain start
>
> - grain start location mode switch:
> -------mode 1: relative mode, where 5V = last sample word of file
> (in which case a grain would start at the beginning of the file); the
> manual start time control acts as an offset and has a range over the
> entire file
> -------mode 2: absolute mode, where 5V = 1 second; manual control is
> offset as in mode 1
> -------mode 3: stepped mode, where the CV input is quantised into 16
> or 32 steps, which step through the file in 16 or 32 equal steps
> (making beat-rearrangement possible etc); manual control is an offset
> for fine-tuning the virtual "1" of the file.
>
> ---grain start CV output, which outputs the starting position within
> the file of the current grain, where the last sample word of the file
> equals 5V, updated on grain start
>
> --- current playback position CV output, which outputs the current
> position within a grain (!!) as a CV, where start of grain equals 0V
> and end of grain equals 5V....this is basically a rising ramp at the
> length of the current grain, or a sawtooth oscillator in case of
> looped playback. yummy!
>
> - manual control for fade-in/out time of the grain from 0 to 50% of
> grain length value OR absolute from 0 to 20 ms dpending on the state
> of the
>
> - fade mode switch as described above
>
> --- fade envelope CV output, which outputs a rising ramp while grain
> fades in, falling ramp while grain fades out and 5V while grain is
> playing
>
> - grain playback direction switch and gate input where 0V = forward
> and 5V = reverse. when in looped mode 5V means alternating forward-
> backward loop
>
> - grain audio output
>
>
>
> This would result in a total of 14 sockets, 9 pots and 4
> switches......so a 4-voice module would basically be around the size
> of an a-154 + a-155 combo.
>
> Gotta forget about the 8-voice. Just get two or three of the 4-voice
> ones.
>
> Yeah.
>
>
> Oh and whoever builds this, get me a free one ;-)
>
>
>
> l8a,
> d
>