Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A cross-platform audio application for live loop manipulation.
C++ C Shell
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
docs
gui
icon
libdeps
rtaudio
rtmidi
util
AUTHORS
COPYING
Dotum10.raw
INSTALL
INSTALL.markdown
Makefile.am
NEWS
README
README.markdown
README_win32.txt
TODO
autogen.sh
bootstrap.sh
configure.ac
def.h
filter.cpp
filter.h
ld_logo.h
ld_midi.cpp
ld_midi.h
loopdub.conf.example
loopdub.cpp
loopdub.dsp
loopdub.dsw
loopdub.h
loopdub.midi.conf.example
loopob.cpp
loopob.h
platform.cpp
platform.h
player.cpp
player.h
program.cpp
program.h
programs.ini.example
sample.cpp
sample.h
settings.cpp
settings.h
vumeter.cpp
vumeter.h

README.markdown

Welcome to LoopDub

NOTE: For instructions on usage, see docs/index.html. Please read INSTALL for instructions on compiling, installing and running.

LoopDub is a program for turning your computer into a live sampler for performing electronic music. It has been developed with three ideas in mind:

  • simplicity
  • directness
  • transparency

For usual software applications like writing documents or programming, it is very convenient to have a lot of functionality enabled through menus and right-click context functions and customizable interfaces. However, to use your computer as a musical instrument, it is not necessarily desirable to have three or four mouse clicks interjected between wanting to perform and action and being able to carry it out. Thus, the LoopDub interface is designed to be very SIMPLE, and DIRECT. Each loop is exactly the same, and they are limited to only eight. The buttons are always in the same place, and the mouse actions always do what you expect.

After using it for a few hours, you will find that the interface blends very well with what you are doing, and because it is so simple, you will almost forget the interface is even there. This is what I call TRANSPARENCY. You will, if I have achieved my goal, feel like you are no longer using "an application" to create music, but that you are "playing" your computer, just as someone plays a guitar or keyboard. An experienced guitarist achieves a certain state where he no longer thinks about the strings and where to put his fingers... he merely thinks of the notes that he wants to hear and they resonate from the strings automatically. The goal of loopdub is to use directness to create as little interference between the musician and the sound as possible.

Also, music software should bear as little influence as possible on the final outcome. Now, obviously, as loop-oriented sampling software, anything performed with LoopDub is going to sound... loopy. But since it uses standard .wav files and gives no restrictions on loop size and what can be done with them, it is hoped that the interface will not influence the style of music performed, within the target genre. Any kind of electronic music oriented around the loop, such as techno, house, hiphop or whatever, could use LoopDub for a performance, and you should not really be able to tell they are using it.

Why I wrote LoopDub

I was using various tracker programs for writing music, but I found that none of them was very good for actually playing this music in front of a crowd. That is, there was not much to be done "live". I would stand there with two computers and mix my FastTracker files using a DJ mixer, using the speed controls in Impulse Tracker to keep things on beat. Then I finally wrote some software that automatically did the beat matching, which was nice because I could concentrate on being dynamic and also I could use a small laptop instead of lugging around two computers. But it still felt a little dry, because I was playing pre-made and pre-sequenced tracks. I wanted something that would let me just jam random loops together, without needing them to be already sequenced into a track.

LoopDub works very nicely for me, because I just have to create a bank of loops and then I can make up a whole new set on the spot. I can play the drumline of one track with the bass of another, dropping a vocoder and synth from another. It's lots of fun, and I've used it a few times in front of crowds. I feel a lot more like I'm actually doing something on the stage, which is far more satisfying than just hitting play on track after track.

There is other software intended for this purpose, such as Ableton Live!, and no doubt that you could use sequencers such as Acid Pro or even Cubase in a dynamic and live kind of way, but I wanted something designed from scratch, and it's been fun to design, and having it specifically oriented around live performances has allowed me to customize certain useful features to do what I need. (Such as the "wait for next bar (hold)" feature, incredibly useful!)

At the moment I use it mainly under Linux. It was designed with cross-platform compatibility in mind. The next release version will certainly include Windows and OS X binaries. Already you can compile it for those platforms, however I have been looking at some thread priority issues which are stopping me from considering those platform versions "stable". However, at this time, I have already performed one live set using this software on OS X so I can guarantee that it does work. However I am not yet ready to provide binary versions. With a little work you can get it to compile in Visual Studio, or from the command line in OS X.

There are MANY many more things I could add or need to fix. See the TODO file for some examples. It is definitely not an exhaustive list, as I keep thinking of ideas and forgetting to add them. ;-) But since I am currently using this software for my own live sets, it's in my interest at the moment to keep actively developing it. However, I certainly would welcome contributions on code, or ideas. Or a new logo. :)

LoopDub is distributed under the GPL. See LICENSE for info.

For help, comments, or suggestions, please contact me.

Stephen Sinclair radarsat1@gmail.com

Something went wrong with that request. Please try again.