FaceQuencer

Participants: Bruno Angeles FaceQuencer logo
Funding: None
License: LGPL version 2.1 or later.
Time Period: Sept. 2011 (completed)

Project Description

FaceQuencer is a camera-based sequencer and looper. It is written in C++ using OpenFrameworks, and uses Pure Data for sound processing.

The main idea was developed and presented at Music Hack Day Montreal on September 24-25. Over the following few days, the software was improved and installers were created to facilitate installation.

The author presenting FaceQuencer at Music Hack Day Montreal The author presenting FaceQuencer at Music Hack Day Montreal


How to use it

In order to use FaceQuencer, you will need a few things:

  1. A webcam
  2. Some fiducials

Print the two images above, and create a cube by cutting along the dotted lines. You might want to print the documents on white cardboard or add cardboard behind the paper to strengthen the cubes.

Once the software is installed, open FaceQuencer.pd. Pure Data extended should have been previously installed.

Open FaceQuencer, and show the cubes to your webcam! Make sure the lighting is good so that the webcam identifies easily the fiducials on your cubes.


How it works

FaceQuencer does face tracking and gives you visual feedback about the loop being played. When the camera sees a fiducial (the amoeba-like images on your cubes), it identifies it and performs specific actions. The fiducials are part of the reacTIVision project, and are also used on the reacTable.

The fiducials with white backgrounds trigger loops. There are 6 loops, each of a different musical genre but with the same time and key signature. They were created in GarageBand.

The fiducials with black backgrounds are used for control signals of the audio playback. The controls are: play, stop, loop {1,2,4,8}, volume [0;1], lowpass [100Hz;1500Hz], and bandpass [500Hz;3000Hz]. Rotate the loop, volume, lowpass, and bandpass fiducials to change the value of the control signal.


How to hack it

There are two ways to change the software: changing the PD patch or changing the source code.

By changing the PD patch, you can load other sound files or apply other effects to the sound. Pure Data is a visual programming environment. All you need is some understanding of computer logic and sound signals to get some quick results.

If you want to change other aspects of the software, you will need to get the source code. Download OpenFrameworks v0.07, and the source code below. Additionally, you will need ofxFiducialFinder in the \addons folder of OpenFrameworks.


Downloads

File Description
FaceQuencer_v0.0.1_MacOS.zip Mac OSX installer
FaceQuencer_v0.0.1_Win32.zip Windows installer
FaceQuencer_v0.0.1_src.zip Source code (requires OpenFrameworks v0.007)

Troubleshooting

  • I know the framerate is low … If you can help me I'll be very grateful :)
  • The software opens the camera with ID=0. If you do not see the right webcam, try disabling other webcam and imaging devices like TV tuner cards.

Further ideas

Some things I would like to do when I have some more time:

  • Allow the user to change the camera
  • Improve the frame rate / optimize the code
  • Allow my dog to trigger sounds by creating toys with fiducials
  • Use the face tracking feature to apply effects on the sound
  • Use libmapper!
  • Get on chatroulette with my app
  • Port to smartphones (shouldn't be too hard with OpenFrameworks)