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.input]
midi_control_list = [
    # [midi control, midi channel]
    [0, 1],
    [1, 1]
]

[configure.input.channel_mapping]
# physical input -> input index
1 = 0
2 = 1
3 = [0, 1]

[configure.output.channel_mapping]
# output index -> physical output
0 = 1
1 = 2
2 = 4
3 = [5, 6]


[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.12.0.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

audiowalkman-0.12.0-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: audiowalkman-0.12.0.tar.gz
  • Upload date:
  • Size: 43.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.12.0.tar.gz
Algorithm Hash digest
SHA256 6b28eee30c9ca220308181465adb75416a6614b70d54e9be43a784f2cbf56d53
MD5 06fa46e4f29180d8e096f250a1da2d9a
BLAKE2b-256 6fbd23b734414b8ac9c2b9d015b4cde16b02536fc4c982b722c3c3f654e50e6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for audiowalkman-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2c5044bf941a01a5514b724259f1b50f6e429955456e2cecee26949279fd15b
MD5 2e3e58cc50f72d62325c05dd70e4eff0
BLAKE2b-256 3420deae2b2190087beedc32a9b85c53d8e83a30ab05e7f83d844aec862b4e97

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