Pink 0.4.0
Released under the Eclipse Public License
A library for music research, composition, and performance.
Installation
To install, add the following dependency to your project or build file:
[kunstmusik/pink "0.4.0"]
Topics
- Architecture
- Events
- Example Usage
- Pink User's Manual
- Performance
- Processes
- Terminology
- Unit Generators
- Workflow
Namespaces
pink.config
Dynamically-scoped variables used to represent the context of processing.
Public variables and functions:
pink.dynamics
Functions for dealing with dynamics/amplitude of audio
pink.engine
Audio Engine Code
Public variables and functions:
- *hardware-buffer-size*
- audio-events
- BYTE-SIZE
- doubles->byte-buffer
- engine->buffer
- engine->disk
- engine-add-afunc
- engine-add-events
- engine-add-post-cfunc
- engine-add-pre-cfunc
- engine-clear
- engine-clear-events
- engine-create
- engine-get-tempo
- engine-kill-all
- engine-remove-afunc
- engine-remove-post-cfunc
- engine-remove-pre-cfunc
- engine-run
- engine-set-tempo
- engine-start
- engine-status
- engine-stop
- engines
- engines-clear
- fire-audio-event
- windows?
- wrap-audio-event
pink.envelopes
Envelope Generator Functions
pink.filters
Public variables and functions:
- atone
- biquad-bpf
- biquad-highshelf
- biquad-hpf
- biquad-lowshelf
- biquad-lpf
- biquad-notch
- biquad-peaking
- butter-filter
- butterb-filter
- butterbp
- butterbr
- butterhp
- butterlp
- comb
- combinv
- diode-ladder
- k35-hpf
- k35-lpf
- lpf18
- moogladder
- one-pole
- one-zero
- port
- statevar
- tdf2-macro
- THERMAL
- tone
- zdf-1pole
- zdf-2pole
- zdf-ladder
pink.gen
Table generator Functions
pink.instruments.drums
Drum instruments.
pink.instruments.horn
Implementation of Andrew Horner and Lydia Ayer's French Horn models using banded wavetable synthesis. Based on the Csound code implementaiton.
Public variables and functions:
pink.instruments.piano
Translation of Scott Van Duyne's Piano Model from Common Lisp Music
Public variables and functions:
- default-detuning2-table
- default-detuning3-table
- default-drypedalresonancefactor-table
- default-drytapampt60-table
- default-drytapfiltcoefcurrent-table
- default-drytapfiltcoeft60-table
- default-drytapfiltcoeftarget-table
- default-loudgain-table
- default-loudpole-table
- default-pedalenvelopet60-table
- default-pedalresonancepole-table
- default-releaseloopgain-table
- default-singlestringdecayrate-table
- default-singlestringpole-table
- default-singlestringzero-table
- default-softgain-table
- default-softpole-table
- default-soundboardcutofft60-table
- default-stiffnesscoefficient-table
- default-strikeposition-table
- default-sustainpedallevel-table
- default-unacordagain-table
- golden-mean
- longitudinal-mode-cutoff-keynum
- longitudinal-mode-stiffness-coefficient
- loop-gain-default
- loop-gain-env-t60
- nstrings
- number-of-stiffness-allpasses
- piano
- TWO-PI
pink.instruments.pluck
Implementations of Karplus-Strong algorithm for plucked strings.
Public variables and functions:
pink.io.mouse
Control-rate functions for getting the mouse's x/y location
Public variables and functions:
pink.live-code
Functions for live coding music using pink.simple engine.
Public variables and functions:
pink.node
Nodes aggregate audio from other audio-rate functions. Nodes can contain other nodes. Each Node is wrapped in pink.util.shared so that the output of Node may be used by multiple other audio-functions within the same time period.
Public variables and functions:
pink.util
Audio utility code for working with buffers (double[])
Public variables and functions:
- !*!
- !r!
- add2
- Allocator
- apply!*!
- apply-stereo
- arg
- box-val
- buffer-channel-count
- clear-buffer
- concat-drain!
- const
- create-buffer
- create-buffers
- create-max-allocator
- dealloc-on-done
- div
- div2
- drain-atom!
- duration-processor
- EMPTY-BUFFER
- fill
- gen-recur
- generator
- get-channel
- getd
- getl
- hold-until
- is-done?
- let-s
- limit
- limit1
- map-d
- map-d-impl
- merge-signals
- mix-buffers
- mul
- mul2
- MULTI-CHANNEL-TYPE
- multi-channel?
- native-operator
- not==
- operator
- pole2tau
- reader
- setd!
- setl!
- shared
- sub
- sub2
- sum
- swapd!
- swapl!
- tag-double
- tag-doubles
- tag-long
- tag-longs
- tagit
- tau2pole
- try-func
- with-buffer-size
- with-duration
- with-signals