A Matter of Time

A Matter of Time is a stereo recorder with granular synthesis playback based on Raspberry Pi, Pure Data and a MIDIMIX controler.

It has a 3-in by 2-out matrix mixer with 2 external inputs and 2 outputs with feedback. The recorder can make 10 min long recordings at 44.1Khz sampling frequency, and the buffer can be accessed for playback simultaneously with the recording process. 

Each output channel has 10 parameters for playback manipulation and one for panning control, with 8 buttons for specific functions as recording, playback, plus some extra control over the playback parameters.

PARAMETERS

MIX PLAYBACK
Mix between grain synth and normal playback.
PAN
Stereo panning for each channel output
GRAIN RATE (MIN and + △_RANDOM)
Grain rate controls the time interval (in milliseconds) between grain reproduction. MIN sets the minimum value, and △_RANDOM the amount of random interval added to the minimum.
GRAIN DURATION (MIN and + △_RANDOM)
Grain duration controls the length (in samples) of each reproduced grain. MIN sets the minimum value, and △_RANDOM the amount of random interval added to the minimum.
GRAIN SPEED (FIX and RANDOM)
Grain speed controls the speed of the grain in a way that keeps the time length set by grain duration (It changes the number of samples). FIX sets a fixed value in a range between 0.5 and 1, and RANDOM sets the number of notes (between 2 and 64) of the logarithmic scale that divides the octave, scale which will be randomly sampled if the RANDOM knob moves. If the FIX knob moves the random sampling will be stopped.
RANDOM SAMPLING RANGE
Two RANGE LIMIT knobs set the time interval from which the random sampler will choose a start time if the RANDOM button is pressed.
PLAYBACK POSITION
Sets the star time of the grain.
PLAYBACK RATE
Sets the playback speed between -1 and 1.
BUTTONS

REC.
Start recording (Start playing too, be careful with feedback)
PLAY.
Start playback.
MUTE DRY.
Mutes the direct out of the mixed inputs (without feedback).
RANDOM
Sets random playback start time for the grains.
TO ZERO
Sets grain start time to zero.
STOP RATE
Sets PLAYBACK RATE to zero.
500 | 2000
500 milliseconds range when on, 2 seconds when off.
441 | 44100
441 samples range when on, 44100 when off.


Simplified schematic


LINKS | Github with .pd files