Skip to main content

play audio files in performance contexts

Project description

walkman

Build Status License: GPL v3 PyPI version Code style: black

Walkman is a minimalistic, robust software to trigger (audio) cues in performance contexts. It uses pyo as its backend and pysimplegui as its frontend. It can be configured by toml files.

Rationale

Live-electronic setups tend to be messy, difficult to maintain and difficult to test. Furthermore many compositions with live-electronics make use of cue-based pattern, but in most of electronic music frameworks (Pd, Max/MSP, ...) no default implementation exists. walkman aims to improve the situation by providing a simple, declarative configuration language to setup programs based on cues. The actual software is implemented in Python3, can be extended in python3 and can be tested with unit tests.

Installation

walkman is available on pip:

pip3 install audiowalkman

You can also use buildout to create an isolated environment. Please consult the respective README for more information.

Configuration file

# my_composition.toml

# ##    General configurations  ## #

[configure]
name = "my composition"

[configure.audio]
sampling_rate = 44100


[configure.module.audio_input.0]
input_channel_index = 1

[configure.module.sound_file_player]
replication_count = 1

[configure.module.sound_file_player.0]
# We can set values passed to '__init__'
auto_stop = false

# And we can also override the default values of
# 'initialize' method.
[configure.module.sound_file_player.0.default_dict.decibel]
value = -6
midi_control_index = 0
midi_range = [-120, 0]

# ##    Cues                  ## #

[cue.1.sound_file_player.0]
path = "jungle_rain.wav"
decibel = -12
loop = true

[cue.2]
sound_file = false

[cue.2.harmonizer.0]
# Move in 10 seconds from decibel -20 to decibel 0
decibel = [[0, -20], [10, 0]]
factor = 4

Usage

walkman my_composition.toml

Tests

Automatic

The run-tests script setups a test environment and runs automatic unit tests.

./run-tests

Manual

Please consult the respective README.

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

audiowalkman-0.20.0.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

audiowalkman-0.20.0-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file audiowalkman-0.20.0.tar.gz.

File metadata

  • Download URL: audiowalkman-0.20.0.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for audiowalkman-0.20.0.tar.gz
Algorithm Hash digest
SHA256 0b4e1018d2dd087edada5e6f82bd13c220f6623c2faa05e7a45a083c4eb6ed57
MD5 bcc576e8c89e9d366218d3ceb8fbd3c8
BLAKE2b-256 cff91bd59e8ae58264e5116c57e7312aad01e9fc334e15c759264a4858eae8c9

See more details on using hashes here.

File details

Details for the file audiowalkman-0.20.0-py3-none-any.whl.

File metadata

File hashes

Hashes for audiowalkman-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4563677364ca61668edd45c65513a8636514af6e2a0fc97373f2744a350cae3c
MD5 de43021b9d4254909bd40caaf16bb814
BLAKE2b-256 0d5c8ca8038d923d72618c5692f2cfffa3ddd97cf590dc44524abc631ad26d04

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