Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time


an open diy video sampler


r_e_c_u_r is an embedded python/openframeworks application on raspberry pi3 that uses input from the keypad to control video while displaying a simple text ui on a rpi lcd screen

in-depth video demo



  • seamlessly loop video through rpi's HDMI or composite out
  • intuitively browse video files from external and internal disk and map them into r_e_c_u_r
  • load and trigger video samples from numbered slots in the sampler bank
  • dynamically set and clear the start/end points of each sample as it plays
  • control and sequence all inputs and more with midi-usb
  • many sampler modes for varied playback including: repeat, one-shot, gated, random, fixed-length, random-start and more
  • exhaustive and extendable settings menu to suit your use


as of V2.0 the r_e_c_u_r platform has been extended in a number of directions to complement live performance and _recur_ , the original video playing engine:

  • _captur_ : input live video via CSI or USB , for live sampling and processing
  • _conjur_ : glsl shader engine, map and trigger shader files and control parameters in real time; generate video or process and mix existing sources
  • _detour_ : in-memory frame sampling (up to 500 frames), video scrubbing, playback speed and direction control, finger drumming
  • toggling internal feedback + strobe effect

NOTE: most of the new V2.0 features are optimised for sd composite video output. Some of these extensions will work over HDMI but they are not fully supported - especially the live video input struggles

extension video walkthroughs

  • conjur_walkthrough
  • captur_walkthrough
  • detour_walkthrough

main objectives:

  • Affordable : reducing the entry cost to performing with video
  • Extendable : laying the foundations (of a user interface and code style) that can be easily iterated on by the community
  • Simple : easy to operate (abstracted completely from ‘driving’ a raspi ) , easy to build (no technical computer install-y or circuit-y knowledge required to diy) , easy to develop (human readable code, inviting amateur/first time coders to contribute)


many other things documented on the wiki


The nature of this project is to be open-ended and community driven. my r_e_c_u_r already solves the problems i initially built it for. what happens next depends on how it is used and received by you. if you like the idea please let me know / get involved !

contact, donation and thanks

you can find me (and others) at , an online diy av community space. theres a r_e_c_u_r channel in the chatroom: there is also a facebook user group :

all feedback is appreciated. if you want to donate to this project you can do so with the above email via paypal : everything i receive will go into improving r_e_c_u_r. cheers to Leo Browning for the 3d modelling and vector art and to Ben Caldwell for heaps of help with the code!