10. Buffer Processing
One of the core features of bellplay~ is the ability to dynamically and flexibly apply chains of DSP algorithms to our buffers.
One of the core features of bellplay~ is the ability to dynamically and flexibly apply chains of DSP algorithms to our buffers.
This example demonstrates how to align the envelopes of different audio samples based on their peak amplitude times.
Sometimes it can be more useful or desirable to apply processing to the entire output, instead of processing each buffer individually.
This tutorial demonstrates a very simple but consequential feature in bellplay~ — namely, the ability to reuse rendered buffers multiple times to further refine and sculpt the final output into complex and intricate sounds.
bellplay~ supports importing MIDI files (.mid or .midi) into our scripts, each described as a list of events.
This tutorial shows how to build k-dimensional trees to efficiently perform feature-based search on buffers.
An example of using time-varying resampling to generate a polyphonic texture.
An example of JI-based retuning of MIDI events.
Randomness is frequently used in algorithmic music to introduce variation and unpredictability. However, in many compositional workflows, reproducibility is just as important. In bellplay\~, there are two types of random functions: