• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Blinky Lights

    October 21st, 2018
    contra, music, jammer  [html]
    My rhythm stage setup now has a lot of settings: toggles for piano, jawharp, bass winds, high and low drums, high and low footbass, plus which instrument I've set my jammer buttons to (accordion, sax, etc). I've been using my computer screen to show status for each of these settings, in text-only shorthand:
            dh             acc
      fh    dh             acc
      fh                   acc
      fh                   sax
    
    That's saying I:
    1. turned on high drums
    2. turned on high footbass
    3. turned off high drums
    4. switched buttons from accordion to sax
    My laptop isn't easy to see when I'm playing, though, so I wanted some little LEDs to show status. I asked for suggestions and ended up going with the Blinkstick Strip:

    I have the lights set at 20% brightness for now; I find that at full brightness they're painful to look at. Stages are usually reasonably dark, so this seems about right. They're still too bright for my camera to do a good job with, though.

    For most of this project I've been using as low level a Mac API as possible because I want to minimize latency, this isn't needed with status lights. It comes with a python interface (blinkstick-python) and I wrote a little UDP wrapper (blinksticknet) which I've now updated my central code to use (jammermidilib.h:set_light). The protocol is just four byte udp packets: one byte for which light, then one byte each for red, green, and blue channels. Here's what this looks like end to end:

    (The thing I'm demonstrating at the beginning is that for me left foot I can have it make any combination of drums / no drums and bass / no bass. I'm representing this with one light that can be red or not, and blue or not, with purple for when they're both on at once.)

    Comment via: google plus, facebook

    Recent posts on blogs I like:

    More on the Deutschlandtakt

    The Deutschlandtakt plans are out now. They cover investment through 2040, but even beforehand, there’s a plan for something like a national integrated timetable by 2030, with trains connecting the major cities every 30 minutes rather than hourly. But the…

    via Pedestrian Observations July 1, 2020

    How do cars fare in crash tests they're not specifically optimized for?

    Any time you have a benchmark that gets taken seriously, some people will start gaming the benchmark. Some famous examples in computing are the CPU benchmark specfp and video game benchmarks. With specfp, Sun managed to increase its score on 179.art (a su…

    via Posts on Dan Luu June 30, 2020

    Quick note on the name of this blog

    When I was 21 a friend introduced me to a volume of poems by the 14th-century Persian poet Hafiz, translated by Daniel Ladinsky. I loved them, and eventually named this blog for one of my favorite ones. At some point I read more and found that Ladinsky’s …

    via The whole sky June 21, 2020

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact