Skip to main content

A tool to setup arbitrary guitar effects pedals

Project description

Audio effects framework

The audio effects framework is a python module that allows for easy use of audio effects created in puredata (https://puredata.info).

Dependencies

These installs are needed for core functionality:

pip install watchdog
pip install aitpi
sudo apt install puredata
sudo apt install jackd

Depending on your use case, these packages may be needed:

For aitpi keyboard input - pip install pynput For the GUI app - pip install PyQt6 For bluetooth - sudo apt install bluez python-bluez

Use

The audio effect framework was built upon the AITPI system (https://github.com/c3n3/AITPI). This system is used in order to control the application and modification of the audio effects framework. It allows inputs (currently supported keyboard input, raspberry pi GPIO buttons, and raspberry pi GPIO encoders) to be written in JSON to control what audio effects are applied in real time. These inputs are to be expanded over time.

Running

In order to run the aef:

import aef
import aitpi

# Any application setup...

aef.run(effectsFolder, recordingsFolder, presetsFolder, sys.argv)
inputJson = os.path.join(dirname, 'your_input.json')
aitpi.initInput(inputJson)

And when done:

aef.shutdown()

Aef will automatically link into the jack audio system and will automatically start receiving input.

NOTE: Currently the setup is to use Qjackctl with a preset named 'guitar-module'. This setup must be done before hand. This will be ammended in the future.

Setting up AITPI

See https://github.com/c3n3/AITPI. The possible commands to link to are all listed out in the temp folder.

NOTE: wherever you run the aef, it will create a ./temp/ folder in the local directory. This will contain all temporary files such as recordings, puredata temp files, and the command registry. This allows for persistent saves, if everything is run from the same directories.

Currently you can retrieve these commands by calling:

aef.getCommands()

You can also change the input links on the fly by calling:

aef.changeLink(inputName, newCommandToLink)

Presets

You can create presets that specify multiple audio effects to apply at once. These are simply text files that list out the names of all effects. You can see examples of these in the default_presets folder. These will show up automatically in the command registry if they are put into the 'presetsFolder' (specified in aef.run).

Effects

You can create new puredata patches in input them into the 'effectsFolder' (specified in aef.run). These must follow a specific format in puredata in order to be linked properly. TODO: Specify puredata format rules.

Recordings

Recordings are created with the 'save' command. It will save whatever was the last 'record' audio into the recordings folder (as specified in aef.run). This will then be added to the command list in so that you can replay the recording with a keystroke (based on AITPI).

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

aef-0.1.2.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aef-0.1.2-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

File details

Details for the file aef-0.1.2.tar.gz.

File metadata

  • Download URL: aef-0.1.2.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for aef-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8bd41b60273f4c9a53a86056e4984c7a16016ee1e64d65d541142b7b4229357d
MD5 6c1423ed93d5226c9a64d11151f2cf89
BLAKE2b-256 e9ba7fdf76e70b4473b88e20770d4c6069dd6301e30f425959808e1e1548c666

See more details on using hashes here.

File details

Details for the file aef-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: aef-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 44.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for aef-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d7905759c0e5bd2cd7e50c11913309c588ad23c5171dd1126f61a2b8d42af47d
MD5 bf8047f4dece1e961c235d5ece48dc99
BLAKE2b-256 054450c0ea84e08e1af070b6fb9c03f22be57b1f895e78e0e63269648a19ff8e

See more details on using hashes here.

Supported by

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