Audio Input Granulation


#1

Howdy! First post here. I'm working on a Theremin-CV controlled instrument, which would granulate sound from a live-sampled input and/or a delay line. With the sample written to a table, pitch shifting the playback would also be possible.

I would love to see examples of how people have done these kinds of things with the Axo, and I would prefer to see patches written in the Axo patcher itself rather than C code of finished objects.

I could write the Pd code for this with both hands tied behind my back, but this is a new environment and has different idiosyncrasies. It's not that I miss [trigger bang float], it's just the I've learned how to fully exploit it over the years! :wink:

Thank you for your kind attention!
Derek


#2

I have located the /js and /jt granulators. I am just wondering if it even makes sense to try and build one from factory Axo objects themselves. Continuing my plunge through the archives here....

/cpwitz/effects/grains/grain-mill
/jt/grainy-table
/demos/audio_in/granular_verb

Anything I missed?


#3

This is how I implemented un-pitched grains:
When I will have time again, I will try out the pitched options.
greetings.


#4

I f I am correct Matthew Tyas ( @mtyas) has already tackled most of the issues. Also see his Youtube video's.


#5

I found a very nice intro "show and tell" video by @mtyas which explained polyphony which could also be useful for granulators. I couldn't find a topic here or a YouTube video on granulation per se, however. Matthew, if you are tuned in, could you send me a more direct link to what @brasso mentioned? Thanks!


#6

Thx @servandisco I'll dive into that thread now!


#7

You guys should look at sss's factotum module as well. gets very grainy.


#8

@macumbista is your project gonna granulate an incoming audio input like a pedal would do?


#9

@OrlandoDoom: Right now it uses one footswitch to record a sample from the microphone into a buffer. Then another footswitch (soon to be three discrete footswitches in a single enclosure) changes the parameters which the two theremin antennas control:

MODE____LEFT HAND____RIGHT HAND

One______Volume________Pitch Shift
Two______Grain Position__Grain Length
Three_____Filter Reson____Filter Frequency

The granulator reads from a buffer, the volume and playback speed (pitch) of each grain are controlled by one of the antenna modes.

The position of the grains in the buffer and the length of the grains are controlled by the second mode.

The granulator is followed by a resonant low pass filter, so the third mode controls the frequency and resonance of that.

The main challenge was to find something that was highly playable instead of relying on LFOs or random generators for animation of the sound. Currently, the last input value from the theremin antennas is held by each mode when switching to another one. However I may add another pedal function which samples a hand gesture as sensed by the antennas, to be looped in one mode when switching to another.

The purpose of the instrument is for spoken word performance, a kind of vocal glitch/stutter machine. Documentation eventually, once the client makes a proper piece with it.


#10

@macumbista wow, that sound very cool and a great job!
I would like to make something that granulates in real time from the audio input, controlling grain size, shift speed and grain pitch from three knobs. Do you know how can I make it, or some patches that I could use or look at?
The main aim would be to use it on rhythmic parts to "stretch" them and make them glitchy ( as a break in a live set situation, if u get me)


#11

@OrlandoDoom Real time input granulates from a delay line, whereas sampled (even live-sampled) granulation is read from a table. If you wanted to have things synchronized to some sort of rhythmic meter, it would be much easier to do with a table since the length is the sample is known and can be quantized to different musical measures. This is how Ableton does it's stretching and quantizing, for example. I would suggest a similar approach to what I have taken: some kind of trigger (footswitch?) to capture a sample, and then rhythmically quantized granulation. I think most of the Axo patches mentioned in this thread could be used for something like that. I don't tend to work with quantization at all so my help in that area would be very limited. Good luck!