Pedal Pi - Application¶
Pedal Pi - Application is a framework for manager the Pedal Pi. Through it is possible loads Pedal Pi Components to provide a Human Machine Interface (HMI) or even have an opening for other software to consume the features of the Pedal Pi.
The components developed use the API (available through Controllers) to manage the resources of the Pedal Pi.
- Python Package Index:
- Apache License 2.0
Following are the steps required to set up and run Pedal Pi - Application.
Install with pip
pip3 install PedalPi-Application
Create the script file that contains the code to run the application (as example
from application.application import Application application = Application(path_data="data/", address='localhost') application.start() from signal import pause try: pause() except KeyboardInterrupt: application.stop()
Download, compile and install mod-host. Mod-host is a LV2 host for Jack controllable via socket or command line. It is developed by Mod Devices, a company that also develops professional equipment for musicians.
git clone https://github.com/moddevices/mod-host cd mod-host make make install
Start audio process. The required settings for your audio card can vary greatly. I recommend that you try different possibilities in order to minimize the latency and number of xruns.
If you do not have any experience with JACK, is recommend the lecture of Demystifying JACK – A Beginners Guide to Getting Started with JACK from Linux Music Production.
# In this example, is starting a Zoom g3 series audio interface jackd -R -P70 -t2000 -dalsa -dhw:Series -p256 -n3 -r44100 -s & mod-host &
Finally, start the application
It’s possible add or extends the Pedal Pi with addiction of Component. A component can provides a Human Machine Interface (HMI) - like Raspberry P0 - or even have an opening for other software to consume the features of the Pedal Pi - like WebService plugin.
See the github Components Project for complete components list.
To add a component in your configuration file, download it and register it before starting the application (
pip3 install PedalPi-<component name>
from application.Application import Application application = Application(path_data="data/", address='localhost') # Loading component from raspberry_p0.raspberry_p0 import RaspberryP0 application.register(RaspberryP0(application)) # Start application application.start() # Don't stop application from signal import pause try: pause() except KeyboardInterrupt: # Stop components with safety application.stop()
Each component needs a configuration to work. Pay attention to your documentation for details on how to set it up and use it.
Delegating audio processing to other equipment¶
- For example, you have a Raspberry Pi B+ and a PC.
application = Application(path_data="data/", address='10.0.0.100')
Creating a component¶
Subsequently will be added details in the documentation on how to create a component for the Pedal Pi. For now, you can check the blog post Building a Pedal Pi Component - Pedalboard selector
The purpose of the tests is:
- Check if the notifications are working, since the module plugins manager is responsible for testing the models;
- Serve as a sample basis.
make test make test-details
- PedalPi - Application
- PedalPi - Application - Component
- PedalPi - Application - Controller
- PedalPi - Application - Dao