Colooperate is a multi-track audio looper that allows you and your friends to create and layer loops together simultaneously. By keeping everything synchronized to a metronome and calibrating for input lag, remote collaborators can participate regardless of network latency and delays.
Looping is the process of repeatedly playing a recorded audio snippet. Some looping devices repeat the snippet immediately after it ends, and others repeat it following a fixed time schedule. Colooperate plays the snippet once every few measures of music, where you specify how many measures, how many beats per measure, and the tempo of the song. The multi-track nature of Colooperate allows you to have several audio snippets looping in parallel with each repeating on its own schedule.
Other than its metronome, Colooperate does not make any sound on its own. Everything is up to you! Pressing the Input button here will connect your microphone to Colooperate. This is a web-app, so a pop-up will appear asking for permission. Make sure you allow or hit share, otherwise you will not be able to record anything.
Once you have enabled Input, you will see a spectrum analyzer view of everything your microphone hears. Play with it a bit! Try talking, snapping, tapping, singing, and whistling.
The spectrum covers a wide range from 20Hz on the left edge to 10000Hz on the right edge. While there are no scale marks, different sounds live in known frequency ranges. You may have heard of tuning A to 440Hz; this fundamental pitch is close to the left edge of the analyzer along with the pitches in your talking and singing voices. The higher end of the spectrum covers hisses and fast transients. Try saying the word "snake" while deliberating very slowly on each letter. The "s" is full of high frequency content, the "n" and "a" have low frequency fundamentals but different overtones, and the "ke" is a fast transient that fills the entire spectrum but only briefly.
To enable sound output, click on the Output button. You will immediately hear a metronome clicking away, and you will see another analyzer that monitors the output audio.
The analyzer visualization shows a sharp peak on every beat from the metronome, and alongside there is a small amount of wide-spectrum noise due to the sharp snap of the click. The metronome's click has two distinct pitches, one higher-pitched on every 1st beat of a measure and another lower-pitched on every 2nd, 3rd, and 4th beat of a measure. The peak's locations are visually distinct in the analyzer.
Drag the Click Volume slider to change the volume of the metronome. The number next to the slider shows its current value, and clicking on it will reveal fine-tuning buttons at -5, -1, +1, and +5 for added precision.
Volume affects the peaks in the output analyzer due to the metronome. At high volumes, more of the noise tail is visible. At low volumes, the peak itself is barely visible.
Later on when multiple sounds are playing, the output analyzer will visualize all of them together.
With both Input and Output enabled, you can begin recording loops! The Rec buttons in the channel strips below begin and end recordings. Press the button, make some noise, and then press it again after a couple of beats. The waveform of your sound will be visible inside of the channel strip, and your sound will loop once every few beats. To stop it from looping, toggle the Loop button on the far right of the strip. (The existing sound file will play until its end, but it will not repeat if its Loop is toggled off.)
Below are two strips for you to play with. The full Colooperate has at least eight independent channels.
Each channel strip has five elements: the Record button, the Clear button, the Waveform and Volume slider, the Loop Length setting, and the Looping toggle.
Note that in any strip, only one sound can be recorded at a time. Recording on top of a strip with existing audio will clear the previous audio.
If you tried to record something in time with the metronome, you will have noticed that your loops and the click do not line up. This is because of Input Lag and is an unavoidable part of computer audio recording. Colooperate provides an Input Lag calibration slider that will compensate for the lag, but you have to set it manually. Make a loop of you snapping to the metronome for four beats and then adjust the Input Lag until your snaps and the click are aligned.
Input lag unfortunately depends on many factors. It varies wildly between devices. Even on the same computer, input lag is affected by the number of programs running and the sound output device (headphones vs speakers). Input lag needs to be calibrated every time you load Colooperate. Fortunately, for the same device and audio setup, the numbers do not change drastically.
Colooperate loops your audio snippets after every few bars. The number of bars is specified per track via the Loop Length setting. (That's the number next to the word Loop described in Step 3.)
Colooperate's internal beat clock is visualized on the Sequencer below. You can choose how many beats are in each bar using the dropdown next to the Sequencer.
The tempo of the sequencer can be specified using the Beats Per Minute (BPM) slider. While the tempo can be adjusted at any time, any existing loops will become desynchronized if tempo is adjusted after they are recorded.
When working collaboratively, be careful when changing the tempo. Any changes you make to the BPM will be synchronized to everyone else in the room!
Colooperate is online! Click the logo here to begin looping.
It is a web application, so there is no software to download. It is known to work on the following platforms and browsers. If you have success or trouble on other browsers, please leave a comment using the form at the bottom of any page.
Mac's native browser and all iPhone browsers currently are missing some critical functionality.
This page you're on uses the same code as the full looper, so if it works here, it will work there too.
Colooperate's collaborative functionality is ready. In the looper, just enter a Room Name and hit Join! While you are connected to the server, you will be synchronized with everyone else in the room.
Have fun looping!
Always looking to improve Colooperate. If you notice any issues, please leave a comment here. Much appreciated!