“Orbituary” arc demo

Just an¬†exploration of simulated physics-based audio controls. ¬†The video explains itself somewhat better than I can in text.

I programmed this back in 2011, but am planning to revisit the idea soon. The big change being, rather than four prerecorded audio loops, I’d like to dynamically generate those loops with a grid based step sequencer interface.

Anyway… if you’re a max/msp user with first generation monome arc hardware at your disposal, and want to dig into several drafts of my ancient source code for some reason, that can be found in this forum thread.
(I would be “greaterthanzero” there)

pushCCs app

This app creates virtual MIDI ports for mapping in Ableton, and provides individual pressure values for each button.

I’ve added an optional latching mechanism. When that is active, you can press any of the corners to hold the other buttons in place. You can then safely remove your hand from those buttons without zeroing out their parameters.

Additionally, if you press three of the corners simultaneously, that will zero out all of the buttons and their associated values.

If you’ve got a foot pedal plugged in (slot 1), you can use that for latching instead of the corners.

Note: This one is Mac only. It relies on some services from the operating system, as well as the friendlier device sharing nature of things in general. At this time, there are no plans to create an equivalent PC workflow. The editable .maxpat file is included, should you like to attempt a port yourself.

v1.2:

v1.1:

  • …had all kinds of problems. you don’t want it.

v1.0:

  • DOWNLOAD
    (note: the compiled version included here was not in fact standalone. I’ve since learned how to make those correctly)

Josh Spoon did a video writeup of v1.0 here:

as part of his excellent “30 Days of Ableton Push” exploration.


early prototype / previous max for live version

I’ll write up a proper explanation later, but here.

requires Ableton Live 9, Push, and Max For Live. if you don’t have those things, this probably won’t interest you.

partially based on this:
 http://4live.me/post/51020217777/momentary8-pro

or rather, the old version:
 http://4live.me/post/48177590939/momentary8

(This is missing nearly every feature you’d possibly care about, but it doesn’t require the max runtime. I may add some of the functionality from the runtime version back into this later, when v2 is fleshed out a bit more, but there’s no point with this version. m4l will never support poly aftertouch, so it’s strictly a matter of whether the other features add enough without that. They don’t yet.)

Suspension Pedal, Max for Live MIDI device

You’re probably familiar with the piano’s sustain pedal, and how that works. When you press it, it disables the mechanical action that ends a note when you take your hand off a key. When you release the pedal, that action is re-enabled.

That’s the extremely simplified explanation that a MIDI keyboard’s sustain pedal reproduces, at any rate. While the pedal is pressed, notes ring indefinitely, allowing you extra time to reposition your hands, but also creating a muddy dissonant mess if you’re not careful.

There’s another variation, called the sostenuto pedal, which you’re probably less familiar with. Essentially, the notes that were held down when you depress the pedal continue to ring indefinitely, but notes pressed subsequent to that are still ended by lifting your fingers off the keys. So you can, for example, strike a dramatic chord and play short notes on top of it without having to leave one or both hands on that held chord.

Most MIDI software and devices don’t support the sostenuto pedal, but the magic of scripting allows us to create it, if desired.

What I’ve created isn’t quite that, either. It’s a third pedal behavior that I don’t think I’ve seen before. I’m calling it a suspension pedal.

The notes that were held when you depress the pedal ring out indefinitely. Then while the pedal is pressed, all input from your keyboard is ignored. Finally, at the moment you release the pedal, it changes to whichever keys you happen to be pressing.

Meaning…
If you’ve released a note, that note ends.
If you’ve added a note, that note sounds.
If you’ve left a note alone, it continues to sound.

This was specifically devised for situations where you’re controlling multiple instruments simultaneously. Add this device to one instrument’s device chain, and you can force that instrument to fall in and out of sync with the others harmonically.

And here’s the download link:
Suspension Pedal v1.0

Version 2 will have a configurable threshold, so if you’re using a more expressive control (which sends a full range of CCs rather than simple on/off messages), you can set different instances to trigger at different levels. Unless in testing, that proves to be a terrible idea, at which point there is no version 2.

Edit:
It wasn’t a terrible idea, but I’m not sure the added complexity is of tremendous benefit to anyone. I’ll leave both versions available, but for the moment, I think I prefer v1 myself.
Suspension Pedal v2.01

2.01 added a nondescript grey button below the threshold slider. Pressing it sets the threshold slider to match whatever the pedal slider is currently set to. This should make it easier to set things “by feel”; map the pedal slider first, find your sweet spot, and press the button to lock that into place.

Note: All three of these controls can be mapped to automation clips, or the output of other apps. I can’t think of a single reason why you’d want to do that, but I left the option open.

arc painter

As we start brainstorming new app interfaces based around monome.org’s new arc controller, I wanted a tool for sketching out illustrations. Came up with this:

You’re going to have to view in a Flash enabled browser to see this.

Again, this is not an arc emulator. It won’t send or receive OSC commands, let you preview animations, or interact with a virtual controller in any meaningful way. But it may still prove handy for visualizing and explaining some things.

Instructions:

  • Clicking a color at bottom selects that color. If the “all” ring at bottom-right is enabled, all LEDs will change to that color.
  • Clicking the “all” ring will enable or disable it.
  • Clicking an LED up top will change it to the selected color (and disable the “all” ring)
  • Clicking an LED up top, if it color already matched your selection, will revert that LED to the color it was set to last before this.
  • When you’ve arranged things adequately to illustrate what you had in mind, take a screenshot. Do what you need to in Photoshop and attach the results to a forum post.

As this was a quick sketch itself, the source code isn’t all that exciting, but if you’ve got Flash CS4 handy and some time to kill, have at it.