<< >>
justin = { main feed , music , code , askjf , pubkey };recent comments
search
It seems you are looking at this page. Would you like to hear some music?

yes | no | i want to hear everything
August 7, 2022
Music
now we understand


July 22, 2022
Music
live solo improv: super8


July 20, 2022
Music
Not Vampires - 1 - Surrounded -- [4:23]
Not Vampires - 2 - Surrounded (mini) -- [1:09]
Not Vampires - 3 - Chosen by the Few -- [4:33]
Not Vampires - 4 - Before You Hide -- [4:05]
Not Vampires - 5 - Find Me -- [4:48]
Not Vampires - 6 - Slow Descent -- [7:48]
Not Vampires - 7 - Old as Coal -- [3:21]
Not Vampires - 8 - Chosen by the Few (swing try 1) -- [0:58]
Not Vampires - 9 - Chosen by the Few (swing try 2) -- [1:12]
Not Vampires - 10 - Chosen by the Few (swing try 3) -- [2:36]
Not Vampires - 11 - The River (sparse) -- [5:50]
Not Vampires - 12 - The River (sparse reprise) -- [3:20]
Not Vampires - 13 - The Squeeze -- [4:39]
Not Vampires - 14 - How Low -- [5:14]
Not Vampires - 15 -- [11:18]
Not Vampires - 16 - Some Parts Optional -- [7:51]
Not Vampires - 17 -- [2:17]
Not Vampires - 18 - Light Creeps -- [2:57]
Not Vampires - 19 - Women in Love (cover) -- [4:01]
Not Vampires - 20 -- [0:44]
Not Vampires - 21 - Major Major Major -- [4:05]


July 18, 2022
Music
chosen by the few


July 16, 2022
Music
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 1 - Pre-flight Check / Hindenburg (in D) -- [8:43]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 2 - No Big Benefactor (alternate version) -- [6:41]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 3 - Chosen by the Few (practice 1) -- [2:04]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 4 - Chosen by the Few (practice 2) -- [4:12]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 5 - Chosen by the Few (practice 3) -- [5:00]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 6 - Chosen by Few -- [4:24]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 7 - Cosmos (Leacho) -- [6:45]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 8 - Dogs (Warmup) -- [2:07]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 9 - Dogs Will Rule the World -- [5:14]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 10 - Find Me -- [4:44]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 11 - Find Me (quieter, with Cory and Grace) -- [4:42]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 12 - The River -- [4:50]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 13 - Old as Coal -- [3:46]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 14 - Hindenburg (reprise) -- [5:54]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 15 - People Get Ready (Wayfaring Stranger mashup) -- [3:44]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 16 - Charlie -- [2:48]
Yes, Exactly, Yes! (with Cory and Grace for the second half) - 17 -- [6:19]


July 12, 2022
Music
Not Vampires - 1 - (intro) / The Squeeze -- [12:58]
Not Vampires - 2 - Major Major Major -- [3:46]
Not Vampires - 3 - Eventual Hindenburg -- [11:05]
Not Vampires - 4 - Chosen by the Few (a) -- [6:19]
Not Vampires - 5 - Candy Bandit -- [2:43]
Not Vampires - 6 - Candy Bandit's Cousin, Sandy / (something) -- [9:52]
Not Vampires - 7 - (something again) -- [3:26]
Not Vampires - 8 -- [5:45]
Not Vampires - 9 - Find Me -- [6:20]
Not Vampires - 10 - Bad at Math -- [6:28]
Not Vampires - 11 - Bad at Math (again) -- [4:09]
Not Vampires - 12 - Bad at Math (re) -- [1:00]
Not Vampires - 13 - (revisit) Chosen Key -- [1:55]
Not Vampires - 14 - Chosen Key -- [8:25]
Not Vampires - 15 - Old as Coal -- [4:14]
Not Vampires - 16 - Chosen by the Few (b) -- [5:35]
Not Vampires - 17 - The River -- [5:56]
Not Vampires - 18 - The River (organy) -- [4:55]


July 7, 2022
Music
Decanted Youth - 1 - (Started without You) -- [13:33]
Decanted Youth - 2 - Sandman (mini) -- [0:47]
Decanted Youth - 3 - Light Creeps -- [11:41]
Decanted Youth - 4 - The Squeeze -- [9:16]
Decanted Youth - 5 - Insecurity -- [8:11]
Decanted Youth - 6 - What If We All Just Disappeared -- [13:29]
Decanted Youth - 7 - Reflections -- [16:37]
Decanted Youth - 8 - Reflections (reprise) -- [14:19]
Decanted Youth - 9 - Find Me -- [2:04]
Decanted Youth - 10 - Find Me (reprise) -- [5:06]
Decanted Youth - 11 - Chosen Key -- [12:04]
Decanted Youth - 12 - How Low -- [5:25]
Decanted Youth - 13 - Send It to the Sea -- [11:34]


July 6, 2022
Music
infectious thoughts


July 4, 2022
Music
Yes, Exactly, Yes! - 1 - Chosen by the Few -- [4:13]
Yes, Exactly, Yes! - 2 -- [4:44]
Yes, Exactly, Yes! - 3 - Find Me -- [4:33]
Yes, Exactly, Yes! - 4 -- [2:41]
Yes, Exactly, Yes! - 5 - Bad at Math -- [5:37]
Yes, Exactly, Yes! - 6 - Bad at Math (alt re) -- [4:43]
Yes, Exactly, Yes! - 7 - Bad at Math (alt re2) -- [3:38]
Yes, Exactly, Yes! - 8 - Bad at Math (alt rere) -- [1:00]
Yes, Exactly, Yes! - 9 - Bad at Math (altalt re) -- [2:27]
Yes, Exactly, Yes! - 10 - Old as Coal -- [4:22]
Yes, Exactly, Yes! - 11 - The River -- [5:41]
Yes, Exactly, Yes! - 12 - How Low -- [5:21]
Yes, Exactly, Yes! - 13 - How Low Freak-out WIP -- [6:21]
Yes, Exactly, Yes! - 14 - Dogs Will Rule the World -- [3:22]
Yes, Exactly, Yes! - 15 - Broke You by Inaction (Las Vegas +5 maybe?) -- [5:07]
Yes, Exactly, Yes! - 16 - Broke You by Inaction (reprise) -- [3:17]
Yes, Exactly, Yes! - 17 - Broke You by Inaction (re2) -- [2:02]
Yes, Exactly, Yes! - 18 - Insecurity / Hindenburg -- [9:10]


June 26, 2022
Music
andy_andre_cory_grace - 1 - In the Water -- [7:17]
andy_andre_cory_grace - 2 - Find Me -- [7:09]
andy_andre_cory_grace - 3 - The River -- [6:03]
andy_andre_cory_grace - 4 - May 29 Track 6 / Dogs -- [7:18]
andy_andre_cory_grace - 5 - Old as Coal -- [5:31]
andy_andre_cory_grace - 6 - Light Creeps -- [6:19]
Yes, Exactly, Yes! - 1 - Take It Away -- [7:33]
Yes, Exactly, Yes! - 2 - Gone Just the Same -- [6:14]
Yes, Exactly, Yes! - 3 - Second Hand -- [6:52]
Yes, Exactly, Yes! - 4 - You'll Get -- [7:39]
Yes, Exactly, Yes! - 5 - Hindenburg -- [10:49]
Yes, Exactly, Yes! - 6 - How Low, Alternate -- [4:39]


June 19, 2022
summer win



Recordings:

Not Vampires - 1 - Maybe Something -- [9:54]
Not Vampires - 2 - Light Creeps / Frozen Again -- [8:17]
Not Vampires - 3 -- [2:37]
Not Vampires - 4 -- [5:23]
Not Vampires - 5 - The Squeeze -- [6:57]
Not Vampires - 6 - Candy Bandit -- [1:26]
Not Vampires - 7 - Skronky Lydian -- [9:40]
Not Vampires - 8 - Skronky Lydian (Extra) -- [1:06]
Not Vampires - 9 - Rules do not Apply / Las Vegas -- [12:52]
Not Vampires - 10 - Just a Fraud -- [6:42]
Not Vampires - 11 - Strong Judgment (Living and Dead) -- [4:25]
Not Vampires - 12 - How Low (failed) -- [2:15]
Not Vampires - 13 - How Low / Find Me -- [3:53]
Not Vampires - 14 - Find Me -- [3:15]
Not Vampires - 15 - Find Me (reprise failure) -- [2:16]
Not Vampires - 16 - Find Me Interlude -- [0:45]
Not Vampires - 17 -- [4:39]
Not Vampires - 18 - The River -- [6:21]
Not Vampires - 19 - Trees and Mold (almost) -- [3:04]
Not Vampires - 20 - Trees and Mold -- [3:19]
Not Vampires - 21 -- [2:27]
Not Vampires - 22 - Slow -- [12:33]

Comment...


June 16, 2022
Music
live solo improv: super8


June 12, 2022
Music
Not Vampires - 1 - Falling Intro -- [1:41]
Not Vampires - 2 - Falling Forward into an Unknown Future that Holds Great Danger -- [16:20]
Not Vampires - 3 -- [7:19]
Not Vampires - 4 - Find Me -- [4:06]
Not Vampires - 5 - Find Me (oddness) -- [4:29]
Not Vampires - 6 - Candy Bandit -- [1:54]
Not Vampires - 7 - Candy Bandit (reprise) -- [3:21]
Not Vampires - 8 -- [16:14]
Not Vampires - 9 - Pretty Sure You Had a Name -- [4:23]
Not Vampires - 10 - Find Me (again) -- [2:29]
Not Vampires - 11 - How Low -- [6:03]
Not Vampires - 12 -- [1:01]
Not Vampires - 13 -- [5:39]
Not Vampires - 14 -- [5:23]
Not Vampires - 15 -- [5:46]
Not Vampires - 16 - Joke About -- [5:02]
Not Vampires - 17 - The Squeeze (but not) -- [6:33]
Not Vampires - 18 -- [4:08]


June 10, 2022
the way of the water, again



1 Comment


June 9, 2022
Music
Not Vampires - 1 - My Past Selves -- [4:34]
Not Vampires - 2 - Find Me -- [4:10]
Not Vampires - 3 - Trees vs Mold -- [3:15]
Not Vampires - 4 - Old Already -- [3:59]
Not Vampires - 5 - Caught -- [3:28]
Not Vampires - 6 - Where Are My Pixies -- [1:11]
Not Vampires - 7 - Old as Coal -- [2:54]
Not Vampires - 8 - How Low (B) -- [2:55]
Not Vampires - 9 - How Low (A) -- [3:48]
Not Vampires - 10 - The River -- [4:47]
Not Vampires - 11 - The Squeeze -- [3:48]
Not Vampires - 12 - Unlikely Immoral Hero -- [4:18]
Not Vampires - 13 - Guitar Interlude -- [4:09]
Not Vampires - 14 - The Grand Reintroduction of Small Fruit -- [11:40]
Not Vampires - 15 - Candy Bandit -- [1:15]
Not Vampires - 16 - Major Major Major -- [4:32]
Not Vampires - 17 - Falling Forward into an Unknown Future that Holds Great Danger -- [10:51]
Not Vampires - 18 - Where Is My Nirvana -- [6:48]
Not Vampires - 19 - The Squeeze (preprise) -- [5:02]
Not Vampires - 20 - Insecurity -- [11:14]
live solo improv: super8


June 5, 2022
Music
Yes, Exactly, Yes! - 1 - Lobster Bisque -- [11:10]
Yes, Exactly, Yes! - 2 - Don't Forget the Crackers -- [5:54]
Yes, Exactly, Yes! - 3 - The River -- [4:44]
Yes, Exactly, Yes! - 4 - How Low (Alternate B) -- [5:15]
Yes, Exactly, Yes! - 5 - Old as Coal -- [4:25]
Yes, Exactly, Yes! - 6 - May 29 Track 6 / Dogs -- [8:27]
Yes, Exactly, Yes! - 7 - Find Me -- [5:34]
Yes, Exactly, Yes! - 8 - Find Me (reprise) -- [4:15]
Yes, Exactly, Yes! - 9 - How Low (Original) -- [5:42]
Yes, Exactly, Yes! - 10 -- [12:16]
Yes, Exactly, Yes! - 11 - Hindenburg -- [11:44]


June 2, 2022
Music
narrows
old as coal


May 29, 2022
Music
andre - 1 - Survivorship Bias (We Know What We Want) -- [6:23]
andre - 2 - Find Me -- [5:19]
andre - 3 - The River -- [4:26]
andre - 4 - Find Me (reprise) -- [4:09]
andre - 5 - Old as Coal -- [3:28]
andre - 6 - Old as Coal (again) -- [4:44]
andre - 7 - Old as Coal (slower, extended) -- [4:38]
andre - 8 - Not the Abyss -- [3:00]
andre - 9 - Caught in the Act -- [5:16]
andre - 10 - Blinders -- [5:07]
andre - 11 - Re-blinders -- [3:17]
andre - 12 - Before You Were Born (Bad at Math) -- [6:38]
andre - 13 -- [13:40]
andre - 14 -- [7:38]
andre - 15 -- [3:02]
andre - 16 -- [5:05]


May 28, 2022
ah yes



Comment...


May 24, 2022
Music
live solo improv: super8 sax iem


May 22, 2022
Music
yes, exactly, yes! rehearsal/performance
Yes, Exactly, Yes! - 1 - (Dazed and Confused meets) The River -- [8:31]
Yes, Exactly, Yes! - 2 - Old as Coal -- [5:01]
Yes, Exactly, Yes! - 3 - Old as Coal (reprise) -- [3:41]
Yes, Exactly, Yes! - 4 - Bragging -- [4:34]
Yes, Exactly, Yes! - 5 - Find Me -- [4:05]
Yes, Exactly, Yes! - 6 - Voyage to the Abyss (Part V) -- [10:54]
Yes, Exactly, Yes! - 7 - Voyage to the Abyss (Wandering in a Cave. Part VI) -- [2:43]
Yes, Exactly, Yes! - 8 - Reprise (reprise) -- [5:48]
Yes, Exactly, Yes! - 9 - Hindenburg -- [9:33]


May 19, 2022
Music
highest bid


May 18, 2022
buoy band



Comment...


May 11, 2022
Web3 (reprise) - WATCH

I've had nothing but contempt for Bitcoin and everything (afaik) that has spawned from that ecosystem, though apparently I've never written about it here. I have nothing but contempt for Bitcoin and everything that has spawned from that ecosystem! I'm hopeful that it's on its way out, but made sad by the fact that so many people have been scammed.

Having said that, it seems that the "Web3" movement wants to move the web past where we are now (which is where Facebook/Google/etc are almost everything), which is an admirable goal. If we can do it in a reasonable way. There's just no reason to build systems that try to be trustless or fully distributed, we already have a fantastic hierarchically distributed infrastructure for this: DNS.

In 2012, I had a thought along these lines -- and I wrote a Google Doc (irony much?) -- don't bother reading it though, it's very outdated and lacking in specifics.

To make the web more open and decentralized, what we need is a new protocol and piece of software!

WATCH - "We Are The Cloud Hosts"

The web that we live with today is largely because people want the following capabilities:
  • the ability to publish content to the public
  • the ability to publish content to trusted people
  • the ability to subscribe to content creators
Anybody can do all of these things without using Facebook/Google/blah, but it's not easy. Let's break it down:
  • the ability to publish content to the public

    Typically these require a web server to server the content. WATCH envisions a system where you could run software on multiple systems (your desktop, laptop when it's connected, cloud provider, etc), and it would automatically reproduce and sychronize your content. The protocol would allow connecting to a WATCH domain index in order to connect to the WATCH servers that contain data.

  • the ability to publish content to trusted people

    When making WATCH content requests, the requesting user could be identified by digital signature to ensure access rights.

  • the ability to subscribe to content creators

    AKA RSS. RSS feed generation and feed display would need to be integrated into this software.
This could all be accomplished by developing one peice of software: the WATCH server. In a typical scenario, the system would be setup as such:
  • An instance of the WATCH server running as e.g. watch-index.mydomain.com. If you have your own domain you could run it on a cloud VM, presumably email providers would be able to provide this service for your accounts if it ever caught on, etc. If a user wants data from user@mydomain.com, it would connect there, and (assuming it had permission), would receive a list of WATCH content servers for that account (which could possibly include watch-index.mydomain.com).
  • A few instances of WATCH servers running wherever. If you want your web presence to be very reliable you'd put them on VMs in a few AWS zones. If you don't care much you'd leave it running on your laptop or your desktop computer or whatever.
How it would be used:
  • Part of your WATCH account state would be a feed of content
  • To access WATCH feeds (yours, others, a mix of both, whatever), you'd point a browser at any of your own WATCH servers or indexes
  • For purely-public web pages, there could be a lot of opt-in shortcuts to this, having the index servers redirect links to content, things like that.
  • The WATCH server could provide browser-based and/or filesystem-based interfaces for posting content.
This is obviously not fully thought-through, but it does seem like some open software implementing this sort of infrastructure could be a really nice thing to have, and a good way forward for the web.

4 Comments


May 10, 2022
Music
my best features


May 8, 2022
Music
andre - 1 - How Low -- [5:41]
andre - 2 - Find Me -- [5:06]
andre - 3 - Find Me (again) -- [3:25]
andre - 4 - Find Me (triplex) -- [3:32]
andre - 5 - Missing Term -- [6:00]
andre - 6 - Old as Coal -- [3:47]
andre - 7 - Unwanted Outcomes -- [4:39]
andre - 8 - The River -- [3:51]
andre - 9 - You Can't Compete -- [6:46]
andre - 10 - Trees vs Mold -- [4:14]
andre - 11 - Somewhere Else -- [5:28]
andre - 12 - Season for Treason -- [6:23]
andre - 13 - Ponzi Time -- [4:01]
andre - 14 - Surrounded -- [5:06]
andre - 15 - Burn It Down -- [6:24]
andre - 16 - The Squeeze -- [4:26]
andre - 17 - The End of Time -- [6:05]


May 5, 2022
Music
how low


April 30, 2022
Music
oh shoe wont you drop
Yes, Exactly, Yes! - 1 - Voyage to the Abyss Part I -- [17:50]
Yes, Exactly, Yes! - 2 - Voyage to the Abyss Part II -- [8:25]
Yes, Exactly, Yes! - 3 - Voyage to the Abyss Part III -- [13:02]
Yes, Exactly, Yes! - 4 - Voyage to the Abyss Detour for Coffee -- [23:49]
Yes, Exactly, Yes! - 5 - Voyage to the Abyss Part IV -- [20:06]
Yes, Exactly, Yes! - 6 - Las Vegas -- [4:15]
Yes, Exactly, Yes! - 7 - Leacho (Cosmos) -- [8:18]
Yes, Exactly, Yes! - 8 - The River -- [4:30]
Yes, Exactly, Yes! - 9 - Find Me (eights) -- [2:10]
Yes, Exactly, Yes! - 10 - Find Me -- [3:47]
Yes, Exactly, Yes! - 11 - Old as Coal -- [4:00]
Yes, Exactly, Yes! - 12 - Old as Coal (Extra-Swingy) -- [3:00]


April 28, 2022
Music
banish the ghost of our past
or something
or something less silly


April 24, 2022
Music
Yes, Exactly, Yes! - 1 - Half Price Felonies -- [7:36]
Yes, Exactly, Yes! - 2 -- [4:33]
Yes, Exactly, Yes! - 3 -- [2:25]
Yes, Exactly, Yes! - 4 - Watch Your Step -- [3:28]
Yes, Exactly, Yes! - 5 - Find Me -- [5:10]
Yes, Exactly, Yes! - 6 - Dogs Will Rule the World -- [7:33]
Yes, Exactly, Yes! - 7 - Money (talks? Hello Mr Floyd) -- [2:18]
Yes, Exactly, Yes! - 8 - Old as Coal -- [1:14]
Yes, Exactly, Yes! - 9 - Old as Coal (mk2) -- [4:35]
Yes, Exactly, Yes! - 10 - Old as Coal (mk3) -- [3:47]
Yes, Exactly, Yes! - 11 - Surrounded -- [2:34]
Yes, Exactly, Yes! - 12 - Surrounded (v2) -- [1:15]
Yes, Exactly, Yes! - 13 - Surrounded (v3) -- [2:14]
Yes, Exactly, Yes! - 14 - Surorunded (v4) -- [2:07]
Yes, Exactly, Yes! - 15 - Surrounded (v5) -- [2:53]
Yes, Exactly, Yes! - 16 - Surrounded (British) -- [2:43]
Yes, Exactly, Yes! - 17 - Trees Mold New Style -- [4:54]
Yes, Exactly, Yes! - 18 -- [4:52]
Yes, Exactly, Yes! - 19 -- [2:14]
Yes, Exactly, Yes! - 20 - Hindenburg -- [8:25]
Yes, Exactly, Yes! - 21 - The River (British) -- [4:07]


April 21, 2022
Music
cosmic background or surrounded


April 19, 2022
Music
live solo improv: super8


April 17, 2022
testing something



Comment...


April 15, 2022
family time



Comment...


April 9, 2022
this was nice



1 Comment


March 26, 2022
Music
Yes, Exactly, Yes! - 1 -- [5:44]
Yes, Exactly, Yes! - 2 - Watch Your Step (ver 1) -- [5:45]
Yes, Exactly, Yes! - 3 - Watch Your Step (ver 1a) -- [4:45]
Yes, Exactly, Yes! - 4 - Hindenburg -- [7:15]
Yes, Exactly, Yes! - 5 - Benefactor (How Low) -- [4:36]
Yes, Exactly, Yes! - 6 - Benefactor (How Low) ver 2 -- [6:16]
Yes, Exactly, Yes! - 7 - Standing Orders, maybe? -- [5:44]
Yes, Exactly, Yes! - 8 - Leacho (Cosmos) in D -- [6:10]
Yes, Exactly, Yes! - 9 -- [1:02]
Yes, Exactly, Yes! - 10 -- [2:17]
Yes, Exactly, Yes! - 11 - The Price You Pay -- [10:43]
Yes, Exactly, Yes! - 12 - Watch Your Step (ver 2) -- [6:33]
Yes, Exactly, Yes! - 13 - Dogs Will Rule the World -- [5:41]
Yes, Exactly, Yes! - 14 - The River -- [5:24]
Yes, Exactly, Yes! - 15 - Old as Coal -- [3:34]
Yes, Exactly, Yes! - 16 - Find Me (ver 0) -- [1:13]
Yes, Exactly, Yes! - 17 - Find Me (ver 1) -- [3:10]
Yes, Exactly, Yes! - 18 - Find Me (ver 2) -- [3:15]
Yes, Exactly, Yes! - 19 - Trees vs Mold (ver -1) -- [4:29]
Yes, Exactly, Yes! - 20 - Trees vs Mold-ish (ver -2) -- [1:59]
Yes, Exactly, Yes! - 21 - May 29 Track 6 -- [7:39]


March 24, 2022
Music
find me
watch your step


March 23, 2022
Music
old as coal


March 19, 2022
Music
Yes, Exactly, Yes! - 1 -- [3:22]
Yes, Exactly, Yes! - 2 - (How Low) No Big Benefactor -- [10:42]
Yes, Exactly, Yes! - 3 - Find Me (pre) -- [2:27]
Yes, Exactly, Yes! - 4 - Find Me -- [7:13]
Yes, Exactly, Yes! - 5 - Find Me (adjust) -- [7:08]
Yes, Exactly, Yes! - 6 - Hindenburg -- [5:57]
Yes, Exactly, Yes! - 7 - The River -- [4:33]
Yes, Exactly, Yes! - 8 - The River (A-flat) -- [3:06]
Yes, Exactly, Yes! - 9 - How Low -- [4:34]
Yes, Exactly, Yes! - 10 - Cosmos (Leacho, Mirror Image) -- [6:30]
Yes, Exactly, Yes! - 11 - Old as Coal (wrong) -- [3:33]
Yes, Exactly, Yes! - 12 - Old as Coal -- [3:42]
Yes, Exactly, Yes! - 13 -- [12:34]
Yes, Exactly, Yes! - 14 - The Squeeze -- [4:37]
Yes, Exactly, Yes! - 15 - The Squeeze (reprise) -- [3:20]
Yes, Exactly, Yes! - 16 -- [9:19]


March 18, 2022
e-bikes

I recently got my first e-bike, and I have some thoughts:

(I've been riding in NYC for a number of years, most days, somewhere in the thousands of miles per year. Most of the time I ride a Salsa Casseroll Single with fenders, rack, panniers, 20 tooth cog for easier climbs, and most recently a Surly Open Bar handlebars and a stem riser for upright posture. Side note: a video of a recent ride. )

The last few (six?) months I've been dealing with a hamstring issue (too much running with poor biomechanics, curse you teenage self), and bicycling does seem to aggrevate it, so I decided to get an e-bike with a throttle in order to be able to rest a little while still living life and going places by bike. I got a RadRunner 2 (it seems pretty decent, reasonably priced, and you can set it up to carry passengers. I have some qualms from setting it up but I'll save those for another day).

This morning I rode from Tribeca to Union Square to pick up a few things from the green market, and back, usingthe throttle almost exclusively. I found myself going a lot faster than I normally ride, and worryingly defaulting into a "driving" mentality. It left a bad taste in my mouth.

Later in the day, I rode to my office/studio in Red Hook, via the Manhattan Bridge, and made a special effort to go at a usual (leisurely) pace. It worked, and I managed to stay in a better, more peaceful frame of mind, but it took mental effort. I will have to continue that effort.

I find I definitely prefer the peacefulness of riding regular (*cough* acoustic *cough*), but my hamstring appreciated the electric-ness. What's interesting, though, is the economics:

I recharged my battery after riding 15 miles (which would be about 90 minutes of riding at city speeds), and using a Kill-A-Watt, I measured 360Wh of power use at the mains power. I looked up electric rates, and a ballpark we're talking about $0.05 worth of electricity, and the battery probably had less than 0.05% (or $0.25) of its lifetime wear. If I had ridden my regular bike, I would've burned a few hundred calories at least, and unless I was extremely frugal in my eating (I am not), there's no way I would spend only $0.30 on replenishing those calories. So in some ways, this is more economical (and probably more efficient, too?). Obviously there are benefits to exercise but let's assume I have that taken care of anyway.

Delivery people all moved to e-bikes ages ago. There were stories in the news about how they needed them in order to keep up, but I never really realized that the economics of it, even if you are as fit as possible, made generally cheaper to use electricity than to eat the extra food!

It's very good that e-bikes have been made legal in NY, hopefully the parks will follow (it feels like there should be an ADA claim against the parks that ban them, as there are people who can ride e-bikes but can't ride acoustic bikes). I'm still stunned by the efficiency of this bike, even with its massive 3" wide tires and weighing in around 65lbs.

(Update March 19: I was curious how much electricity electric cars use by comparison… sounds like typical is 34kWh per 100 miles, or 340Wh per mile… assuming that holds up in the city, that’d make the electric bike use about 1/15th the power. which is roughly in line with the mass ratio...)

Recordings:

nothing that will be missed

Comment...


March 17, 2022
Music
Decanted Youth - 1 -- [21:02]
Decanted Youth - 2 - Sandman (something) -- [5:18]
Decanted Youth - 3 - Light Creeps -- [12:06]
Decanted Youth - 4 -- [13:07]
Decanted Youth - 5 - Legacy / What if We All Just Disappeared -- [14:18]


March 15, 2022
Music
live solo improv: super8


March 13, 2022
Music
Yes, Exactly, Yes! - 1 -- [5:53]
Yes, Exactly, Yes! - 2 -- [12:12]
Yes, Exactly, Yes! - 3 - Cosmos (Leacho) -- [7:45]
Yes, Exactly, Yes! - 4 -- [8:41]
Yes, Exactly, Yes! - 5 - Hindenburg -- [7:11]
Yes, Exactly, Yes! - 6 - How Low (alt arrange) -- [6:52]
Yes, Exactly, Yes! - 7 - Find Me (backwards) -- [4:56]
Yes, Exactly, Yes! - 8 - Find Me (interim) -- [3:26]
Yes, Exactly, Yes! - 9 - Old as Coal (prequel) -- [1:48]
Yes, Exactly, Yes! - 10 - Old as Coal (reprise) -- [4:29]
Yes, Exactly, Yes! - 11 - Old as Coal (reprise) -- [4:00]
Yes, Exactly, Yes! - 12 - Find Me (win) -- [4:39]
Yes, Exactly, Yes! - 13 -- [6:16]
Yes, Exactly, Yes! - 14 - The River -- [4:52]


March 9, 2022
Music
Not Vampires - 1 - Find Me -- [3:32]
Not Vampires - 2 -- [1:46]
Not Vampires - 3 - Bad at Math -- [4:41]
Not Vampires - 4 - How Low -- [5:03]
Not Vampires - 5 -- [4:45]
Not Vampires - 6 - The Squeeze -- [4:41]
Not Vampires - 7 - Trees/Mold -- [3:13]
Not Vampires - 8 - Trees and Mold -- [1:35]
Not Vampires - 9 - Old as Coal -- [2:51]
Not Vampires - 10 - Old as Coal (reprise) -- [3:41]
Not Vampires - 11 - Somewherel Else -- [4:19]
Not Vampires - 12 - Used by an Idiot -- [2:03]
Not Vampires - 13 - Opinions Free of Charge -- [5:20]
Not Vampires - 14 - Cloud Worlds -- [8:19]
Not Vampires - 15 - Synergy Vampure -- [13:36]
Not Vampires - 16 - Candy Bandit -- [2:00]
Not Vampires - 17 - Lost and Found -- [5:23]
Not Vampires - 18 - (sandman) Let's Pretend -- [6:06]
Not Vampires - 19 -- [0:15]
Not Vampires - 20 - Smells Like... -- [5:02]
Not Vampires - 21 - So So Familiar -- [6:04]
Not Vampires - 22 - After Dark It Falls -- [5:54]


March 8, 2022
Music
cruelty of man


March 5, 2022
Music
Not Vampires - 1 - Asked and Answered -- [6:15]
Not Vampires - 2 - Unexpected Outcome -- [3:04]
Not Vampires - 3 - Old as Coal -- [3:28]
Not Vampires - 4 - How Low -- [3:27]
Not Vampires - 5 - Trees and Mold -- [5:12]
Not Vampires - 6 - Trees and Mold (sevens and eights) -- [2:06]
Not Vampires - 7 - Trees and Mold (more numbers) -- [2:43]
Not Vampires - 8 - Person in Charge -- [3:37]
Not Vampires - 9 - The Squeeze -- [4:14]
Not Vampires - 10 - Expected Outcome -- [5:11]
Not Vampires - 11 -- [2:31]
Not Vampires - 12 - Guilty Conscience -- [3:52]
Not Vampires - 13 - Sugar Crash -- [3:39]
Not Vampires - 14 - Ears Ringing for Years -- [5:06]
Not Vampires - 15 -- [6:34]
Not Vampires - 16 -- [6:21]
Not Vampires - 17 -- [0:26]
Not Vampires - 18 -- [5:00]
Not Vampires - 19 -- [0:46]
Not Vampires - 20 - (Synergy Vampire) tbd -- [2:55]
Not Vampires - 21 - (Synergy Vampire) tbd 2 -- [6:34]
Not Vampires - 22 -- [5:42]
Not Vampires - 23 -- [3:59]
Not Vampires - 24 - Candy Bandit -- [1:59]


March 4, 2022
Music
Not Vampires - 1 - (Synergy Vampire, or what Andy Says) / The Squeeze -- [14:18]
Not Vampires - 2 - (Synergy Vampire?) -- [4:33]
Not Vampires - 3 - Major Major Major -- [3:48]
Not Vampires - 4 - Eventual Candy Bandit -- [1:52]
Not Vampires - 5 - Personified by Me -- [6:19]
Not Vampires - 6 -- [4:03]
Yes, Exactly, Yes! - 1 - Back from Beyond -- [8:34]
Yes, Exactly, Yes! - 2 - Old as Coal (a take) -- [4:32]
Yes, Exactly, Yes! - 3 - Old as Coal (another take) -- [3:30]
Yes, Exactly, Yes! - 4 - Old as Coal (third try) -- [4:51]
Yes, Exactly, Yes! - 5 - The River -- [4:31]
Yes, Exactly, Yes! - 6 - Hindenburg -- [9:32]
Yes, Exactly, Yes! - 7 - Leacho (Cosmos) -- [6:12]
Yes, Exactly, Yes! - 8 - Standing Orders -- [8:14]
Yes, Exactly, Yes! - 9 - Dogs Will Rule the World -- [11:17]
Yes, Exactly, Yes! - 10 - How Low (YEY version) -- [5:12]


March 3, 2022
Music
live solo improv: play some songs
live solo improv: super8 standing


February 27, 2022
Music
Not Vampires - 1 - Roll Him Down the Hill -- [8:11]
Not Vampires - 2 - Prelude to an Exchange -- [2:58]
Not Vampires - 3 - (Synergy Vampire) or Tolerable Exchange -- [7:16]
Not Vampires - 4 - Sandman -- [7:15]
Not Vampires - 5 - My Iron Lung (mumblecover) -- [1:48]
Not Vampires - 6 - Major Major Major -- [4:25]
Not Vampires - 7 - The Squeeze -- [6:25]
Not Vampires - 8 - Insecurity -- [7:25]
Not Vampires - 9 - Old as Coal (tryout 1) -- [2:48]
Not Vampires - 10 - The Squeeze (alternate layout) -- [3:11]
Not Vampires - 11 - How Low? -- [3:18]
Not Vampires - 12 - Old as Coal (tryout 2) -- [3:51]
Not Vampires - 13 -- [2:36]
Not Vampires - 14 -- [3:29]
Not Vampires - 15 -- [4:50]
Not Vampires - 16 - Trees and Mold -- [3:31]
Not Vampires - 17 - Trees and Mold (7-step playaround 1) -- [0:35]
Not Vampires - 18 - Trees and Mold (7-step playaround 2) -- [1:31]
Not Vampires - 19 - The River -- [3:15]
Not Vampires - 20 -- [1:54]
Not Vampires - 21 - Somewhere Else -- [4:07]


February 16, 2022
good dog club, can I join please thank you



1 Comment


February 16, 2022
a very happy place to find myself



Comment...


February 13, 2022
one of way too many sunset pictures



Comment...


February 6, 2022
interview with Paul Davis

Paul Davis (fellow human being and author of the Ardour DAW) suggested on Twitter that we should have a conversation which would be recorded and available for download/stream via the internet on-demand (apparently this is a thing now?).

It seemed like a reasonable (or dare I say interesting, given our common experiences) suggestion, and generally my willingness to talk to people has a sort of vaguely gaussian curve where the X axis they want to talk to me and the Y axis is how willing I am to talk to them: if they don't want to talk to me at all, or if they REALLY want to talk to me, then I'm pretty much not interested, but if they're in the middle, then sure why not?

We had our interview (which was enjoyable, and it even would have been without a pasty on my desk staring me down for when it was over) using NINJAM in voice chat mode, which mostly works amazingly well, until it doesn't (and then you have to reinitialize the channels -- I've been meaning to fix that for years but meh). I haven't (nor will I likely) listened to it in its entirety, but hopefully I didn't make too much of a fool of myself (thank you Paul for editing it). Paul also is being very modest about his interviewing skills, I thought he did an excellent job (for an emacs user), but we're always our biggest critics (except those instances where you get asshole critics, but to be fair they are usually just assholes and not so much critics).

Anyway, here's the interview.

One final note, after our conversation I do find myself wondering how good of musicians we would both be by now, had we not chosen to write DAWs and instead had spent the last 36 collective years with our time devoted to playing rather than programming. It's a completely unknowable and unrealistic question, anyway: whether or not you consider programming an art, it shares with art the most difficult part which is maintaining an interest in a particular thing for extended periods of time. Would I be an amazing guitarist if I'd spent the last 15 years playing guitar for 8 hours a day? Probably. Could I possibly spend 15 years playing guitar for 8 hours a day? No chance in hell.

4 Comments


February 4, 2022
Music
live solo improv: outside stinson


February 3, 2022
Music
tbd


February 1, 2022
Music
alone and misled


January 23, 2022
Music
old like coal


January 20, 2022
Music
old like coal


January 16, 2022
Music
Not Vampires - 1 - You're Gone -- [9:37]
Not Vampires - 2 - (Blackbird) Light Creeps -- [7:17]
Not Vampires - 3 - Sandman / The Squeeze / (Third Rail?) -- [16:12]
Not Vampires - 4 - Drown (psuedocover) -- [5:37]
Not Vampires - 5 -- [10:38]
Not Vampires - 6 - Don't You See -- [4:59]
Not Vampires - 7 - Trees vs Mold -- [5:09]
Not Vampires - 8 - How Low / Minions -- [7:50]
Not Vampires - 9 - The River -- [3:44]
Not Vampires - 10 - Somewhere Else -- [3:03]
Not Vampires - 11 -- [3:32]
Not Vampires - 12 - Not Bothered -- [7:28]
Not Vampires - 13 - Someone Like You -- [4:08]
Not Vampires - 14 - Keeper of Secrets -- [6:33]
Not Vampires - 15 - (Bad at Math) -- [6:22]
Not Vampires - 16 -- [4:12]
Not Vampires - 17 -- [12:30]


January 14, 2022
Music
andy_cory - 1 -- [1:10]
andy_cory - 2 -- [3:17]
andy_cory - 3 -- [1:31]
andy_cory - 4 -- [5:30]
andy_cory - 5 -- [4:24]
andy_cory - 6 -- [5:16]
andy_cory - 7 -- [2:39]
andy_cory - 8 -- [4:34]
andy_cory - 9 -- [8:30]
andy_cory - 10 -- [9:08]
andy_cory - 11 -- [4:32]
andy_cory - 12 -- [17:44]
Not Vampires - 1 - How Low -- [4:18]
Not Vampires - 2 - Don't You See -- [4:29]
Not Vampires - 3 - Trees vs Mold -- [4:36]
Not Vampires - 4 - Enough -- [3:00]
Not Vampires - 5 - The River -- [4:10]
Not Vampires - 6 -- [5:23]
Not Vampires - 7 -- [6:02]
Not Vampires - 8 -- [3:21]


January 11, 2022
Music
Not Vampires - 1 - We Pretend -- [6:17]
Not Vampires - 2 - Off Center -- [10:48]
Not Vampires - 3 - Notice the Emptiness / The Squeeze -- [7:47]
Not Vampires - 4 - Major Major Major -- [6:03]
Not Vampires - 5 - Candy Bandit -- [2:21]
Not Vampires - 6 - Co-defense -- [5:16]
Not Vampires - 7 - Trees vs Mold preamble -- [4:11]
Not Vampires - 8 - Underground Saboteur -- [4:32]
Not Vampires - 9 - Trees vs Mold -- [4:59]
Not Vampires - 10 - Don't You See -- [4:29]
Not Vampires - 11 - Don't You See (more) -- [1:16]
Not Vampires - 12 - Underground Saboteur (reprise) -- [8:36]
Not Vampires - 13 - The River -- [5:05]
Not Vampires - 14 - Don't You See (rerere) -- [3:12]
Not Vampires - 15 - How Low -- [4:14]
Not Vampires - 16 - Lost and Found -- [5:19]
Not Vampires - 17 - At the Seams -- [5:52]
Not Vampires - 18 - One Last Chance -- [2:27]
Not Vampires - 19 - Somewhere Else -- [3:10]
Not Vampires - 20 -- [0:28]
Not Vampires - 21 - Repurposed Machinery -- [10:38]
Not Vampires - 22 - In the Bubble -- [9:55]
Not Vampires - 23 - Beating around the Bush of Insecurity -- [8:44]


January 8, 2022
Music
Not Vampires - 1 - Standing Next in Line -- [6:25]
Not Vampires - 2 - (Insecurity) -- [11:40]
Not Vampires - 3 - Foot in Mouth -- [4:37]
Not Vampires - 4 - Drink It (Just) -- [4:28]
Not Vampires - 5 - Clearly Unqualified -- [4:28]
Not Vampires - 6 - Unjust / The River -- [4:12]
Not Vampires - 7 - Underwater Abandonment -- [5:16]
Not Vampires - 8 - Groundfire -- [5:54]
Not Vampires - 9 - Don't You See -- [4:33]
Not Vampires - 10 - Don't You See (no-bass) -- [1:53]
Not Vampires - 11 - Don't You See (reprise) -- [1:03]
Not Vampires - 12 -- [0:29]
Not Vampires - 13 - Trees and Mold -- [5:12]
Not Vampires - 14 -- [7:26]
Not Vampires - 15 -- [3:13]
Not Vampires - 16 -- [8:19]
Not Vampires - 17 - Part I / Part II -- [9:22]
Not Vampires - 18 - Part III / Light Creeps / Part IV -- [21:57]


January 6, 2022
Music
Not Vampires - 1 -- [4:59]
Not Vampires - 2 -- [1:59]
Not Vampires - 3 -- [8:00]
Not Vampires - 4 -- [8:04]
Not Vampires - 5 -- [8:06]
Not Vampires - 6 - So You Can Predict the Future -- [7:08]
Not Vampires - 7 - Trees and Mold -- [5:13]
Not Vampires - 8 - Drowning Hole -- [6:39]
Not Vampires - 9 - Unjust -- [5:00]
Not Vampires - 10 - The River -- [5:15]
Not Vampires - 11 - (Bad at Math) -- [4:46]
Not Vampires - 12 - Stupid Swagger -- [6:39]
Not Vampires - 13 - No End in Sight (Back Home) -- [6:11]
Not Vampires - 14 - Season of Treason -- [3:49]
Not Vampires - 15 - Somewhere Else -- [3:45]
Not Vampires - 16 - Find the Voice -- [2:43]
Not Vampires - 17 -- [1:07]
Not Vampires - 18 -- [2:34]


January 5, 2022
Music
live solo improv: beatbuddy new monitor


January 2, 2022
Music
Not Vampires - 1 - Brain Melt -- [6:40]
Not Vampires - 2 -- [1:54]
Not Vampires - 3 -- [4:58]
Not Vampires - 4 -- [4:35]
Not Vampires - 5 - Careless Much -- [6:01]
Not Vampires - 6 -- [8:07]
Not Vampires - 7 - Chip Away at the Inevitable -- [11:08]
Not Vampires - 8 - Hindenburg -- [4:56]
Not Vampires - 9 -- [3:55]
Not Vampires - 10 -- [4:14]
Not Vampires - 11 - Candy Bandit -- [3:04]
Not Vampires - 12 - Unsolicited Advice -- [6:00]
Not Vampires - 13 - Trees vs Mold -- [4:06]
Not Vampires - 14 - Only Probabilities -- [4:52]
Not Vampires - 15 - Crowds -- [1:53]
Not Vampires - 16 - The Perfect Food -- [4:30]
Not Vampires - 17 - The More You Give -- [3:40]
Not Vampires - 18 - Somewhere Else -- [4:08]
Not Vampires - 19 - Pre-Youtube -- [9:33]
Not Vampires - 20 - Season for Treason -- [2:02]
Not Vampires - 21 - Season of Treason -- [1:23]
Not Vampires - 22 - The River -- [6:21]
Not Vampires - 23 - Save Yourself the Deal -- [9:37]


December 31, 2021
Year in Review

Here are my notes:

  • Code: git commits from 2020's REAPER v6.19+dev1231 to v6.43+dev1231 for which I am the claimed author (excluding merges): 2,264
  • Code: cumulative changes (I'm not sure how to limit this to just my commits so it's global, including third-party SDKs and schwa): 1711 files changed, 132415 insertions(+), 121934 deletions(-)

  • Running (from Strava): 1,366 miles, 44,850ft of climbing, 219 hours. Mileage about the same as 2019, though far less climbing (2019 was 66kft) and a half dozen fewer hours. I've had something or other bothering me nonstop all year but only rarely keeping me from running (at the moment my left glute/hamstring is a bit tight). My high water year for miles was 2017, which was 1,444 (with similar elevation of 44kft, covered in 216 hours). Ah youth.

  • Bicycling: 3,148 miles, 92,560ft of climbing, 346 hours (I'm sure I forgot to record some rides but then there's also probably some GPS errors giving me bonus miles).

    These were mostly as transportation or leisure rides, I only rode the road bike 67 of those miles (sorry, buddy. I'll take you out soon). The brompton got about 200 miles (mostly in San Francisco), and the cargo bike even got 100 miles.

    The Casseroll single speed is my favorite (thanks, Alex!). This year I replaced its handlebars (Surly Open Bar + stem extender, and a cupholder), seat, front tire, bottom bracket, freewheel (after the old one failed in February, though it was fixed gear 3:1 for a good 6 months before going back to 12:5 freewheel), and twice (March and December) its chain. The brompton also got a new chain.

  • Music played with others: 62 sessions, producing about 87 hours of (very-loosely) edited music. The pandemic made this difficult. Singing with a mask on has its own challenges.
  • Music recorded alone: I did about 20 super8 sessions, producing about 9.5 hours of music/youtube videos. Also I recorded 37 doodles, about 2 hours of music.

  • It is probably for the best that I don't have many consumption numbers, such as paper products, disposable masks worn, etc.


Comment...


December 30, 2021
Music
Not Vampires - 1 - Numbers Don't Lie -- [4:02]
Not Vampires - 2 - Running on Empty -- [6:03]
Not Vampires - 3 - To Be Wanted -- [7:02]
Not Vampires - 4 - Trees and Mold -- [4:13]
Not Vampires - 5 - Somewhere Else -- [3:16]
Not Vampires - 6 - If It Meant a Thing at All -- [6:34]
Not Vampires - 7 - The River -- [5:33]
Not Vampires - 8 - Goodbye Little Friend -- [5:17]
Not Vampires - 9 - Season for Treason -- [3:11]
Not Vampires - 10 - Lone Parasite (You Might Be a Tapeworm) -- [1:06]
Not Vampires - 11 - Alexa in the Brain -- [6:40]
Not Vampires - 12 - Make It Last -- [9:29]
Not Vampires - 13 - Insecurity -- [9:42]
Not Vampires - 14 -- [14:06]
Not Vampires - 15 -- [8:43]
Not Vampires - 16 - Major Major Major -- [3:34]
Not Vampires - 17 - Candy Bandit -- [2:06]
Not Vampires - 18 - (... Summer) -- [7:15]
Not Vampires - 19 -- [4:07]
Not Vampires - 20 -- [0:35]
Not Vampires - 21 -- [4:51]
Not Vampires - 22 -- [1:43]


December 28, 2021
Music
Not Vampires - 1 - Trees and Mold -- [4:11]
Not Vampires - 2 - Season of Treason -- [4:45]
Not Vampires - 3 - Somewhere Else -- [4:08]
Not Vampires - 4 - Not Lost Yet -- [4:50]
Not Vampires - 5 - Settle the Devil's Accounts -- [5:48]
Not Vampires - 6 - Telemarketers -- [2:55]
Not Vampires - 7 - Anyone You Know -- [7:43]
Not Vampires - 8 - Not Enough Coffee in the World -- [4:17]
Not Vampires - 9 -- [4:41]
Not Vampires - 10 -- [2:35]
Not Vampires - 11 - Path Question -- [6:18]
Not Vampires - 12 - Space Blah -- [2:00]
Not Vampires - 13 -- [5:02]
Not Vampires - 14 -- [17:17]
Not Vampires - 15 -- [5:40]
Not Vampires - 16 -- [4:47]
Not Vampires - 17 -- [19:05]
Not Vampires - 18 -- [1:05]
Not Vampires - 19 -- [2:12]
Not Vampires - 20 -- [7:34]
Not Vampires - 21 -- [7:24]
Not Vampires - 22 -- [4:13]


December 27, 2021
realtime audio on macOS in the age of asymmetrical multicore CPUs

It's now time when I bitch about, and document my experiences dealing with Apple's documentation/APIs/etc. For some reason I never feel the need to do this on other platforms, maybe it's that they tend to have better documentation or less fuss to deal with, I'm not sure why, but anyway if you search for "macOS" on this blog you'll find previous installments. Anyway, let's begin.

A bit over a year ago Apple started making computers with their own CPUs, the M1. These have 8 or more cores, but have a mix of slower and faster cores, the slower cores having lower power consumption (whether or not they are more efficient per unit of work done is unclear, it wouldn't surprise me if their efficiency was similar under full load, but anyway now I'm just guessing).

The implications for realtime audio of these asymmetric cores is pretty complex and can produce all sorts of weird behavior. The biggest issue seems to be when your code ends up running on the efficiency cores even though you need the results ASAP, causing underruns. Counterintuitively, it seems that under very light load, things work well, and under very heavy load, things work well, but for medium loads, there is failure. Also counterintuitively, the newer M1 Pro and M1 Max CPUs, with more performance cores (6-8) and fewer efficiency cores (2), seem to have a larger "medium load" range where things don't work well.

The short summary:

  • Ignore the thread QoS APIs, for realtime audio they're apparently not applicable (and do not address these issues). This was the biggest timesink for me -- I spend a ton of time going "why doesn't this QoS setting do anything?" Also Xcode has a CPU meter and for each thread it says "QoS unavailable"... so confusing.

  • If a normal thread yields via usleep() or pthread_cond_timedwait() for more than a few hundred microseconds, it'll likely end up running on an efficiency core when it resumes (and it takes an eternity in terms of audio blocks to get bumped back to a performance core, by which there's been an underrun and the thread probably will go back to sleep anyway). Reducing all sleeps/waits to at most a few hundred microseconds is a way to avoid that fate (though Apple recommends against spinning, likely for good reason). It's not ideal, but you can effectively pin normal threads to performance cores using this method.

  • Porting Your Audio Code to Apple Silicon was the most helpful guide (I wish I had seen the link at the bottom of one of the other less-helpful guides sooner! so much time wasted...), though it assumes some knowledge which doesn't seem to be linked in the document:

    You want to get your realtime threads in the same thread workgroup as the CoreAudio device's (via kAudioDevicePropertyIOThreadOSWorkgroup), and to do that you first have to make your threads realtime threads using thread_policy_set(THREAD_TIME_CONSTRAINT_POLICY) (side note: we probably should have been doing this already, doh), ideally with the similar parameters that the coreaudio thread uses, which seems to be a period and constraint of ((1000000000.0 * blocksize * mach_timebase_info().denom) / (mach_timebase_info().numer * srate), and a computation of half that. If you don't set this policy, it will fail adding your thread to the workgroup (EINVAL in that case means "thread is not realtime" and not "workgroup is canceled" per the docs). Once you do that, you do effectively get your threads locked to performance cores, and can start breathing again.
Perhaps this was all obvious and documented and I failed to read the right things, but anyway I'm just putting this here in case somebody like me would find it useful.

1 Comment


[ present 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... past ]
search : rss : recent comments : Copyright © 2022 Justin Frankel : 2908147