Skip to main content

Framework for manager the Pedal Pi

Project description

Build Status Documentation Status Code coverage Code Health

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.

Documentation:

http://pedalpi-application.readthedocs.io/

Code:

https://github.com/PedalPi/Application

Python Package Index:

https://pypi.org/project/PedalPi-Application

License:

Apache License 2.0

Running Application

Following are the steps required to set up and run Pedal Pi - Application.

Prepare ambient

Install with pip

pip3 install PedalPi-Application

Create the script file that contains the code to run the application (as example start.py)

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

Run Application

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

python3 start.py

Extending

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 (application.start()):

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

The connection with mod-host is over TCP. So it’s possible to place a machine to perform the processing and another to provide the control services.

For example, you have a Raspberry Pi B+ and a PC.
  • The PC in http://10.0.0.100 will process the audio, then it will execute jack process, mod-host process and the audio interface will be connected to it.

  • The RPi will executes Application with Component, like Raspberry P0 component. Raspberry P0 disposes a simple current pedalboard control.

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

Maintenance

Test

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

Generate documentation

This project uses Sphinx + Read the Docs.

You can generate the documentation in your local machine:

make install-docs-requirements
make docs

make docs-see

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PedalPi-Application-0.4.1.tar.gz (18.2 kB view details)

Uploaded Source

File details

Details for the file PedalPi-Application-0.4.1.tar.gz.

File metadata

File hashes

Hashes for PedalPi-Application-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9942999c37cdd960f287f7ea68ae87a3d33a39f866abe56f82f1f6b33211d23e
MD5 cddc5903f4ffa466964365d0cdb45685
BLAKE2b-256 cac7de40857b9f70cbc0a1e488261e7471fd58c962dec006aba97d9192d45a95

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page