Polymeter 0.0.21 adds two dynamic visualizations that can help you
grasp what you're hearing: a MIDI output bar that shows the output MIDI
events as text, with filtering options, and a piano bar that displays
the output notes on a piano keyboard, also with filtering. Both of these
visualizations were proposed in a previous post.
The main issue with implementing visualizations is a multithreaded
design problem, which stems from the fact that the sequencer runs in a
different thread from the rest of the application (the sequencer
callback thread). In order to safely transfer data from one thread to
another, serialization is required, but the goal is to minimize the
likelihood of the sequencer callback thread ever being blocked by the
user interface thread. The most appropriate and performant
architecture for this situation is a buffer swapping scheme. In order to
reduce time spent in the critical section to the absolute minimum,
only pointers to the buffers are exchanged, rather than the buffers
themselves. Fortunately the dynamic array class already supports
swapping buffer pointers with another array instance. The result is the
best of both worlds: zero-copy exchange between a pair of growable
arrays.
This version also adds a command to reset the window layout to
defaults. Thanks to Benoit Ruelle for suggesting this useful feature.
Polymeter is a free, open source MIDI sequencer for music that's in multiple prime meters (1, 2, 3, 5, 7, 11, etc.) simultaneously. Each track has its own loop length, and when the lengths differ, the tracks "slip" (or shift phase) relative to each other. I originally developed this software in the 1990s in order to compose polymeter electronic dance music, but it became obsolete, so I'm rescuing from bit rot what might be (for all I know) the world's only sequencer optimized for polymeter.
Subscribe to:
Post Comments (Atom)
Heptatonic scales with a minor third
Which heptatonic scales consist entirely of semitones, whole tones, and a single minor third, without having two semitones in a row? The he...
-
My first vivid memory of NCP [No Commercial Potential, a radio program at WZBC 90.3 in Boston] is of hearing the soundtrack and dialogue of ...
-
Milkii Brewster on GitHub asks "Linux version? Plugin version? Possibly maybe in the future?" and here's my answer: The Polym...
-
Version 1.0.12 of Polymeter is released today. One big change is that in the track view, the step duration (AKA Quant) can now be entered as...
No comments:
Post a Comment