Pi-Loop is a real-time audio looper application that enables users to create interactive musical sessions. One may use an external audio interface to connect a microphone and an instrument or to use the integrated sound card to test it.
This repo consists of 2 different modes that make use of alternative user interfaces to interact with the software:
- PC mode
This version runs directly on a Linux machine and allows the usage of computer components such as the keyboard to trigger events and the screen to access the output state of the program. - RPI mode
This version runs on a Raspberry Pi and uses GPIO-based connected buttons and rotaries to enable user interaction with the program, and LEDs to access the output state of the program.
Both modes lie on the same codebase and can be configured on build. More information can be found in the installation section below.
Key features that make PiLoop unique:
-
Input signal handling flexibility
Individual ARM and Monitor (IN/OUT) states for each input channel allow users to choose on the fly which input channels will be streamed on the speakers and which will contribute to the creation of the current loop.
-
Jam saving feature
Once decided, users can save their overall musical session as a wave file, by pressing a single button. Therefore, not only the loop stream is saved but the combined audio signal stream that has been streamed on the speakers during the session. This can be quite handy for musicians who want to save a session and use it to keep track of their inspirational dynamics or alternatively to use the saved file as a songwriting guide that can be further manipulated in a DAW afterward.
-
Individual effects on each input channel
This increases the flexibility to add effects individually on each input channel.
Common features supported:
- 2 input channels*
- 1 stereo output channel*
- 3 fully operational loop channels (read further in the manual page )
- metronome
- tap tempo
- alter tempo
- a menu feature to load, change, and save session presets.
*depends on the number of IO channels supported by the audio interface used.
Documentation is uploaded as a pdf form.
To use an html
version, install and run doxygen to generate the documentation files.
cd pi-loop-console
doxygen Doxyfile
The documentation files will be stored within the files/docs/html
directory. Open the files/docs/html/index.html
in a browser window to overview it.
If you are also interested in the code design, you may want to check the UML file.
Follow this link to access information on installing, configuring, and building PiLoop.
Additionally, to setup Pi-Loop in RPI mode on a Raspberry Pi, follow this link to obtain an overview on the connections made to the GPIO pins.
To run PiLoop, you have to run with sudo priviledge:
$ sudo ./piloop
To see how to use it, visit the manual page
The future work listing is summarized as follows:
- Fix found bugs.
- Improve existing features
- Add new features
- Upgrade
Visit the future-work list to get informed about what's next.
If you have used this application and would like to contribute or share your feedback and recommendations on improvements, or if there is anything you would like to say about it by any means, please don't hesitate to share it on Gitter
or contact me at [email protected].
If you liked this project, you may also like: