<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>AdmiralBumbleBee</title>
    <description>Things that you want which you can&apos;t find anywhere else</description>
    <link>https://www.admiralbumblebee.com/</link>
    <atom:link href="https://www.admiralbumblebee.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 05 Apr 2026 00:05:40 -0400</pubDate>
    <lastBuildDate>Sun, 05 Apr 2026 00:05:40 -0400</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
      <item>
        <title>Site update, again</title>
        <description>&lt;p&gt;I rebuilt the site.&lt;/p&gt;
&lt;p&gt;Again.&lt;/p&gt;
&lt;p&gt;This is not an April Fools joke. I simply got tired of looking at the old layout, got tired of some of the broken assumptions in the header logic, and got tired of the site feeling more cluttered than the writing on it.&lt;/p&gt;
&lt;!--more--&gt;
&lt;p&gt;So here we are.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New layout
&lt;ul&gt;
&lt;li&gt;The site is now much simpler overall.&lt;/li&gt;
&lt;li&gt;The old side structure is gone.&lt;/li&gt;
&lt;li&gt;Navigation is at the top where it belongs.&lt;/li&gt;
&lt;li&gt;The menu system is now split into layers instead of trying to expose every single thing at once.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New colors
&lt;ul&gt;
&lt;li&gt;I removed the old theme switching.&lt;/li&gt;
&lt;li&gt;The site now has one brighter engineering-ish palette instead of pretending that six half-maintained themes was a good idea.&lt;/li&gt;
&lt;li&gt;It is flatter, cleaner and easier on my eyes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Posts are easier to read
&lt;ul&gt;
&lt;li&gt;The content width is more responsive.&lt;/li&gt;
&lt;li&gt;Summaries on the front page use the available space properly now.&lt;/li&gt;
&lt;li&gt;The general spacing and alignment should be less weird on desktop.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Header system changed
&lt;ul&gt;
&lt;li&gt;The old sticky header stack in long posts was clever, but it fought with the new sticky nav and had a few structural problems.&lt;/li&gt;
&lt;li&gt;It has been replaced with a progress-style document header.&lt;/li&gt;
&lt;li&gt;It tracks where you are in the post and shows the current section path.&lt;/li&gt;
&lt;li&gt;It works with up to 4 heading levels.&lt;/li&gt;
&lt;li&gt;It also behaves better with direct links into long articles.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/Harmonics.html&quot;&gt;Harmonics&lt;/a&gt; rebuilt
&lt;ul&gt;
&lt;li&gt;The old static string harmonic chart is gone.&lt;/li&gt;
&lt;li&gt;It is now a generated &lt;a href=&quot;/Harmonics.html&quot;&gt;harmonics&lt;/a&gt; tool.&lt;/li&gt;
&lt;li&gt;It is much closer to the thing I originally wanted in the first place, which was &quot;show me the useful information&quot; and not &quot;please admire this pile of static images.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/StringTree.html&quot;&gt;String Tree&lt;/a&gt; added
&lt;ul&gt;
&lt;li&gt;There is now a tool for the stupid little note your string makes behind the nut.&lt;/li&gt;
&lt;li&gt;It now combines the tight one-string view with a supplementary &lt;code&gt;What else rings?&lt;/code&gt; section underneath, so the local &lt;a href=&quot;/StringTree.html&quot;&gt;afterlength&lt;/a&gt; problem and the broader first-order &lt;a href=&quot;/StringTree.html&quot;&gt;resonance&lt;/a&gt; view live in one place.&lt;/li&gt;
&lt;li&gt;It also distinguishes &lt;a href=&quot;/StringTree.html&quot;&gt;plain and wound strings&lt;/a&gt; instead of pretending every string is the same solid rod.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;Meta Analysis&lt;/a&gt; added
&lt;ul&gt;
&lt;li&gt;The site now has a generated page for &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;archive growth&lt;/a&gt;, &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;tags&lt;/a&gt;, &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;word usage&lt;/a&gt;, &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;media counts&lt;/a&gt;, &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;metadata quality&lt;/a&gt; and assorted structural oddities.&lt;/li&gt;
&lt;li&gt;It is part useful audit, part self-own, and part &quot;what exactly have I been doing on this website for all of these years?&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/CursorScaling.html&quot;&gt;Cursor Scaling&lt;/a&gt; added
&lt;ul&gt;
&lt;li&gt;The old mouse CPI transfer calculator now has a proper app version.&lt;/li&gt;
&lt;li&gt;It compares source and destination displays, accounts for effective scaling, and computes the destination CPI that preserves physical cursor travel.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/Latency.html&quot;&gt;Latency&lt;/a&gt; added
&lt;ul&gt;
&lt;li&gt;The site now has a practical &lt;a href=&quot;/Latency.html&quot;&gt;latency&lt;/a&gt; app for buffer size, monitoring path, plugin delay, air distance, and heard-total estimates.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Miscellaneous cleanup
&lt;ul&gt;
&lt;li&gt;A lot of stale CSS has been removed or rewritten.&lt;/li&gt;
&lt;li&gt;Some template structure has been simplified.&lt;/li&gt;
&lt;li&gt;The site should be less fragile in the process of future updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/DAW-Chart.html&quot;&gt;DAW Chart&lt;/a&gt; rebuilt
&lt;ul&gt;
&lt;li&gt;The rebuilt DAW chart is now the main DAW chart instead of a numbered prototype page.&lt;/li&gt;
&lt;li&gt;It now combines profile weighting, inline matrix editing, sticky editing controls, and EDN export in one place.&lt;/li&gt;
&lt;li&gt;The old numbered chart variants have been folded down so there is one DAW chart entry point instead of three.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If something looks wrong, the first thing to do is clear your cache and reload the page. This site has a habit of teaching browsers bad habits and then I have to hear about it.&lt;/p&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#why-bother&quot; id=&quot;markdown-toc-why-bother&quot;&gt;Why bother?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#what-changed&quot; id=&quot;markdown-toc-what-changed&quot;&gt;What changed?&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#navigation&quot; id=&quot;markdown-toc-navigation&quot;&gt;Navigation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#post-navigation&quot; id=&quot;markdown-toc-post-navigation&quot;&gt;Post navigation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#styling&quot; id=&quot;markdown-toc-styling&quot;&gt;Styling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#harmonics&quot; id=&quot;markdown-toc-harmonics&quot;&gt;Harmonics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#string-tree&quot; id=&quot;markdown-toc-string-tree&quot;&gt;String Tree&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta-analysis&quot; id=&quot;markdown-toc-meta-analysis&quot;&gt;Meta Analysis&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#cursor-scaling&quot; id=&quot;markdown-toc-cursor-scaling&quot;&gt;Cursor Scaling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#latency&quot; id=&quot;markdown-toc-latency&quot;&gt;Latency&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#daw-chart&quot; id=&quot;markdown-toc-daw-chart&quot;&gt;DAW Chart&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#what-did-not-change&quot; id=&quot;markdown-toc-what-did-not-change&quot;&gt;What did not change?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#what-else-changed&quot; id=&quot;markdown-toc-what-else-changed&quot;&gt;What else changed?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;why-bother&quot;&gt;Why bother?&lt;/h1&gt;
&lt;p&gt;The old design had accumulated the usual web disease: layers of decisions that made sense at the time, then stayed around long after the reasons had evaporated.&lt;/p&gt;
&lt;p&gt;Some of those layers were mine. Some were simply artifacts of a site that has been around long enough to survive multiple bursts of energy, disinterest, redesign attempts and feature creep.&lt;/p&gt;
&lt;p&gt;The biggest practical problems were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Navigation had become awkward.&lt;/li&gt;
&lt;li&gt;The layout was busier than it needed to be.&lt;/li&gt;
&lt;li&gt;The old long-post header behavior was colliding with newer sticky navigation.&lt;/li&gt;
&lt;li&gt;Too much CSS existed purely because something weird existed before it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That sort of thing tends not to improve on its own.&lt;/p&gt;
&lt;h1 id=&quot;what-changed&quot;&gt;What changed?&lt;/h1&gt;
&lt;h2 id=&quot;navigation&quot;&gt;Navigation&lt;/h2&gt;
&lt;p&gt;The top nav is now the primary navigation.&lt;/p&gt;
&lt;p&gt;That sounds obvious because it &lt;em&gt;is&lt;/em&gt; obvious, but the site had drifted into a state where too much discovery was pushed into secondary areas. The new approach is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Primary destinations are always visible.&lt;/li&gt;
&lt;li&gt;Secondary navigation is still present, but grouped into a menu system instead of living everywhere at once.&lt;/li&gt;
&lt;li&gt;Random Wisdom stays visible, because it amuses me and because several of you seem to enjoy it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;post-navigation&quot;&gt;Post navigation&lt;/h2&gt;
&lt;p&gt;The old in-post heading system has been replaced.&lt;/p&gt;
&lt;p&gt;Instead of headings pinning themselves into a stack at the top of the page, long posts now show a compact progress header that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;indicates the current section&lt;/li&gt;
&lt;li&gt;shows the section path&lt;/li&gt;
&lt;li&gt;tracks deeper heading levels&lt;/li&gt;
&lt;li&gt;stays out of the way better&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is especially useful on giant review posts and comparison posts where scrolling 9000 miles down the page can leave you wondering what subsection of which subsection you are actually in.&lt;/p&gt;
&lt;h2 id=&quot;styling&quot;&gt;Styling&lt;/h2&gt;
&lt;p&gt;The new look is intentionally more restrained.&lt;/p&gt;
&lt;p&gt;I wanted something that felt closer to engineering paper and technical documentation than a blog theme showroom. So:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;stronger contrast&lt;/li&gt;
&lt;li&gt;less decorative nonsense&lt;/li&gt;
&lt;li&gt;fewer giant tinted surfaces&lt;/li&gt;
&lt;li&gt;less visual noise in navigation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is also a very slight old technical manual/drafting vibe in places, because apparently I enjoy that sort of thing.&lt;/p&gt;
&lt;h2 id=&quot;harmonics&quot;&gt;Harmonics&lt;/h2&gt;
&lt;p&gt;One of the more useful side effects of messing with the site again is that the old &lt;a href=&quot;/Harmonics.html&quot;&gt;String Harmonic Chart&lt;/a&gt; is no longer just a pile of static images pretending to be a feature.&lt;/p&gt;
&lt;p&gt;It now generates the fretboard view directly and lets you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;choose the open-string frequency&lt;/li&gt;
&lt;li&gt;choose a fretted position first&lt;/li&gt;
&lt;li&gt;inspect the natural &lt;a href=&quot;/Harmonics.html&quot;&gt;harmonic nodes&lt;/a&gt; relative to that shortened &lt;a href=&quot;/Harmonics.html&quot;&gt;speaking length&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;view an idealized &lt;a href=&quot;/Harmonics.html&quot;&gt;spectrum&lt;/a&gt; / amplitude graph for the result&lt;/li&gt;
&lt;li&gt;check the &lt;a href=&quot;/Harmonics.html&quot;&gt;pitch&lt;/a&gt; and &lt;a href=&quot;/Harmonics.html&quot;&gt;cent&lt;/a&gt; relationships without having to do mental arithmetic like a maniac&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is much closer to the thing I wanted when I first made the page, which was &quot;show me the actually useful information&quot; and not &quot;look, I successfully stacked PNGs.&quot;&lt;/p&gt;
&lt;h2 id=&quot;string-tree&quot;&gt;String Tree&lt;/h2&gt;
&lt;p&gt;The other big tool addition is &lt;a href=&quot;/StringTree.html&quot;&gt;String Tree&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This one exists because a lot of guitars and basses have enough string length behind the nut to ring at a real pitch, and that pitch is not random even if it initially sounds like it is.&lt;/p&gt;
&lt;p&gt;The top half is the local view. The lower &lt;code&gt;What else rings?&lt;/code&gt; section is the follow-on view.&lt;/p&gt;
&lt;p&gt;So the page now lets you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;choose a common instrument preset or enter your own &lt;a href=&quot;/StringTree.html&quot;&gt;scale length&lt;/a&gt; and &lt;a href=&quot;/StringTree.html&quot;&gt;gauges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;calculate &lt;a href=&quot;/StringTree.html&quot;&gt;string tension&lt;/a&gt; from the scale length, &lt;a href=&quot;/StringTree.html&quot;&gt;tuning&lt;/a&gt;, &lt;a href=&quot;/StringTree.html&quot;&gt;plain/wound state&lt;/a&gt; and wrap-material approximation&lt;/li&gt;
&lt;li&gt;enter the &lt;a href=&quot;/StringTree.html&quot;&gt;pre-nut&lt;/a&gt; string length and calculate the note you get behind the nut&lt;/li&gt;
&lt;li&gt;compare the &lt;a href=&quot;/StringTree.html&quot;&gt;harmonic ladders&lt;/a&gt; on both sides of the nut&lt;/li&gt;
&lt;li&gt;see where those ladders line up closely enough to plausibly excite one another&lt;/li&gt;
&lt;li&gt;then drop into the supplementary &lt;code&gt;What else rings?&lt;/code&gt; section to see the immediate first-order response elsewhere on the instrument&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other words, the site now contains a tool for the strange little chime between the nut and the tuner because clearly I have become exactly the sort of person who would spend a large amount of time building that.&lt;/p&gt;
&lt;p&gt;It is still the local view first, but it now also carries the broader &lt;code&gt;What else rings?&lt;/code&gt; follow-on underneath, so the one-string and instrument-response views live in the same place instead of pretending to be separate tools.&lt;/p&gt;
&lt;h2 id=&quot;meta-analysis&quot;&gt;Meta Analysis&lt;/h2&gt;
&lt;p&gt;I also added a generated &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;Meta Analysis&lt;/a&gt; page for the site itself.&lt;/p&gt;
&lt;p&gt;This is the archive turned inside out a bit. It tracks things like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;post growth over time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;tag&lt;/a&gt; and &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;category&lt;/a&gt; usage&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;word counts&lt;/a&gt; and &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;phrase frequency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;images&lt;/a&gt;, &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;links&lt;/a&gt; and &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;media density&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;metadata coverage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/MetaAnalysis.html&quot;&gt;outliers&lt;/a&gt; and structural weirdness&lt;/li&gt;
&lt;li&gt;which &lt;a href=&quot;/MetaAnalysis.html&quot;&gt;tags&lt;/a&gt; skew more positive or negative than others&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So if you have ever wanted a page that says &quot;apparently more images strongly tends to mean more words on this site&quot; or &quot;here is objective evidence that my taxonomy drifted over time&quot;, that now exists too.&lt;/p&gt;
&lt;h2 id=&quot;cursor-scaling&quot;&gt;Cursor Scaling&lt;/h2&gt;
&lt;p&gt;I also turned the old mouse CPI transfer write-up into an actual &lt;a href=&quot;/CursorScaling.html&quot;&gt;Cursor Scaling&lt;/a&gt; app instead of leaving the idea trapped in an old article with an inline calculator.&lt;/p&gt;
&lt;p&gt;It gives that idea a proper tool:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;source and destination display comparison&lt;/li&gt;
&lt;li&gt;UI scaling awareness instead of pretending raw panel pixels are the whole story&lt;/li&gt;
&lt;li&gt;destination CPI recommendations&lt;/li&gt;
&lt;li&gt;physical cursor-travel comparison instead of just pixel-count handwaving&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The older post still exists as the explanation, but if you just want the tool, the app is the better entry point now.&lt;/p&gt;
&lt;h2 id=&quot;latency&quot;&gt;Latency&lt;/h2&gt;
&lt;p&gt;I also added &lt;a href=&quot;/Latency.html&quot;&gt;Latency&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It pulls the practical pieces together:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;manual path math for buffers, plugin delay, and heard total&lt;/li&gt;
&lt;li&gt;beat-relative timing translation instead of raw milliseconds only&lt;/li&gt;
&lt;li&gt;a hideable browser-report section that asks Web Audio what the current output path reports&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That browser report is kept separate from the manual model on purpose. It is useful as a browser-side sanity check, not as a fake DAW latency detector.&lt;/p&gt;
&lt;h2 id=&quot;daw-chart&quot;&gt;DAW Chart&lt;/h2&gt;
&lt;p&gt;I also finished the rebuilt &lt;a href=&quot;/DAW-Chart.html&quot;&gt;DAW Chart&lt;/a&gt; and made it the only DAW chart page that matters.&lt;/p&gt;
&lt;p&gt;The old numbered prototype split was useful while I was iterating on it, but it had become clutter.&lt;/p&gt;
&lt;p&gt;The current page combines the useful parts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;live profile weighting&lt;/li&gt;
&lt;li&gt;inline matrix editing&lt;/li&gt;
&lt;li&gt;sticky edit controls that stay usable during long-scroll edits&lt;/li&gt;
&lt;li&gt;synchronized EDN text export&lt;/li&gt;
&lt;li&gt;cleaner mobile and desktop behavior while swapping edit modes&lt;/li&gt;
&lt;li&gt;a single canonical &lt;a href=&quot;/DAW-Chart.html&quot;&gt;DAW Chart&lt;/a&gt; URL instead of three competing versions&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;what-did-not-change&quot;&gt;What did not change?&lt;/h1&gt;
&lt;p&gt;The content is still the content.&lt;/p&gt;
&lt;p&gt;This is not a strategic pivot into lifestyle branding or some other horrible fate. All of the same posts, pages and strange side projects are still here. The goal was to modernize the presentation and reduce friction, not to sand off the personality of the site.&lt;/p&gt;
&lt;h1 id=&quot;what-else-changed&quot;&gt;What else changed?&lt;/h1&gt;
&lt;p&gt;That&apos;s to come. If you recall all my issues with jekyll then you might wonder what insane thing I did to overcome such an issue.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5 years to redesign the site.&lt;/li&gt;
&lt;li&gt;Too many additional hours to fix the consequences of redesigning the site.&lt;/li&gt;
&lt;li&gt;Several days to rework the document heading system without making long posts worse.&lt;/li&gt;
&lt;li&gt;3.5 hours to write this update.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Wed, 01 Apr 2026 09:42:00 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/general/2026/04/01/Site-Update-Again.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2026/04/01/Site-Update-Again.html</guid>
        <category>updates</category>
        <category>general</category>
      </item>
      <item>
        <title>Health Update - CMS</title>
        <description>&lt;p&gt;I have a new diagnosis: &lt;a href=&quot;https://en.wikipedia.org/wiki/Congenital_myasthenic_syndrome&quot;&gt;Congenital Myasthenic Syndrome&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&apos;ve never dealt with a &lt;a href=&quot;https://en.wikipedia.org/wiki/Rare_disease&quot;&gt;rare disease&lt;/a&gt; workup, the basic shape is this:&lt;/p&gt;
&lt;p&gt;You do not usually begin with the answer.&lt;/p&gt;
&lt;p&gt;You begin with whatever part of the problem is loudest, or most measurable, or most dangerous &lt;em&gt;that year&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Then you accumulate tests, labels, specialists, medications, partial explanations and an increasingly baroque understanding of your own body until eventually some poor doctor or genetic report stumbles into the piece that makes the prior decade read like a coherent paragraph instead of a filing cabinet that was dropped down some stairs.&lt;/p&gt;
&lt;!--more--&gt;
&lt;p&gt;That is more or less what happened here.&lt;/p&gt;
&lt;p&gt;If you want the previous context, the relevant things are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/general/2018/06/09/Lets-talk-about-me-and-my-future.html&quot;&gt;Let&apos;s Talk About Me and My Future&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/general/2019/09/06/More-Health.html&quot;&gt;More Health&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/general/2021/01/30/Health.html&quot;&gt;Health&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#short-version&quot; id=&quot;markdown-toc-short-version&quot;&gt;Short version&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-journey&quot; id=&quot;markdown-toc-the-journey&quot;&gt;The journey&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#then-the-neuropathies-showed-up-on-paper&quot; id=&quot;markdown-toc-then-the-neuropathies-showed-up-on-paper&quot;&gt;Then the neuropathies showed up on paper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#so-what-was-wrong-then&quot; id=&quot;markdown-toc-so-what-was-wrong-then&quot;&gt;So what was wrong then?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#why-cms-makes-sense&quot; id=&quot;markdown-toc-why-cms-makes-sense&quot;&gt;Why CMS makes sense&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#how-cms-gets-diagnosed&quot; id=&quot;markdown-toc-how-cms-gets-diagnosed&quot;&gt;How CMS gets diagnosed&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#the-this-looks-like-myasthenia-path&quot; id=&quot;markdown-toc-the-this-looks-like-myasthenia-path&quot;&gt;The &quot;this looks like myasthenia&quot; path&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-seronegative-and-confusing-path&quot; id=&quot;markdown-toc-the-seronegative-and-confusing-path&quot;&gt;The &quot;seronegative and confusing&quot; path&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-it-has-been-there-forever-path&quot; id=&quot;markdown-toc-the-it-has-been-there-forever-path&quot;&gt;The &quot;it has been there forever&quot; path&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-genetics-path&quot; id=&quot;markdown-toc-the-genetics-path&quot;&gt;The genetics path&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-other-tests-were-real-but-not-final-path&quot; id=&quot;markdown-toc-the-other-tests-were-real-but-not-final-path&quot;&gt;The &quot;other tests were real, but not final&quot; path&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#what-is-still-true&quot; id=&quot;markdown-toc-what-is-still-true&quot;&gt;What is still true&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#treatment-now&quot; id=&quot;markdown-toc-treatment-now&quot;&gt;Treatment now&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-process&quot; id=&quot;markdown-toc-the-process&quot;&gt;The process&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;short-version&quot;&gt;Short version&lt;/h1&gt;
&lt;p&gt;For years I had a story that looked something like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I &lt;a href=&quot;https://en.wikipedia.org/wiki/Syncope_(medicine)&quot;&gt;fainted&lt;/a&gt; and developed obvious &lt;a href=&quot;https://en.wikipedia.org/wiki/Autonomic_nervous_system&quot;&gt;autonomic nervous system&lt;/a&gt; problems.&lt;/li&gt;
&lt;li&gt;I collected a variety of positive tests for &lt;a href=&quot;https://en.wikipedia.org/wiki/Neuropathy&quot;&gt;neuropathic&lt;/a&gt; disease.&lt;/li&gt;
&lt;li&gt;I accumulated more weakness, more falls, more hand problems, more breathing weirdness, more &lt;a href=&quot;https://en.wikipedia.org/wiki/Foot_drop&quot;&gt;foot drop&lt;/a&gt;, more fatigue and more &quot;what exactly is &lt;em&gt;that&lt;/em&gt;?&quot; type symptoms.&lt;/li&gt;
&lt;li&gt;I received diagnoses that explained parts of the problem, but did not quite explain the whole shape of the thing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now I have a diagnosis that makes a great deal more sense of the weakness and fatigability side of my life:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Congenital_myasthenic_syndrome&quot;&gt;Congenital Myasthenic Syndrome&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;the-journey&quot;&gt;The journey&lt;/h1&gt;
&lt;p&gt;The thing that I think healthy people, and frankly a lot of doctors, underestimate is how normal it is for rare disease discovery to look messy in retrospect.&lt;/p&gt;
&lt;p&gt;The tests are not necessarily wrong.&lt;/p&gt;
&lt;p&gt;The doctors are not necessarily missing something obvious.&lt;/p&gt;
&lt;p&gt;The symptoms are not necessarily unrelated.&lt;/p&gt;
&lt;p&gt;What happens instead is that you find the parts of the elephant that available tools can currently detect, and then you name those parts. If this sounds like &lt;a href=&quot;https://en.wikipedia.org/wiki/Blind_men_and_an_elephant&quot;&gt;the blind men and the elephant&lt;/a&gt;, that is because it pretty much is. If the trunk is what you can feel first, congratulations, you now have a trunk diagnosis. If the tail shows up three years later, you get a tail diagnosis. Eventually someone has to stand back and admit that perhaps an elephant has been ruining your life.&lt;/p&gt;
&lt;p&gt;Back in &lt;a href=&quot;/general/2018/06/09/Lets-talk-about-me-and-my-future.html&quot;&gt;2009&lt;/a&gt;, I had the fainting episode that kicked off the long medical saga. I passed out, smashed my face, was initially misread in the ER, passed out again during orthostatic testing, and eventually got moved through the conveyor belt of doctors and tests. At the time, the working explanation that rose to the top was &lt;a href=&quot;https://en.wikipedia.org/wiki/Pure_autonomic_failure&quot;&gt;Pure Autonomic Failure&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That was not an insane conclusion given what was visible then:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;low blood pressure&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Orthostatic_hypotension&quot;&gt;orthostatic hypotension&lt;/a&gt; - blood pressure dropping when I stood up&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bradycardia&quot;&gt;bradycardia&lt;/a&gt; - heart rate that likes to idle suspiciously low&lt;/li&gt;
&lt;li&gt;fainting&lt;/li&gt;
&lt;li&gt;fatigue&lt;/li&gt;
&lt;li&gt;panic-like autonomic events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As I wrote later on the &lt;a href=&quot;/health/&quot;&gt;Health page&lt;/a&gt;, the autonomic symptoms were real and objective. &lt;a href=&quot;https://en.wikipedia.org/wiki/Tilt_table_test&quot;&gt;Tilt-table testing&lt;/a&gt; was positive. Years later &lt;a href=&quot;https://en.wikipedia.org/wiki/Sudomotor&quot;&gt;QSART&lt;/a&gt; was positive. The autonomic progression was real and documented over time.&lt;/p&gt;
&lt;p&gt;That is, in retrospect, exactly the sort of thing that can happen in a rare disease journey.&lt;/p&gt;
&lt;p&gt;You catch a real part of the problem first.&lt;/p&gt;
&lt;p&gt;You name it correctly enough to be useful.&lt;/p&gt;
&lt;p&gt;Then the rest of the body keeps misbehaving.&lt;/p&gt;
&lt;h1 id=&quot;then-the-neuropathies-showed-up-on-paper&quot;&gt;Then the neuropathies showed up on paper&lt;/h1&gt;
&lt;p&gt;As I wrote in &lt;a href=&quot;/general/2019/09/06/More-Health.html&quot;&gt;More Health&lt;/a&gt; and then in much more detail on &lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt;, I eventually got the sort of objective results that I had wanted for years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Small_fiber_peripheral_neuropathy&quot;&gt;small fiber neuropathy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Autonomic_neuropathy&quot;&gt;autonomic neuropathy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;later &lt;a href=&quot;https://en.wikipedia.org/wiki/Peripheral_neuropathy&quot;&gt;large fiber neuropathy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That part is still true.&lt;/p&gt;
&lt;p&gt;I still have neuropathies.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Skin_biopsy&quot;&gt;skin biopsy&lt;/a&gt; was positive. The autonomic testing was positive. The later &lt;a href=&quot;https://en.wikipedia.org/wiki/Electromyography&quot;&gt;NCS/EMG&lt;/a&gt; was positive. The symptoms attached to those findings were not subtle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;weird sensations&lt;/li&gt;
&lt;li&gt;burning pain&lt;/li&gt;
&lt;li&gt;reduced sensation&lt;/li&gt;
&lt;li&gt;dropping things&lt;/li&gt;
&lt;li&gt;balance problems&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gait&quot;&gt;gait&lt;/a&gt; problems&lt;/li&gt;
&lt;li&gt;foot drop&lt;/li&gt;
&lt;li&gt;falls&lt;/li&gt;
&lt;li&gt;increasingly obvious hand dysfunction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That part of the story also fits the rare disease pattern depressingly well.&lt;/p&gt;
&lt;p&gt;An early &lt;a href=&quot;https://en.wikipedia.org/wiki/Electromyography&quot;&gt;NCS/EMG&lt;/a&gt; was inconclusive. A later one was also not definitive enough. Then later still it became clearly abnormal. That is not especially shocking when the disease process is progressive, patchy, or simply not pronounced enough in the right place at the right time to satisfy the test.&lt;/p&gt;
&lt;p&gt;People often imagine tests as magical truth machines. In reality, they are more like awkward interviews with a witness who only saw the side of the car.&lt;/p&gt;
&lt;p&gt;The skin biopsy saw something.
Autonomic testing saw something.
Later electrodiagnostics saw something.&lt;/p&gt;
&lt;p&gt;All of those somethings were real.&lt;/p&gt;
&lt;h1 id=&quot;so-what-was-wrong-then&quot;&gt;So what was wrong then?&lt;/h1&gt;
&lt;p&gt;I think the best way to put it is:&lt;/p&gt;
&lt;p&gt;The previous diagnoses explained slices of the problem, but not the whole shape, and some of the slices naturally pulled attention away from the layer that was harder to see.&lt;/p&gt;
&lt;p&gt;The one that I have distrusted the most for years is &lt;a href=&quot;https://en.wikipedia.org/wiki/Fibromyalgia&quot;&gt;Fibromyalgia&lt;/a&gt;. I said so rather directly in &lt;a href=&quot;/general/2018/06/09/Lets-talk-about-me-and-my-future.html&quot;&gt;Let&apos;s Talk About Me and My Future&lt;/a&gt; and even more directly in &lt;a href=&quot;/general/2019/09/06/More-Health.html&quot;&gt;More Health&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fibro always felt like a bucket that symptoms were dropped into because no one yet had the right bucket in the room.&lt;/p&gt;
&lt;p&gt;It may have been a reasonable attempt to classify the pain experience at the time, but it did not feel like a satisfying explanation to me then, and it feels even less satisfying now.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pure_autonomic_failure&quot;&gt;Pure Autonomic Failure&lt;/a&gt; is trickier.&lt;/p&gt;
&lt;p&gt;I do not think that was necessarily an absurd diagnosis. It fit a huge amount of what was visible early on. But as the years rolled on, it increasingly looked like an incomplete diagnosis rather than a complete one. It told part of the story and then stood there awkwardly while the rest of the story wandered in carrying foot drop, &lt;a href=&quot;https://en.wikipedia.org/wiki/Ptosis_(eyelid)&quot;&gt;ptosis&lt;/a&gt;, breathing weirdness and muscle fatigability.&lt;/p&gt;
&lt;p&gt;This is another very normal rare-disease problem: once you have a diagnosis that explains the major early findings, there is a natural tendency to route future weirdness through that diagnosis until the weirdness becomes too weird even for that.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Panic_disorder&quot;&gt;Panic Disorder&lt;/a&gt; is also a funny one.&lt;/p&gt;
&lt;p&gt;I still think the events I described are real. I also still think many of them were not &quot;classic panic disorder&quot; in the way people usually mean it. I wrote before that they felt more like autonomic attacks than fear-driven episodes. I still think that was basically right.&lt;/p&gt;
&lt;p&gt;What I suspect now is that some things that looked psychiatric, or looked &quot;autonomic and weird&quot;, were actually downstream of a neuromuscular problem that had not yet been properly named.&lt;/p&gt;
&lt;h1 id=&quot;why-cms-makes-sense&quot;&gt;Why CMS makes sense&lt;/h1&gt;
&lt;p&gt;The part of my health story that never felt elegantly explained was the fatigable weakness.&lt;/p&gt;
&lt;p&gt;Not pain.&lt;/p&gt;
&lt;p&gt;Not sensory weirdness.&lt;/p&gt;
&lt;p&gt;Not blood pressure doing a little vaudeville routine every time I stood up.&lt;/p&gt;
&lt;p&gt;The weakness.&lt;/p&gt;
&lt;p&gt;The &quot;I can do this until suddenly I can&apos;t&quot; part.&lt;/p&gt;
&lt;p&gt;The &quot;my hands stop being useful&quot;, &quot;my feet don&apos;t do what I intend&quot;, &quot;my eyelid is doing a bad impression of gravity&quot;, &quot;breathing feels mechanically stupid&quot;, &quot;everything works until use enters the chat&quot; part.&lt;/p&gt;
&lt;p&gt;Looking back through what I wrote on &lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt;, those pieces were sitting there the whole time:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ptosis&lt;/li&gt;
&lt;li&gt;weakness&lt;/li&gt;
&lt;li&gt;foot drop&lt;/li&gt;
&lt;li&gt;falls&lt;/li&gt;
&lt;li&gt;hand fatigue&lt;/li&gt;
&lt;li&gt;dropping objects&lt;/li&gt;
&lt;li&gt;reduced tolerance for drumming / bass / guitar&lt;/li&gt;
&lt;li&gt;typing failure&lt;/li&gt;
&lt;li&gt;movement stuttering&lt;/li&gt;
&lt;li&gt;breathing that feels like it is happening in the wrong direction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That cluster of problems reads differently now.&lt;/p&gt;
&lt;p&gt;It reads much more like a &lt;a href=&quot;https://en.wikipedia.org/wiki/Neuromuscular_junction&quot;&gt;neuromuscular junction&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Neuromuscular_junction#Transmission&quot;&gt;neuromuscular transmission&lt;/a&gt; problem than a vague byproduct of pain, stress, or me having the sort of luck that would make a statistician sit down quietly.&lt;/p&gt;
&lt;p&gt;For readers who are unfamiliar: CMS is not the same thing as &lt;a href=&quot;https://en.wikipedia.org/wiki/Myasthenia_gravis&quot;&gt;myasthenia gravis&lt;/a&gt;, though the two can look similar from the outside. CMS is a group of inherited disorders that affect how nerve signals get translated into muscle action. In plain English: the message gets sent, but the muscle does not receive or respond to it normally.&lt;/p&gt;
&lt;p&gt;That also helps explain how the process can be misleading.&lt;/p&gt;
&lt;p&gt;If you do the wrong test at the wrong time, or test the wrong muscle group, or catch me on the wrong day, you may see nothing impressive.&lt;/p&gt;
&lt;p&gt;If you focus on the sensory findings, you will build a sensory story.&lt;/p&gt;
&lt;p&gt;If you focus on the autonomic findings, you will build an autonomic story.&lt;/p&gt;
&lt;p&gt;If you focus on the pain, you may build a fibro story.&lt;/p&gt;
&lt;p&gt;If you step back and look at the long arc of fluctuating weakness, ptosis, breathing oddities, hand failure, foot drop, falls and task-related exhaustion, then CMS starts to look less like a surprise and more like the thing that was patiently waiting for the rest of the paperwork to stop talking.&lt;/p&gt;
&lt;h1 id=&quot;how-cms-gets-diagnosed&quot;&gt;How CMS gets diagnosed&lt;/h1&gt;
&lt;p&gt;One of the annoying things about CMS is that there is not just one neat little conveyor belt into the diagnosis.&lt;/p&gt;
&lt;p&gt;There are a few common paths.&lt;/p&gt;
&lt;h2 id=&quot;the-this-looks-like-myasthenia-path&quot;&gt;The &quot;this looks like myasthenia&quot; path&lt;/h2&gt;
&lt;p&gt;Some people get to CMS because they look like they have &lt;a href=&quot;https://en.wikipedia.org/wiki/Myasthenia_gravis&quot;&gt;myasthenia gravis&lt;/a&gt;, especially if there is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fatigable weakness&lt;/li&gt;
&lt;li&gt;ptosis&lt;/li&gt;
&lt;li&gt;facial or &lt;a href=&quot;https://en.wikipedia.org/wiki/Bulbar_palsy&quot;&gt;bulbar&lt;/a&gt; involvement&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Exercise_intolerance&quot;&gt;exercise intolerance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;fluctuating symptoms&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then the workup starts going in that direction:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;neurologic exam&lt;/li&gt;
&lt;li&gt;electrodiagnostic testing such as &lt;a href=&quot;https://en.wikipedia.org/wiki/Repetitive_nerve_stimulation&quot;&gt;repetitive nerve stimulation&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Electromyography#Single-fiber_electromyography&quot;&gt;single-fiber EMG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;antibody testing looking for the more common autoimmune forms of myasthenia&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the clinical picture looks myasthenic, but the usual autoimmune story does not quite fit, CMS starts to become more interesting.&lt;/p&gt;
&lt;h2 id=&quot;the-seronegative-and-confusing-path&quot;&gt;The &quot;seronegative and confusing&quot; path&lt;/h2&gt;
&lt;p&gt;Some people get there because they spend a long time living in the land of &quot;probably but not quite&quot;.&lt;/p&gt;
&lt;p&gt;The symptoms look neuromuscular.
The standard explanation does not hold together.
The antibodies are negative.
The test results are suggestive, partial, inconsistent, or only abnormal in the right muscles on the right day.&lt;/p&gt;
&lt;p&gt;That is where a lot of rare disease workups live for a while.&lt;/p&gt;
&lt;p&gt;Not wrong enough to be dismissed.
Not clean enough to be satisfying.&lt;/p&gt;
&lt;h2 id=&quot;the-it-has-been-there-forever-path&quot;&gt;The &quot;it has been there forever&quot; path&lt;/h2&gt;
&lt;p&gt;Some people get diagnosed because the history itself is loud:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;symptoms from childhood&lt;/li&gt;
&lt;li&gt;unusual motor development&lt;/li&gt;
&lt;li&gt;lifelong fatigability&lt;/li&gt;
&lt;li&gt;family history&lt;/li&gt;
&lt;li&gt;a pattern that very clearly predates adult illness or injury&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In those cases the question becomes less &quot;what new thing happened?&quot; and more &quot;what old thing finally got named properly?&quot;&lt;/p&gt;
&lt;p&gt;I had some of that as well.&lt;/p&gt;
&lt;p&gt;Not in the cinematic epiphany sense.&lt;/p&gt;
&lt;p&gt;More in the dull bureaucratic sense.&lt;/p&gt;
&lt;p&gt;Things like abnormal gait, hand weakness, especially during handwriting classes, and frequent tripping were noted when I was young in the sort of administrative places that adults tend to bury meaningful observations, such as report cards. The gait differences were noticeable enough that I was occasionally made fun of for them.&lt;/p&gt;
&lt;p&gt;That is another way rare diseases slide by for years. The symptoms are there, but they are interpreted as awkwardness, poor coordination, lack of stamina, or just &quot;one of those things&quot;. Then decades later you look back and realize that a bunch of ordinary school paperwork was quietly documenting the early shape of the disease.&lt;/p&gt;
&lt;h2 id=&quot;the-genetics-path&quot;&gt;The genetics path&lt;/h2&gt;
&lt;p&gt;Ultimately CMS is usually confirmed through &lt;a href=&quot;https://en.wikipedia.org/wiki/Genetic_testing&quot;&gt;genetic testing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;How you get to the genetic test varies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a targeted neuromuscular panel&lt;/li&gt;
&lt;li&gt;a focused CMS panel&lt;/li&gt;
&lt;li&gt;broader neuropathy or neuromuscular panels&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Exome_sequencing&quot;&gt;whole exome sequencing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Whole_genome_sequencing&quot;&gt;whole genome sequencing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sometimes the diagnosis is suspected first and then confirmed genetically.
Sometimes the genetics are what drag the diagnosis into the room by the collar.&lt;/p&gt;
&lt;p&gt;In my case, it was a nerve panel genetics test.&lt;/p&gt;
&lt;p&gt;And because apparently the universe prefers farce to efficiency, the positive result effectively sat in limbo for about 2 years.&lt;/p&gt;
&lt;p&gt;My neurologist had medical issues of his own and was out for a long period. In the interim, another neurologist saw me and somehow missed that the panel had already come back positive.&lt;/p&gt;
&lt;p&gt;So the answer was, in a very literal sense, already in the chart while everyone continued acting like the chart might someday become useful.&lt;/p&gt;
&lt;p&gt;After that result was actually recognized, I had another EMG and that test was positive as well.&lt;/p&gt;
&lt;p&gt;More specifically, I had &lt;a href=&quot;https://en.wikipedia.org/wiki/Presynaptic_membrane&quot;&gt;presynaptic&lt;/a&gt; results on the repetitive EMG testing.&lt;/p&gt;
&lt;p&gt;In plain English: the problem pattern looked like the nerve ending was not handling transmission to the muscle normally. That does not mean &quot;the nerve is dead&quot; or &quot;the muscle is dead&quot;. It means the signaling across the junction is impaired in a way that fits a presynaptic neuromuscular transmission defect.&lt;/p&gt;
&lt;p&gt;That matters because it lines up much better with the CMS story than a vague &quot;well, something is off I guess&quot; sort of result.&lt;/p&gt;
&lt;p&gt;That sequence is irritating, but it is also a good example of how rare disease diagnosis can fail for very ordinary reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the right test was ordered&lt;/li&gt;
&lt;li&gt;the test actually found something&lt;/li&gt;
&lt;li&gt;the result did not get integrated into the active story quickly enough&lt;/li&gt;
&lt;li&gt;more time passed&lt;/li&gt;
&lt;li&gt;then the next layer of testing finally lined up with the thing that had already been sitting there&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-other-tests-were-real-but-not-final-path&quot;&gt;The &quot;other tests were real, but not final&quot; path&lt;/h2&gt;
&lt;p&gt;This is the one that feels relevant to my story.&lt;/p&gt;
&lt;p&gt;You can have other real abnormalities.&lt;/p&gt;
&lt;p&gt;You can have autonomic abnormalities.
You can have neuropathic abnormalities.
You can have abnormal electrodiagnostics.
You can have years of specialists all identifying real things.&lt;/p&gt;
&lt;p&gt;And yet still not have the &lt;em&gt;central&lt;/em&gt; diagnosis.&lt;/p&gt;
&lt;p&gt;That is part of why rare diseases are such a nuisance. You do not always get one elegant false lead and then one elegant correct answer. Sometimes you get several true things, one missing thing, and a great deal of confusion created by the order in which they were discovered.&lt;/p&gt;
&lt;h1 id=&quot;what-is-still-true&quot;&gt;What is still true&lt;/h1&gt;
&lt;p&gt;I still have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;autonomic problems&lt;/li&gt;
&lt;li&gt;neuropathies&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Migraine&quot;&gt;migraines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Cluster_headache&quot;&gt;cluster headaches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;gait and mobility problems&lt;/li&gt;
&lt;li&gt;hand dysfunction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is not one of those tidy stories where a doctor arrives with perfect timing and says:&lt;/p&gt;
&lt;p&gt;&quot;Actually, good news, all prior suffering was administrative.&quot;&lt;/p&gt;
&lt;p&gt;No.&lt;/p&gt;
&lt;p&gt;It is more like:&lt;/p&gt;
&lt;p&gt;&quot;You had multiple real findings, some early labels that were reasonable for the evidence available at the time, a handful of misleading dead ends, and one central explanatory piece that took far too long to identify.&quot;&lt;/p&gt;
&lt;p&gt;That missing piece appears to have been CMS.&lt;/p&gt;
&lt;h1 id=&quot;treatment-now&quot;&gt;Treatment now&lt;/h1&gt;
&lt;p&gt;Currently I am taking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Amifampridine&quot;&gt;Firdapse&lt;/a&gt; - helps improve neuromuscular transmission&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pyridostigmine&quot;&gt;Mestinon&lt;/a&gt; - also intended to improve signal transmission at the neuromuscular junction&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Salbutamol&quot;&gt;Albuterol&lt;/a&gt; - yes, the asthma medication; some CMS subtypes benefit from it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I am also still taking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Galcanezumab&quot;&gt;Emgality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Rimegepant&quot;&gt;Nurtec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Rizatriptan&quot;&gt;Maxalt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And I still rely on the non-drug things I&apos;ve written about on &lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ankle-foot_orthosis&quot;&gt;AFO&lt;/a&gt; braces&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Assistive_cane&quot;&gt;cane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Speech_recognition&quot;&gt;speech to text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;environmental and workflow adjustments&lt;/li&gt;
&lt;li&gt;diet changes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The broad shape of my life has not changed.&lt;/p&gt;
&lt;p&gt;The explanatory model has changed.&lt;/p&gt;
&lt;p&gt;And frankly, after years of this, that matters a lot.&lt;/p&gt;
&lt;h1 id=&quot;the-process&quot;&gt;The process&lt;/h1&gt;
&lt;p&gt;It is difficult to explain how annoying a long diagnostic journey is without sounding melodramatic.&lt;/p&gt;
&lt;p&gt;You begin with optimism.&lt;/p&gt;
&lt;p&gt;Then you become &quot;well-informed&quot;.&lt;/p&gt;
&lt;p&gt;Then &quot;well-informed&quot; turns into &quot;annoying&quot;.&lt;/p&gt;
&lt;p&gt;Then &quot;annoying&quot; turns into someone who can smell an exclusionary diagnosis before the clipboard even hits the exam room door.&lt;/p&gt;
&lt;p&gt;Then you accumulate binders, scans, studies, failed medications, positive tests, negative tests, and doctors who are either helpful, incurious, overworked, brilliant, dismissive, unlucky, or all six in a single appointment.&lt;/p&gt;
&lt;p&gt;Somewhere in there your life keeps happening.&lt;/p&gt;
&lt;p&gt;Bills still exist.
Gravity still exists.
Shoelaces still exist.
Computers still need to be operated.
You still have to figure out how to not eat the wrong thing, not fall down the stairs, not trigger a migraine, not have a panic-like event in public, not miskey every third word, and not drop a glass because your hand has decided that ownership is a fluid concept.&lt;/p&gt;
&lt;p&gt;That is the part that medical timelines usually leave out.&lt;/p&gt;
&lt;p&gt;The timeline is not:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;symptom&lt;/li&gt;
&lt;li&gt;doctor&lt;/li&gt;
&lt;li&gt;answer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The real timeline is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;symptom&lt;/li&gt;
&lt;li&gt;symptom&lt;/li&gt;
&lt;li&gt;weird symptom&lt;/li&gt;
&lt;li&gt;funny symptom that becomes unfunny&lt;/li&gt;
&lt;li&gt;doctor&lt;/li&gt;
&lt;li&gt;test&lt;/li&gt;
&lt;li&gt;bad explanation&lt;/li&gt;
&lt;li&gt;work around it&lt;/li&gt;
&lt;li&gt;more symptoms&lt;/li&gt;
&lt;li&gt;another test&lt;/li&gt;
&lt;li&gt;some hope&lt;/li&gt;
&lt;li&gt;no, not that&lt;/li&gt;
&lt;li&gt;another medication&lt;/li&gt;
&lt;li&gt;side effects&lt;/li&gt;
&lt;li&gt;another year&lt;/li&gt;
&lt;li&gt;another adaptation&lt;/li&gt;
&lt;li&gt;another explanation that is almost right&lt;/li&gt;
&lt;li&gt;and then, eventually, something that seems to fit the actual shape of your life&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;many years to earn&lt;/li&gt;
&lt;li&gt;2 hours to write&lt;/li&gt;
&lt;li&gt;significantly longer to live through&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 26 Mar 2026 11:48:00 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/general/2026/03/26/Health-Update-CMS.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2026/03/26/Health-Update-CMS.html</guid>
        <category>health</category>
        <category>general</category>
      </item>
      <item>
        <title>Long time no see</title>
        <description>&lt;p&gt;Just a small update so my readers know why I haven&apos;t written much in the last 2 months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Exhaustion - Working 8-10 hours a day writing software and documentation means that my physical ability to continue writing on my website is diminished.
&lt;ul&gt;
&lt;li&gt;I use speech to text most of the day, and after 7-10 hours I&apos;m already mentally &lt;em&gt;and orally&lt;/em&gt; fatigued from the process. I need to switch my mental process to something else.&lt;/li&gt;
&lt;li&gt;Simply sitting in front of a computer all day curtails my appetite for engaging with a computer screen in my off hours.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Software - I was unable to build and deploy this site for 6 weeks because of a dependency issue with &lt;a href=&quot;https://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt; on my system. I spent nearly 30 hours trying to figure it out, including attempting to completely nuke ruby from my system. Demoralizing and vexing.
&lt;ul&gt;
&lt;li&gt;I &lt;strong&gt;STILL&lt;/strong&gt; don&apos;t know what&apos;s wrong. I&apos;m on a new computer that seems to work.
&lt;ul&gt;
&lt;li&gt;Not being able to properly write on the same system that I do most of my music/hobby work on makes it difficult to stay motivated to write new content.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pneumonia - I spent this last 2 weeks (one of which was supposed to be my vacation!) with bacterial pneumonia. As of this post it is still not fully cleared.
&lt;ul&gt;
&lt;li&gt;I suggest against having pneumonia. It is &lt;em&gt;quite&lt;/em&gt; unpleasant.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Disenchantment - Not burnout, I still love toying around with audio software, taking notes, testing etc... However, my desire to publish my thoughts to the public has been atrophied. It&apos;s a combination of oral fatigue, nasty e-mails, shrinking communities (or moving to new platforms?) and a more fulfilling dayjob.
&lt;ul&gt;
&lt;li&gt;I would say that 95% of this website is a result of me being bored with the work or time I spent working on audio engineering tasks. I&apos;m &lt;em&gt;not&lt;/em&gt; bored during the day anymore (and I don&apos;t work primarily on audio/music). Fulfillment happens elsewhere. The yearning to fill in the gaps with writing is nullified, I fill in the gaps as part of my daily working process now.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;It might sound silly, but the &lt;a href=&quot;https://motu.com/en-us/store/catalogue/digital-performer-11_489/#502&quot;&gt;Digital Performer 11&lt;/a&gt; update was depressing, in the literal sense. When that was released, I simply lost all interest in audio software as a concept. I&apos;ve plugged along using Logic Pro X without a single thought of &apos;software&apos;. I&apos;m not sure I&apos;ve surmounted that psychological hurdle yet. What a rubbish update, and if that&apos;s what people truly want then well...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&apos;ve been working through my thoughts to come up with an adaptation to these changes. It&apos;s a slow process, as I&apos;m continually skeptical of each supposed epiphany, conclusion or burst of motivation.&lt;/p&gt;
&lt;p&gt;That said, I still have 2 more Mixbus posts to finish :) I will be updating the site features (&lt;a href=&quot;/DAW-Chart.html&quot;&gt;DAW Chart&lt;/a&gt;, &lt;a href=&quot;/DAW-Wants.html&quot;&gt;DAW Wants&lt;/a&gt; and &lt;a href=&quot;/FreeBees.html&quot;&gt;FreeBees&lt;/a&gt;) as time and pneumonia recovery permit.&lt;/p&gt;
&lt;p&gt;Along with this post, I&apos;ve &lt;em&gt;hopefully&lt;/em&gt; fixed the issue with the header system. Interviews should display correctly.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt; page has been updated with information about my leg braces and some lifestyle changes. I&apos;ve also updated pharmaceutical information for migraines.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;30 hours to screw with Ruby, and fail.&lt;/li&gt;
&lt;li&gt;12 hours to come up with a workable solution to the header issue on interviews and long-winded topics.&lt;/li&gt;
&lt;li&gt;2 hours to update the &lt;a href=&quot;/health/&quot;&gt;Health page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3 hours to get distracted and mess with Digital Performer 11 again. It&apos;s still hooey.&lt;/li&gt;
&lt;li&gt;1.75 hours to write this.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sat, 21 Aug 2021 18:31:58 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/general/2021/08/21/Long-time-no-see.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2021/08/21/Long-time-no-see.html</guid>
        <category>general</category>
        <category>general</category>
      </item>
      <item>
        <title>4 posts with Mixbus - Recorder and TapeX</title>
        <description>&lt;p&gt;Part 2 has taken a while, but we&apos;re here, and let&apos;s go.&lt;/p&gt;
&lt;p&gt;Current using Mixbus 7.0.140&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Other parts in this series:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#midi&quot; id=&quot;markdown-toc-midi&quot;&gt;MIDI&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#screenshots&quot; id=&quot;markdown-toc-screenshots&quot;&gt;Screenshots&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#what-is-tapex&quot; id=&quot;markdown-toc-what-is-tapex&quot;&gt;What is TapeX&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#ardour&quot; id=&quot;markdown-toc-ardour&quot;&gt;Ardour&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#control-bar&quot; id=&quot;markdown-toc-control-bar&quot;&gt;Control Bar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#sequencer&quot; id=&quot;markdown-toc-sequencer&quot;&gt;Sequencer?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#sequencer-features&quot; id=&quot;markdown-toc-sequencer-features&quot;&gt;Sequencer? Features&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#automatically-resizing&quot; id=&quot;markdown-toc-automatically-resizing&quot;&gt;Automatically resizing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#input-assignment&quot; id=&quot;markdown-toc-input-assignment&quot;&gt;Input Assignment&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#meters&quot; id=&quot;markdown-toc-meters&quot;&gt;Meters&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#complaints&quot; id=&quot;markdown-toc-complaints&quot;&gt;Complaints&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#control-alignment&quot; id=&quot;markdown-toc-control-alignment&quot;&gt;Control Alignment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#waveform-style&quot; id=&quot;markdown-toc-waveform-style&quot;&gt;Waveform Style&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meter-item-spacing&quot; id=&quot;markdown-toc-meter-item-spacing&quot;&gt;Meter Item Spacing&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#meterbridge-is-superior&quot; id=&quot;markdown-toc-meterbridge-is-superior&quot;&gt;Meterbridge is Superior&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#recorder-undo&quot; id=&quot;markdown-toc-recorder-undo&quot;&gt;Recorder Undo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#inputdisk-labels-sometimes-incorrect&quot; id=&quot;markdown-toc-inputdisk-labels-sometimes-incorrect&quot;&gt;Input/Disk labels sometimes incorrect&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#input-monitoring-label&quot; id=&quot;markdown-toc-input-monitoring-label&quot;&gt;Input Monitoring Label&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#conclusion&quot; id=&quot;markdown-toc-conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#disclaimer&quot; id=&quot;markdown-toc-disclaimer&quot;&gt;Disclaimer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;midi&quot;&gt;MIDI&lt;/h1&gt;
&lt;p&gt;Note that these features below work with MIDI as well.&lt;/p&gt;
&lt;p&gt;The Input-based workflow is brilliant if you work in a MIDI-input oriented way, with minimal editing.&lt;/p&gt;
&lt;h1 id=&quot;screenshots&quot;&gt;Screenshots&lt;/h1&gt;
&lt;img src=&quot;/assets/Mixbus7/GraphicsSettings.png&quot; alt=&quot;Display Settings&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Display Settings&lt;/div&gt;
&lt;p&gt;You may notice that my screenshots, or videos online, look different than yours. That is because I have the settings checked above.&lt;/p&gt;
&lt;h1 id=&quot;what-is-tapex&quot;&gt;What is TapeX&lt;/h1&gt;
&lt;p&gt;TapeX is &lt;em&gt;not&lt;/em&gt; an emulation of the sound of tape. It&apos;s a software-based graphical user interface which attempts to mimic the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tape_recorder&quot;&gt;reel-to-reel tape machine&lt;/a&gt; workflow, and then some.&lt;/p&gt;
&lt;p&gt;TapeX is presented through the Recorder window.&lt;/p&gt;
&lt;p&gt;You get:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A control bar
&lt;ul&gt;
&lt;li&gt;Discard last take&lt;/li&gt;
&lt;li&gt;Arm Tracks
&lt;ul&gt;
&lt;li&gt;All&lt;/li&gt;
&lt;li&gt;None&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Auto-input selection&lt;/li&gt;
&lt;li&gt;All-in toggle&lt;/li&gt;
&lt;li&gt;All-disk toggle&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A compact overview of the project in linear sequencer format.
&lt;ul&gt;
&lt;li&gt;Record Arm Toggle&lt;/li&gt;
&lt;li&gt;Input selection&lt;/li&gt;
&lt;li&gt;Playlist selection&lt;/li&gt;
&lt;li&gt;Track Name&lt;/li&gt;
&lt;li&gt;Monitoring toggles - both can be enabled at the same time.
&lt;ul&gt;
&lt;li&gt;&quot;In&quot; is the raw input&lt;/li&gt;
&lt;li&gt;&quot;Disk&quot; is the content already on the track.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track Number&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Quick Track add&lt;/li&gt;
&lt;li&gt;A compact set of meters for I/O (&lt;em&gt;not&lt;/em&gt; for tracks!)
&lt;ul&gt;
&lt;li&gt;Horizontally or Vertically oriented - Vertical orientation displays more meters in most scenarios, but horizontal orientation is likely easier to follow the meters for the average user.&lt;/li&gt;
&lt;li&gt;VU/Peak meter
&lt;ul&gt;
&lt;li&gt;The only setting I see for these is &lt;code&gt;Preferences-&amp;gt;Metering-&amp;gt;DPM fall-off&lt;/code&gt;. The other settings do not current appear to change the TapeX meter behaviours.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Show connected tracks&lt;/li&gt;
&lt;li&gt;Add track connected to this input&lt;/li&gt;
&lt;li&gt;Pre-fader listen - A solo for when using Mixbus&apos;s Monitor section.&lt;/li&gt;
&lt;li&gt;Input Name - This is saved across sessions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The sequencer area and meters deserve more coverage.&lt;/p&gt;
&lt;h2 id=&quot;ardour&quot;&gt;Ardour&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://ardour.org/whatsnew.html&quot;&gt;Ardour 6.7&lt;/a&gt; has the Recorder window, and it does not appear to differ from TapeX as presented. I might be missing something as I&apos;ve only spent 2 days with Ardour 6.7.&lt;/p&gt;
&lt;p&gt;If I am corrected or discover some differences then I will update this section.&lt;/p&gt;
&lt;h2 id=&quot;control-bar&quot;&gt;Control Bar&lt;/h2&gt;
&lt;img src=&quot;/assets/Mixbus7/ControlBar.png&quot; alt=&quot;Control Bar&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Control Bar&lt;/div&gt;
&lt;p&gt;The Control Bar (as I&apos;m calling it) has some handy functions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Discard the last take - As of the current version this should be called &quot;discard most recent take&quot;. It appears to only work a single time after a recording.&lt;/li&gt;
&lt;li&gt;Time of recording - How long the current recording has taken place, or how long the most recent recording was.&lt;/li&gt;
&lt;li&gt;X-runs - Number of underruns in the most current or most recent recording. An underrun is when samples are processed more slowly than the sample rate (in buffers or chunks). The driver needs some audio to playback without a glitch, and the DAW is unable to provide it. That&apos;s an underrun. It will cause a glitch in the audio stream that, and that glitch will be heard and/or recorded to disk.&lt;/li&gt;
&lt;li&gt;Arm All Tracks for recording.&lt;/li&gt;
&lt;li&gt;Arm No Tracks for recording.&lt;/li&gt;
&lt;li&gt;All In - Set all tracks to &lt;a href=&quot;#input-monitoring-label&quot;&gt;monitor input&lt;/a&gt;. (toggle)&lt;/li&gt;
&lt;li&gt;All Disk - Set all tracks to monitor what&apos;s been recorded while the transport is active.&lt;/li&gt;
&lt;li&gt;Auto-Input - Automatically select In/Disk depending on if the track is actively recording.&lt;/li&gt;
&lt;li&gt;Disk Space - How much time you can record expressed in hours. Takes into account current bit/rate settings. This is linear, not for all record enabled tracks. 8 tracks with 1 minute of audio is 8 minutes of audio.&lt;/li&gt;
&lt;li&gt;Reset all peak markers on meters.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;sequencer&quot;&gt;Sequencer?&lt;/h2&gt;
&lt;p&gt;The top section, where what the manual calls the &quot;Tracks&quot; area and &quot;Record Timeline&quot;, is what I&apos;m calling the Sequencer.&lt;/p&gt;
&lt;p&gt;I&apos;m not certain that calling this a &quot;sequencer&quot; is appropriate. You can&apos;t sequence anything. You can&apos;t move anything. You can&apos;t edit anything.&lt;/p&gt;
&lt;p&gt;You &lt;em&gt;can&apos;t do anything but look&lt;/em&gt;, and that&apos;s the point!&lt;/p&gt;
&lt;p&gt;It&apos;s a step up beyond what you would get on a tape machine, and a large step down from what you&apos;re used to in a daw. If you need to do any editing you can head to the edit window and work on your project the same as you always have.&lt;/p&gt;
&lt;p&gt;You are likely wondering, &quot;Why? WHY DO THIS? It&apos;s so dumb.&quot; The point is that there are a number of recording scenarios where the ability to sequence or edit the project is a &lt;em&gt;disaster&lt;/em&gt;, and the primary value comes from a comprehensive overview of what is recording. The recorder view provides that safety along with the information necessary to achieve these tasks.&lt;/p&gt;
&lt;p&gt;Live recording is the prototypical task that the recorder window caters to. You want the following things from a &quot;Recorder&quot;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fast input assignment&lt;/li&gt;
&lt;li&gt;Difficult to misplace/misalign audio.&lt;/li&gt;
&lt;li&gt;Difficult to delete audio.&lt;/li&gt;
&lt;li&gt;Comprehensive input monitoring.&lt;/li&gt;
&lt;li&gt;Graphical overview of the &lt;em&gt;presence&lt;/em&gt; (not necessarily content)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are some other smaller design goals, but I see those as the major constraints in a live recording scenario. The Recorder window provides an audio recording workflow within these constraints, while still providing some niceties available in the digital world.&lt;/p&gt;
&lt;p&gt;Could they have added a &quot;lock all&quot; button to the editor? Yes.
Could they have added a &quot;shrink all tracks&quot; button to the editor? Yes.
Could they have added input assignment/track reveal to the meter bridge? Yes.
Could .... probably.&lt;/p&gt;
&lt;p&gt;I appreciate the simplicity of providing a targeted view for a set of tasks. I can only imagine the havoc it would wreak on (even advanced) users when they click that lock-all button unknowingly.&lt;/p&gt;
&lt;p&gt;Alternatively imagine the frustration for live recordists who get told, &quot;Ok, here&apos;s a great way to work live. First do A, B, C, X, Y, Z, make sure you never touch button M, re-arrange your windows to look like this, and then if you want to work normally you have to reverse all of those steps!&quot;. Gross!&lt;/p&gt;
&lt;h2 id=&quot;sequencer-features&quot;&gt;Sequencer? Features&lt;/h2&gt;
&lt;p&gt;Right click on input opens input-assignment&lt;/p&gt;
&lt;h3 id=&quot;automatically-resizing&quot;&gt;Automatically resizing&lt;/h3&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
&lt;source src=&quot;/assets/Mixbus7/AutoSize.mp4&quot; type=&quot;video/mp4&quot;&gt;
Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Automatic Resizing&lt;/div&gt;
&lt;p&gt;As you record, the blocks that represent audio in the record timeline are automatically scaled so that you &lt;em&gt;always see the full recording&lt;/em&gt;. &lt;strong&gt;THERE IS NO HORIZONTAL SCROLLBAR&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Once again this is something that &lt;em&gt;you&lt;/em&gt; might find bothersome, but there are recording scenarios where the operator doesn&apos;t want to fuss with a UI element in order to understand what&apos;s happening in their project. A simple glance is all that&apos;s necessary to see what&apos;s going on - always.&lt;/p&gt;
&lt;p&gt;I love this feature, and I wish it was the default for every DAW.&lt;/p&gt;
&lt;p&gt;Yes, you need to zoom sometimes, but a project-wide auto-zooming view is indispensable for many workflows, particularly mine.&lt;/p&gt;
&lt;h3 id=&quot;input-assignment&quot;&gt;Input Assignment&lt;/h3&gt;
&lt;p&gt;I&apos;ve discussed Mixbus&apos; input assignment &lt;a href=&quot;/music/2020/02/25/20-Mixbus-Features.html#audio-connection-manager&quot;&gt;before&lt;/a&gt;, and it plays in to any discussion about TapeX or the Recorder window.&lt;/p&gt;
&lt;p&gt;If you right click any input assignment, then you will be presented with the input assignment window. You don&apos;t get the easy-to-multi-assign benefits of its bigger full-project sibling, but it still allows you to quickly assign your input to almost anything in Mixbus.&lt;/p&gt;
&lt;p&gt;I still wish it had a search window.&lt;/p&gt;
&lt;h2 id=&quot;meters&quot;&gt;Meters&lt;/h2&gt;
&lt;img src=&quot;/assets/Mixbus7/Meter.png&quot; alt=&quot;Meters&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Meters&lt;/div&gt;
&lt;p&gt;You get as many meters that will fit on your screen in a scrollable container. These meters correspond to audio inputs external to mixbus. Each meter has the following features:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A peak meter which falloff adjustable in &lt;code&gt;Preferences-&amp;gt;Metering-&amp;gt;DPM fall-off&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The track name.&lt;/li&gt;
&lt;li&gt;Create a new track assigned to this input.&lt;/li&gt;
&lt;li&gt;Waveform meter, with temporal clipping indicator. The display window is currently non-adjustable.&lt;/li&gt;
&lt;li&gt;In the Sequencer?, show all tracks assigned to this input.&lt;/li&gt;
&lt;li&gt;Pre-fader listen, solo this input.&lt;/li&gt;
&lt;li&gt;Change the name of the input, persists across sessions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The meter section allows you to develop a workflow that&apos;s centered around &lt;em&gt;inputs&lt;/em&gt; rather than around tracks. Most DAW workflows assume that you have a track, then do backflips to learn about the input assigned to it. The recorder window starts by showing you the inputs and the operations revolve around the inputs as the audio controlling container.&lt;/p&gt;
&lt;p&gt;If your tracks outnumber your inputs, then this inversion may not make sense. Anytime there&apos;s a 1:1 mapping of inputs to tracks, or more inputs than tracks, then it makes sense to orient your workflow around the inputs.&lt;/p&gt;
&lt;p&gt;I&apos;m particularly enthused about the &quot;Show Tracks&quot; feature. Not only does it immediately tell you how many tracks are assigned to the input, a click narrows the sequencer? display down to only showing tracks assigned to that input. Clicking the button again removes the display filtering. The button turns red when you are currently narrowing so that you know which input assignments you&apos;re looking at, and that the filtering is enabled.&lt;/p&gt;
&lt;p&gt;Multiple inputs can be filtered against, so you can say something like, &quot;Which tracks are connected to my DI input and my Vocal mic input?&quot;.&lt;/p&gt;
&lt;p&gt;Fantastic feature if you have a lot of inputs.&lt;/p&gt;
&lt;h1 id=&quot;complaints&quot;&gt;Complaints&lt;/h1&gt;
&lt;h2 id=&quot;control-alignment&quot;&gt;Control Alignment&lt;/h2&gt;
&lt;img src=&quot;/assets/Mixbus7/Misalignment.png&quot; alt=&quot;Misalignment&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Misalignment&lt;/div&gt;
&lt;p&gt;Controls do not always align in what I call the &quot;Sequencer&quot; view.&lt;/p&gt;
&lt;p&gt;This misalignment also appears to affect the playback cursor.&lt;/p&gt;
&lt;p&gt;I&apos;ve only experienced this when adding a new track. Re-opening the session fixes the issue.&lt;/p&gt;
&lt;h2 id=&quot;waveform-style&quot;&gt;Waveform Style&lt;/h2&gt;
&lt;img src=&quot;/assets/Mixbus7/VerticalMeter.png&quot; alt=&quot;Vertical Meter&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Vertical Meter&lt;/div&gt;
&lt;p&gt;The waveform is an indistinct white-on-dark-grey blob.&lt;/p&gt;
&lt;p&gt;There are a variety of ways to use a peak-waveform display to indicate more than peak value over time. Frequency can correlate to color, level can correlate to color, outline can be used as an indicator, RMS/VU and peak can be overlayed, etc...&lt;/p&gt;
&lt;p&gt;I know of LUA scripts that manage to draw dozens of high definition informative waveform displays in realtime with reasonable CPU usage (without reaching to the C api except to drop pixels on the screen and grab FFT values for a small buffer). Mixbus &lt;em&gt;barely&lt;/em&gt; manages that with a simple white blob (the display often stutters for me).&lt;/p&gt;
&lt;p&gt;At the very least there should be an outline on to increase contrast or the meters should somehow display the colours of the connected tracks.&lt;/p&gt;
&lt;h2 id=&quot;meter-item-spacing&quot;&gt;Meter Item Spacing&lt;/h2&gt;
&lt;img src=&quot;/assets/Mixbus7/HorizontalMeter.png&quot; alt=&quot;Meter Comparison&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Meter Comparison&lt;/div&gt;
&lt;p&gt;Compare the horizontal (&lt;code&gt;Preferences-&amp;gt;Appearance-&amp;gt;Recorder-&amp;gt;Input Meter Layout&lt;/code&gt;) meter to the vertical meter orientation.&lt;/p&gt;
&lt;p&gt;The horizontal meter has less height on the waveform. It does not appear to have more time resolution, and in fact seems to be blurry.&lt;/p&gt;
&lt;p&gt;The vertical meter has a nice waveform meter, but the labels are difficult to read since the text is abbreviated.&lt;/p&gt;
&lt;p&gt;Both of these could be alleviated by reducing the padding in the frame (the tabbed box with the input label). That would allow more room for the names in the vertical meter, and more room for drawing the waveform in the horizontal meter.&lt;/p&gt;
&lt;p&gt;I would want the horizontal meter to have more time resolution or a larger time window. More resolution is not meaningful since there&apos;s no time labels. A larger time window would be preferable.&lt;/p&gt;
&lt;p&gt;As it stands, if the horizontal waveform drawing was crisp it would be superior in every way but fewer things shown on screen.&lt;/p&gt;
&lt;p&gt;Both meters would benefit from being &quot;full size&quot;. I would like an option for the meter to take up all available space for its orientation and have a couple options for changing the time window of the waveform drawing.&lt;/p&gt;
&lt;p&gt;Even just adding 4 buttons to the bottom of the meterbridge window &lt;a href=&quot;#meterbridge-is-superior&quot;&gt;would be better&lt;/a&gt;!&lt;/p&gt;
&lt;h3 id=&quot;meterbridge-is-superior&quot;&gt;Meterbridge is Superior&lt;/h3&gt;
&lt;img src=&quot;/assets/Mixbus/Good/MeterBridge.png&quot; alt=&quot;Meterbridge&quot;&gt;
&lt;div class=&quot;image-caption&quot;&gt;Meterbridge&lt;/div&gt;
&lt;p&gt;It&apos;s no secret that I &lt;a href=&quot;/music/2020/02/25/20-Mixbus-Features.html#meter-bridge&quot;&gt;love meterbridges&lt;/a&gt;. Ardour/Mixbus&apos; is great. You can adjust metering standards used, it&apos;s resizable, meter values are labeled.&lt;/p&gt;
&lt;p&gt;Why isn&apos;t the recorder window&apos;s meter a variance of the meter bridge? Add some buttons on the bottom row, make it input-oriented instead of track-oriented, remove the master channel, add secondary waveform views, done. (I know it&apos;s not that easy to develop, but from a UX experience it is that easy to talk about).&lt;/p&gt;
&lt;p&gt;I want different metering standards, or to at least know which metering standard I&apos;m using. I want large meters that I can read across the room. I want value labels.&lt;/p&gt;
&lt;p&gt;Tape machines had these things, TapeX should have these things. The meterbridge already has these things... hmm.&lt;/p&gt;
&lt;h2 id=&quot;recorder-undo&quot;&gt;Recorder Undo&lt;/h2&gt;
&lt;p&gt;I suspect this is intentional, but &quot;Undo&quot; does not work in the Recorder window. The target audience for this workflow is likely averse to the idea of accidental undo, particularly given that it&apos;s a reflexive action.&lt;/p&gt;
&lt;p&gt;You &lt;em&gt;can&lt;/em&gt; use the &quot;Discard last take&quot; button, and you are presented a confirmation dialog.&lt;/p&gt;
&lt;p&gt;I can understand this reasoning and I wouldn&apos;t mind it if it was not for a few problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It&apos;s annoying :) I like to use undo.&lt;/li&gt;
&lt;li&gt;If you switch to the Edit or Mix window, undo works normally!
&lt;ul&gt;
&lt;li&gt;Particularly problematic if you want to make a quick mix adjustment, you&apos;ve now broken that barrier of protection. Since mixing during the recording session is so common, I&apos;d imagine nearly every user that uses the recorder window will end up in the mixer. If the point of &quot;no undo&quot; is to protect the user, then there needs to be a lock on it, not an implicit disabling of undo.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&quot;Discard last take&quot; only can discard the most &lt;em&gt;recent&lt;/em&gt; take, not the &lt;em&gt;last&lt;/em&gt; take from the current project state. Even though it is unable to discard more than one set of takes, you are still presented with a confirmation dialog.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These problems lead me to feel like the &quot;protection&quot; is weak, but at a high cost of fighting the user.&lt;/p&gt;
&lt;h2 id=&quot;inputdisk-labels-sometimes-incorrect&quot;&gt;Input/Disk labels sometimes incorrect&lt;/h2&gt;
&lt;p&gt;I encountered visual states where the &quot;In&quot; and &quot;Disk&quot; buttons in the tracks section did not faithfully indicate the state of that project. No markings, despite In or Disk being enabled &lt;em&gt;and&lt;/em&gt; vice versa.&lt;/p&gt;
&lt;p&gt;While I found this happening frequently, I was unable to determine how to reproduce it consistently.&lt;/p&gt;
&lt;h2 id=&quot;input-monitoring-label&quot;&gt;Input Monitoring Label&lt;/h2&gt;
&lt;p&gt;The tooltips, layout and purpose of the Recorder window (and TapeX experience) give you the impression that &quot;In&quot; monitoring will allow you to monitor the input. &lt;strong&gt;The input&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;What you really hear is based on your Mixbus monitoring setup. If Mixbus is processing audio then you will hear any effects on that channel. You won&apos;t hear &lt;em&gt;the input&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I think that it would be ideal to have a default method of monitoring &lt;em&gt;the input&lt;/em&gt;, and not the audio that passes through that channel.&lt;/p&gt;
&lt;p&gt;The intermingling of these concepts breaks the imaginary tape/recorder workflow. You now have to pay attention to your mixer and your mixer routing and be aware that the labeling of controls on your &quot;tape machine&quot; is functionally incorrect.&lt;/p&gt;
&lt;p&gt;If the control was &quot;Monitor Channel&quot; then I wouldn&apos;t be as bothered, but I would still want a true, easily accessible, per-channel &quot;Monitor Input&quot; function.&lt;/p&gt;
&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;This article has been more of an overview than a review, and that&apos;s intentional. These features are obviously useful to the audience that they&apos;re targeted at, and they are executed well.&lt;/p&gt;
&lt;p&gt;If you read this article and you think the existence of the TapeX workflow is ridiculous, then it probably is ridiculous... for you.&lt;/p&gt;
&lt;p&gt;Despite half the content being the &lt;a href=&quot;#complaints&quot;&gt;complaints&lt;/a&gt; section, I think it&apos;s remarkable and well-done (minus the &quot;&lt;a href=&quot;#input-monitoring-label&quot;&gt;Input Monitoring&lt;/a&gt;&quot;). If there were physical buttons to press, then it would be a nearly ideal &lt;em&gt;recording&lt;/em&gt; environment for me. As far as digital solutions go, it&apos;s among the best I know of.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;18 hours to use&lt;/li&gt;
&lt;li&gt;14 hours to write&lt;/li&gt;
&lt;li&gt;3 hours to struggle with a bug that was fixed in a beta/new version.&lt;/li&gt;
&lt;li&gt;2 hours to compare to Ardour.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;disclaimer&quot;&gt;Disclaimer&lt;/h1&gt;
&lt;p&gt;I chat with Mixbus and Ardour devs often. I was given a license for Mixbus 7 and 32c, however I purchased the product with my own money with intent to use it.&lt;/p&gt;
&lt;p&gt;If you feel these circumstances may have coloured the content, please leave a comment below. I will highlight any rational/logic/well-written objection in the post so it will easily be seen by readers.&lt;/p&gt;
</description>
        <pubDate>Sat, 22 May 2021 09:36:44 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/recorder/2021/05/22/4-posts-with-Mixbus-7-Recorder.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/recorder/2021/05/22/4-posts-with-Mixbus-7-Recorder.html</guid>
        <category>mixbus</category>
        <category>daw</category>
        <category>testing</category>
        <category>recorder</category>
      </item>
      <item>
        <title>4 posts with Mixbus 7 - Latency</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://www.gearslutz.com/board/new-product-alert/1347220-harrison-introduces-mixbus32c-version-7-tapex-quot-tracking-performing-experience-quot.html&quot;&gt;Mixbus 7 is out&lt;/a&gt; and I&apos;ll be exploring the new feature(s) in the next 4 posts.&lt;/p&gt;
&lt;p&gt;I&apos;ve heard that Mixbus 7 might have better latency, so let&apos;s start it off with &lt;a href=&quot;/music/2020/11/08/DAW-v-DAW-7-Mixbus.html&quot;&gt;the elephant in the room&lt;/a&gt;: Mixbus latency.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Other parts in this series:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#introduction&quot; id=&quot;markdown-toc-introduction&quot;&gt;Introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#results&quot; id=&quot;markdown-toc-results&quot;&gt;Results&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-6&quot; id=&quot;markdown-toc-mixbus-6&quot;&gt;Mixbus 6&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-6-64-sample-buffer&quot; id=&quot;markdown-toc-mixbus-6-64-sample-buffer&quot;&gt;Mixbus 6, 64 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-6-256-sample-buffer&quot; id=&quot;markdown-toc-mixbus-6-256-sample-buffer&quot;&gt;Mixbus 6, 256 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-6-1024-sample-buffer&quot; id=&quot;markdown-toc-mixbus-6-1024-sample-buffer&quot;&gt;Mixbus 6, 1024 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-6-limiter-on&quot; id=&quot;markdown-toc-mixbus-6-limiter-on&quot;&gt;Mixbus 6, Limiter On&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter6-64-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter6-64-sample-buffer&quot;&gt;Mixbus Limiter6, 64 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter6-256-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter6-256-sample-buffer&quot;&gt;Mixbus Limiter6, 256 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter6-1024-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter6-1024-sample-buffer&quot;&gt;Mixbus Limiter6, 1024 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-7&quot; id=&quot;markdown-toc-mixbus-7&quot;&gt;Mixbus 7&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-7-64-sample-buffer&quot; id=&quot;markdown-toc-mixbus-7-64-sample-buffer&quot;&gt;Mixbus 7, 64 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-7-256-sample-buffer&quot; id=&quot;markdown-toc-mixbus-7-256-sample-buffer&quot;&gt;Mixbus 7, 256 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-7-1024-sample-buffer&quot; id=&quot;markdown-toc-mixbus-7-1024-sample-buffer&quot;&gt;Mixbus 7, 1024 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-7-limiter-on&quot; id=&quot;markdown-toc-mixbus-7-limiter-on&quot;&gt;Mixbus 7, Limiter On&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter7-64-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter7-64-sample-buffer&quot;&gt;Mixbus Limiter7, 64 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter7-256-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter7-256-sample-buffer&quot;&gt;Mixbus Limiter7, 256 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#mixbus-limiter7-1024-sample-buffer&quot; id=&quot;markdown-toc-mixbus-limiter7-1024-sample-buffer&quot;&gt;Mixbus Limiter7, 1024 Sample Buffer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#data&quot; id=&quot;markdown-toc-data&quot;&gt;Data&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#conclusion&quot; id=&quot;markdown-toc-conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#disclaimer&quot; id=&quot;markdown-toc-disclaimer&quot;&gt;Disclaimer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;/music/2020/10/25/daw-v-daw-721.html&quot;&gt;Read the introduction post&lt;/a&gt;. Hardware is unchanged.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/music/2020/11/08/DAW-v-DAW-7-Mixbus.html&quot;&gt;Read the original testing of Mixbus 6&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For this round I used &lt;a href=&quot;https://www.meldaproduction.com/MSoundFactory&quot;&gt;MSoundFactory&lt;/a&gt;&apos;s Drum Sampler. VST version. Kontakt will no longer run on my machine and I have no interest in debugging it.&lt;/p&gt;
&lt;p&gt;Previous tests were done with &lt;strong&gt;Limiter On&lt;/strong&gt;, because that is the default state of Mixbus when you open a project. I have added additional testing without the limiter this round.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;REMEMBER&lt;/strong&gt; - These numbers only mean something relative to each other &lt;em&gt;on my system&lt;/em&gt;. Your audio device and system may have &lt;em&gt;different&lt;/em&gt; latency numbers. If you want to see how each DAW stacks up relative to each other, please check the other articles in this series for a &lt;em&gt;relative&lt;/em&gt; comparison.&lt;/p&gt;
&lt;p&gt;Reminder, don&apos;t trust dweebs on the internet. Do the tests yourself, or at least double check my &lt;a href=&quot;#data&quot;&gt;data&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&quot;results&quot;&gt;Results&lt;/h1&gt;
&lt;p&gt;All tests run at 48,000hz sample rate.&lt;/p&gt;
&lt;p&gt;Let&apos;s start with the results so you can get back to what you were doing.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;64 Samples &lt;em&gt;without&lt;/em&gt; Limiter engaged (reports 1.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;5.37ms&lt;/strong&gt; (257, 261, 258 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;2.77ms&lt;/strong&gt; (131, 132, 131 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;256 Samples &lt;em&gt;without&lt;/em&gt; Limiter engaged (reports 5.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;18.45ms&lt;/strong&gt; (886, 885, 885 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;18.77ms&lt;/strong&gt; (902, 903, 900 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1024 Samples &lt;em&gt;without&lt;/em&gt; Limiter engaged (reports 21.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;~66.4ms&lt;/strong&gt; (3185, 3185, 3187 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;66.74ms&lt;/strong&gt; (3203, 3204, 3204 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;64 Samples &lt;em&gt;with&lt;/em&gt; Limiter engaged (reports 1.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;~8.15ms&lt;/strong&gt; (391, 391, 391 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;8.34ms&lt;/strong&gt; (400, 399, 399 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;256 Samples &lt;em&gt;with&lt;/em&gt; Limiter engaged (reports 5.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;24.30ms&lt;/strong&gt; (1166, 1167, 1167 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;24.60ms&lt;/strong&gt; (1183, 1180, 1182 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1024 Samples &lt;em&gt;with&lt;/em&gt; Limiter engaged (reports 21.3ms latency)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6.1.22  - &lt;strong&gt;~72.18ms&lt;/strong&gt; (3468, 3464, 3468 samples)&lt;/li&gt;
&lt;li&gt;Mixbus 7.0  - &lt;strong&gt;72.54ms&lt;/strong&gt; (3483, 3481, 3483 samples)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt; - Mixbus 6 seems to have a strange issue with latency. It often drifts when changing buffers (if it doesn&apos;t crash!). This meant that I often needed to restart mixbus and re-run measurements multiple times to confirm. Because of this behaviour, there&apos;s a chance that the measurements may not match &lt;a href=&quot;/music/2020/11/08/DAW-v-DAW-7-Mixbus.html&quot;&gt;previous results&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&quot;mixbus-6&quot;&gt;Mixbus 6&lt;/h1&gt;
&lt;h2 id=&quot;mixbus-6-64-sample-buffer&quot;&gt;Mixbus 6, 64 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus6-64.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 6, 64 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-6-256-sample-buffer&quot;&gt;Mixbus 6, 256 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus6-256.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 6, 256 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-6-1024-sample-buffer&quot;&gt;Mixbus 6, 1024 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus6-1024.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 6, 1024 Sample Buffer&lt;/div&gt;
&lt;h1 id=&quot;mixbus-6-limiter-on&quot;&gt;Mixbus 6, Limiter On&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;/assets/Mixbus7/Mixbus6Limiter.zip&quot;&gt;Measurement Data&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;mixbus-limiter6-64-sample-buffer&quot;&gt;Mixbus Limiter6, 64 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter6-64.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter6, 64 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-limiter6-256-sample-buffer&quot;&gt;Mixbus Limiter6, 256 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter6-256.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter6, 256 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-limiter6-1024-sample-buffer&quot;&gt;Mixbus Limiter6, 1024 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter6-1024.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter6, 1024 Sample Buffer&lt;/div&gt;
&lt;h1 id=&quot;mixbus-7&quot;&gt;Mixbus 7&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;/assets/Mixbus7/Mixbus6Limiter.zip&quot;&gt;Measurement Data&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;mixbus-7-64-sample-buffer&quot;&gt;Mixbus 7, 64 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus7-64.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 7, 64 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-7-256-sample-buffer&quot;&gt;Mixbus 7, 256 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus7-256.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 7, 256 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-7-1024-sample-buffer&quot;&gt;Mixbus 7, 1024 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/Mixbus7-1024.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus 7, 1024 Sample Buffer&lt;/div&gt;
&lt;h1 id=&quot;mixbus-7-limiter-on&quot;&gt;Mixbus 7, Limiter On&lt;/h1&gt;
&lt;h2 id=&quot;mixbus-limiter7-64-sample-buffer&quot;&gt;Mixbus Limiter7, 64 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter7-64.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter7, 64 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-limiter7-256-sample-buffer&quot;&gt;Mixbus Limiter7, 256 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter7-256.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter7, 256 Sample Buffer&lt;/div&gt;
&lt;h2 id=&quot;mixbus-limiter7-1024-sample-buffer&quot;&gt;Mixbus Limiter7, 1024 Sample Buffer&lt;/h2&gt;
&lt;video autoplay loop muted class=&quot;gifvid&quot;&gt;
	&lt;source src=&quot;/assets/Mixbus7/MixbusLimiter7-1024.mp4&quot; type=&quot;video/mp4&quot;&gt;
	Your browser does not support the video tag.
&lt;/video&gt;
&lt;div class=&quot;video-caption&quot;&gt;Mixbus Limiter7, 1024 Sample Buffer&lt;/div&gt;
&lt;h1 id=&quot;data&quot;&gt;Data&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/assets/Mixbus7/Mixbus6.zip&quot;&gt;Mixbus 6 Measurement Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/assets/Mixbus7/Mixbus.zip&quot;&gt;Mixbus 7 Measurement Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/assets/Mixbus7/Mixbus6Limiter.zip&quot;&gt;Mixbus 6 w/Limiter Measurement Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/assets/Mixbus7/MixbusLimiter.zip&quot;&gt;Mixbus 7 w/Limiter Measurement Data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 7 has reduced latency when the mixer is turned off for the 64 sample buffer size. Latency when the Limiter is &lt;em&gt;on&lt;/em&gt; is effectively identical.&lt;/li&gt;
&lt;li&gt;Mixbus 7 still does not have &quot;MIDI Jitter&lt;/li&gt;
&lt;li&gt;Notably for me: Mixbus 6 and 7 crashed &lt;em&gt;frequently&lt;/em&gt; during these tests when changing buffer sizes unless I stopped the engine to change, then started the engine back.&lt;/li&gt;
&lt;li&gt;Mixbus 6 was more likely to have drifting latency. (Likely due to underruns). If I ran a test then walked away for an hour, with nothing but Mixbus running on my system, the latency would increase a significant amount.
&lt;ul&gt;
&lt;li&gt;Mixbus 7 did not do this. I do not recall having any increased latency while running Mixbus 7 during these tests.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;As the differences between these results and my prior results varied slightly, I reran tests on Reaper, Pro Tools and Cubase. They all returned practically identical results.
&lt;ul&gt;
&lt;li&gt;The only notable variation is the 64 sample buffer, which was 3ms more latent in the first tests.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I did a quick test at 128 sample buffer.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mixbus 6 - 10.44ms&lt;/li&gt;
&lt;li&gt;Mixbus 7 - 10.82ms&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This appears to indicate that, on my test setup at least, the lowered latency only appears to be at the 64-sample buffer size.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;26 hours to run the tests.
&lt;ul&gt;
&lt;li&gt;The tests were run, in full, 3 times.&lt;/li&gt;
&lt;li&gt;I spot checked multiple tests due to the slipping buffers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;12 hours to write the post.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;disclaimer&quot;&gt;Disclaimer&lt;/h1&gt;
&lt;p&gt;I chat with Mixbus and Ardour devs often. I was given a license for Mixbus 7 and 32c, however I purchased the product with my own money with intent to use it.&lt;/p&gt;
&lt;p&gt;If you feel these circumstances may have coloured the content, please leave a comment below.&lt;/p&gt;
</description>
        <pubDate>Sun, 18 Apr 2021 11:16:39 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/music/2021/04/18/4-posts-with-Mixbus-7.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/music/2021/04/18/4-posts-with-Mixbus-7.html</guid>
        <category>mixbus</category>
        <category>daw</category>
        <category>testing</category>
        <category>music</category>
      </item>
      <item>
        <title>frustration</title>
        <description>&lt;p&gt;I&apos;ve been working for 2.5 weeks on a new post, and I thought I&apos;d give an update of how it&apos;s going.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My editor/dev environment does not work. ~11 hours of my weekend.
&lt;ul&gt;
&lt;li&gt;Please stop refactoring things for no reason. PLEASE. It doesn&apos;t mean you&apos;re productive.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;My dev environment doesn&apos;t work again because of another refactoring commit. ~4 hours.&lt;/li&gt;
&lt;li&gt;Audio Interface that I use for testing does not work
&lt;ul&gt;
&lt;li&gt;The device would stop playback on certain songs (!!)&lt;/li&gt;
&lt;li&gt;Turns out that multiple 0dbFS samples at a specific frequency range would cause the device to attempt to reboot but fail.&lt;/li&gt;
&lt;li&gt;After 5 hours of tinkering - a bad diode.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;My MCU that I use for latency testing doesn&apos;t turn on. I can&apos;t find the code that was on it.
&lt;ul&gt;
&lt;li&gt;Order new device and wait.&lt;/li&gt;
&lt;li&gt;Reverse engineer what the code was doing. ~8 hours&lt;/li&gt;
&lt;li&gt;Realize I was incorrect. ~30 seconds.&lt;/li&gt;
&lt;li&gt;Rewrite it correctly. ~45 minutes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Document my software incorrectly, confused as I can&apos;t use the thing I wrote. ~2 hours.&lt;/li&gt;
&lt;li&gt;Figure out why I can&apos;t see my oscilloscope on my LAN. ~3 hours.
&lt;ul&gt;
&lt;li&gt;I could! It was reporting the wrong ip!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;My house starts leaking during a storm.
&lt;ul&gt;
&lt;li&gt;Do not pass go. Do not collect $200.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DO&lt;/strong&gt; go out in a torrential downpour and 35mph winds, hop on a ladder, clean the clogged gutters.
&lt;ul&gt;
&lt;li&gt;Reminder, I can barely walk. ~70 minutes in the pouring rain.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Broke my new leg braces. -10 to Stamina. Wait 3 days until they can be fixed.&lt;/li&gt;
&lt;li&gt;Get sidetracked dreaming about a new comment system for the site. ~5 hours&lt;/li&gt;
&lt;li&gt;Start writing an article about FLStudio to realize that I don&apos;t want to spend my time that way. ~5 hours.&lt;/li&gt;
&lt;li&gt;Try to fix the headers on this site that are too long. ~2 hours.
&lt;ul&gt;
&lt;li&gt;Not yet fixed. I don&apos;t have an idea that seems to work, let alone an implementation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Taxes. ~7 hours.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn&apos;t twitter, but here I am: complaining.&lt;/p&gt;
&lt;p&gt;When I was working on music full-time, a lot of these things gotten eaten by &apos;work&apos; time or it was simply carry-over of my normal day. Now it&apos;s my evenings and weekends after already staring at monospaced text on a computer screen all day.&lt;/p&gt;
&lt;p&gt;I&apos;ll get there. It&apos;s been rough.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;30 minutes to write.&lt;/li&gt;
&lt;li&gt;~47 hours of frustration.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sun, 11 Apr 2021 19:00:31 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/general/2021/04/11/frustration.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2021/04/11/frustration.html</guid>
        <category>general</category>
        <category>general</category>
      </item>
      <item>
        <title>Site Updates</title>
        <description>&lt;p&gt;Time for some site updates!&lt;/p&gt;
&lt;p&gt;I wanted to add more &quot;Site Features&quot; (static pages that are constantly updated) and I was running out of room in the nav. I also frequently receive complaints about how textually busy the site update is. I&apos;ve aimed to improve both of these problems with this update.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed Google Analytics
&lt;ul&gt;
&lt;li&gt;The only remaining external javascript dependency is disqus... that will be the next target.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New site layout!
&lt;ul&gt;
&lt;li&gt;Site Nav - I found the site nav difficult to use.
&lt;ul&gt;
&lt;li&gt;Increased size of elements&lt;/li&gt;
&lt;li&gt;Increased size of header&lt;/li&gt;
&lt;li&gt;Removed busy recent/tag sidebars(!) - It is an extra click, but I&apos;ve never felt that they present the information well.&lt;/li&gt;
&lt;li&gt;Added simple left-nav
&lt;ul&gt;
&lt;li&gt;It sucked when I made it.&lt;/li&gt;
&lt;li&gt;Wife helped me make it not suck.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Move tags year/type widget&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Post Layout
&lt;ul&gt;
&lt;li&gt;Adjusted header spacings.&lt;/li&gt;
&lt;li&gt;Allowed header to gracefully fail on different viewport sizes&lt;/li&gt;
&lt;li&gt;Remove section hierarchy in posts&lt;/li&gt;
&lt;li&gt;Add dynamic in-page breadcrumbs
&lt;ul&gt;
&lt;li&gt;On desktop as you scroll, the current header and sub-headers attache to the top of the screen to display your reading position in the outline.&lt;/li&gt;
&lt;li&gt;This breaks all of the &lt;a href=&quot;/tags/?year=false#Interviews&quot;&gt;interviews pages&lt;/a&gt;. I&apos;m aware. I don&apos;t have a fix yet.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pagination is back.
&lt;ul&gt;
&lt;li&gt;I set it to paginate in 20... but it&apos;s only showing 10. I&apos;m skeptical. Please let me know if it&apos;s broken :)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Each post has a previous/next post button at the botton now.&lt;/li&gt;
&lt;li&gt;Themes
&lt;ul&gt;
&lt;li&gt;New Theme Color - Dark Green!&lt;/li&gt;
&lt;li&gt;Updated theme pickers with indicator&lt;/li&gt;
&lt;li&gt;Yellow theme is now darker&lt;/li&gt;
&lt;li&gt;Theme color boxes are a bit more desaturated and more accurate.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Cleanup
&lt;ul&gt;
&lt;li&gt;Fixed a number of tags&lt;/li&gt;
&lt;li&gt;Fixed all sorts of weird stuff I missed
&lt;ul&gt;
&lt;li&gt;My wife found them, thank you.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New feature!
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/health/&quot;&gt;Health&lt;/a&gt; - I get a few e-mails a week about my health, so I thought I&apos;d put up a full page about it. My hope is that this disclosure will help other people with similar problems navigate their options and know they are not alone.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Updated &lt;a href=&quot;/about/&quot;&gt;About page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated &lt;a href=&quot;/Favourites.html&quot;&gt;Favourites&lt;/a&gt; - specifically the &lt;a href=&quot;/Favourites.html#every-day-carry&quot;&gt;EDC section&lt;/a&gt; (and some other minor updates)&lt;/li&gt;
&lt;li&gt;Added &quot;Last Updated&quot; to all static pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;51 hours to redesign the site.
&lt;ul&gt;
&lt;li&gt;43 hours to do it again.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;12 hours to fix errors across the site.&lt;/li&gt;
&lt;li&gt;18 hours to make the &lt;a href=&quot;/Health/&quot;&gt;Health&lt;/a&gt; page.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sun, 14 Mar 2021 12:21:59 -0400</pubDate>
        <link>https://www.admiralbumblebee.com/general/2021/03/14/Site-Updates.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2021/03/14/Site-Updates.html</guid>
        <category>updates</category>
        <category>general</category>
      </item>
      <item>
        <title>Reaper Day 30 - An evaluation and conclusion</title>
        <description>&lt;p&gt;The REAPER series has ended. The end of this series is somewhat unexciting, but it was a lot of work for me.&lt;/p&gt;
&lt;p&gt;The result is &lt;a href=&quot;/ReaperSettings.html&quot;&gt;The REAPER Settings Page&lt;/a&gt;. A list of all of my changed REAPER settings, with explanations of why I made the change.&lt;/p&gt;
&lt;p&gt;Jump through to see some of my discussion about REAPER in general.&lt;/p&gt;
&lt;p&gt;Currently using REAPER 6.23&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#reaper-settings&quot; id=&quot;markdown-toc-reaper-settings&quot;&gt;REAPER Settings&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#notable-standouts-this-round&quot; id=&quot;markdown-toc-notable-standouts-this-round&quot;&gt;Notable Standouts this round&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#the-good&quot; id=&quot;markdown-toc-the-good&quot;&gt;The good&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#actions-list&quot; id=&quot;markdown-toc-actions-list&quot;&gt;Actions List&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#searchable-preferences&quot; id=&quot;markdown-toc-searchable-preferences&quot;&gt;Searchable preferences&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#item-fx&quot; id=&quot;markdown-toc-item-fx&quot;&gt;Item FX&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#track-manager&quot; id=&quot;markdown-toc-track-manager&quot;&gt;Track Manager&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#the-bad&quot; id=&quot;markdown-toc-the-bad&quot;&gt;The bad&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#no-searchable-routing&quot; id=&quot;markdown-toc-no-searchable-routing&quot;&gt;No Searchable Routing???&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#track-wiring&quot; id=&quot;markdown-toc-track-wiring&quot;&gt;Track Wiring&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#takes&quot; id=&quot;markdown-toc-takes&quot;&gt;Takes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#midi&quot; id=&quot;markdown-toc-midi&quot;&gt;MIDI&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#the-weird&quot; id=&quot;markdown-toc-the-weird&quot;&gt;The weird&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#conclusion&quot; id=&quot;markdown-toc-conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#ps&quot; id=&quot;markdown-toc-ps&quot;&gt;P.S.&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;reaper-settings&quot;&gt;REAPER Settings&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;/ReaperSettings.html&quot;&gt;The REAPER Settings Page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A list of all of my changed REAPER settings, with explanations of why I made the change. I will keep this updated as/when I use REAPER.&lt;/p&gt;
&lt;h1 id=&quot;notable-standouts-this-round&quot;&gt;Notable Standouts this round&lt;/h1&gt;
&lt;h2 id=&quot;the-good&quot;&gt;The good&lt;/h2&gt;
&lt;h3 id=&quot;actions-list&quot;&gt;Actions List&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/ActionList.png&quot; alt=&quot;Action List&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Action List&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;It is possible to find nearly every single REAPER command, or setting, that exists.&lt;/p&gt;
&lt;p&gt;Unsure of how to do something? Pop up the action list and start searching, it&apos;s likely that you&apos;ll find what your way quickly.&lt;/p&gt;
&lt;h3 id=&quot;searchable-preferences&quot;&gt;Searchable preferences&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/SearchPrefs.png&quot; alt=&quot;Searchable Preferences&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Searchable Preferences&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;REAPER has a lot of options. I wish every DAW had this, even the ones with few options!&lt;/p&gt;
&lt;p&gt;The only downside is that it searches exactly for the text in the dialog. There&apos;s no documentation or metadata that&apos;s searched, so you might have to try a few different terms to find what you need.&lt;/p&gt;
&lt;h3 id=&quot;item-fx&quot;&gt;Item FX&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/ItemFX.png&quot; alt=&quot;Item FX&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Item FX&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;Every item has its own FX chain. &lt;em&gt;Complex&lt;/em&gt; FX chains with parallel paths.&lt;/p&gt;
&lt;h3 id=&quot;track-manager&quot;&gt;Track Manager&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/TrackManager.png&quot; alt=&quot;Track Manager&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Track Manager&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;Track Search, track filtering and quick access to common track features.&lt;/p&gt;
&lt;h2 id=&quot;the-bad&quot;&gt;The bad&lt;/h2&gt;
&lt;h3 id=&quot;no-searchable-routing&quot;&gt;No Searchable Routing???&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/SendSetup.png&quot; alt=&quot;Routing...&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Routing...&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;Why is this bad do you ask? Because it is the most immediate way to find destinations, or sources, for your routing needs. Locating what you need is &lt;em&gt;absolute mess&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You can use the Routing Matrix, which is just a giant grid, good luck navigating that in a 100+ track project!&lt;/p&gt;
&lt;p&gt;Routing things in REAPER is vomit-inducing. The simple act of creating a typical &apos;aux send&apos; and assigning a track can take upwards of 10 actions in a large project, or you search for a script to help you. Total nonsense.&lt;/p&gt;
&lt;p&gt;More likely is that you go find a script.&lt;/p&gt;
&lt;h3 id=&quot;track-wiring&quot;&gt;Track Wiring&lt;/h3&gt;
&lt;p&gt;{::nomarkdown}
&lt;img src=&quot;/assets/Reaper/30/TrackWiring.png&quot; alt=&quot;Track Wiring&quot;&gt;&lt;/p&gt;
&lt;div class=&quot;image-caption&quot;&gt;Track Wiring&lt;/div&gt;
{:/nomarkdown}
&lt;p&gt;The Track Wiring view (modular graphical view of routing) would be &lt;em&gt;incredible&lt;/em&gt;, except everything is displayed horizontally, arrangement of nodes does not have an undo stack, and it&apos;s not searchable. It&apos;s effectively useless.&lt;/p&gt;
&lt;p&gt;Look at that picture and tell me how useful that is. Use it and you&apos;ll realize how broken the UX is.&lt;/p&gt;
&lt;h3 id=&quot;takes&quot;&gt;Takes&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://forums.cockos.com/showthread.php?p=2030670&quot;&gt;The takes system is broken in a number of ways&lt;/a&gt;, and most people seem to dislike it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ESPECIALLY ME&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;midi&quot;&gt;MIDI&lt;/h3&gt;
&lt;p&gt;MIDI editing in REAPER is just strange. It feels like a different program that just happens to be embedded in REAPER.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Various actions have different names than their functional-dopplegangers in REAPER.&lt;/li&gt;
&lt;li&gt;Modifiers do different things by default.&lt;/li&gt;
&lt;li&gt;There&apos;s 3 different ways for the MIDI editor to interact with items.&lt;/li&gt;
&lt;li&gt;There&apos;s 4 different MIDI editors, all with different interactive designs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Considerable effort was spent adding a Notation editor, and out of the 100s of REAPER power-users that I know, I don&apos;t know anyone that prefers it (and only a handful that even try to use it!)&lt;/p&gt;
&lt;p&gt;Most heavy MIDI users rely on &lt;a href=&quot;/ReaperScripts.html#midi-tools&quot;&gt;a variety of scripts&lt;/a&gt; to do tasks that are integrated into other DAWs.&lt;/p&gt;
&lt;p&gt;There are people who are fanatical about the MIDI workflow in other DAWs (Logic and DP have some vocal supporters), but I know of not a single &apos;power user&apos; that uses the REAPER MIDI editor as is.&lt;/p&gt;
&lt;h2 id=&quot;the-weird&quot;&gt;The weird&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Free Item Positioning - you can place item anywhere inside of the track&apos;s view, every track is effectively its own little mini-DAW. I&apos;m always fascinated by this feature and have yet to find a use for it.&lt;/li&gt;
&lt;li&gt;Scripting - REAPER has quite possibly the most comprehensive scripting capabilities of any DAW, however it has minimal documentation, glaring holes in interoperability and no graphical interface toolkit.
&lt;ul&gt;
&lt;li&gt;API - The REAPER API is in a similar place. You can write &apos;external&apos; programs that interact with REAPER, but there is little documentation other than reading other people&apos;s code, which is sometimes a &apos;best guess&apos; to begin with.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Folders - Every &quot;folder&quot; in REAPER also creates a signal routing path, or a &quot;bus&quot;. Not every hierarchical relationship is a folder though, and it&apos;s possible to accidentally create signal routing paths that &lt;em&gt;seem&lt;/em&gt; to work like the folder tracks, but don&apos;t (or interfere with their behaviour).
&lt;ul&gt;
&lt;li&gt;It doesn&apos;t help that folder routing is &lt;em&gt;not undoable&lt;/em&gt; either??&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;I spent a lot of time using REAPER for this series, and &lt;em&gt;most of it&lt;/em&gt; was fiddling with settings and hotkeys. Often it was not because I &lt;em&gt;needed&lt;/em&gt; to, but because I could. Therein lies REAPER&apos;s greatest weakness: you can.&lt;/p&gt;
&lt;p&gt;It&apos;s possible to shoot yourself in the foot, pull the bullet out, stick it in your mouth and choke on it.&lt;/p&gt;
&lt;p&gt;There are features that are poorly designed that are overlooked for a variety of reasons, &lt;em&gt;not&lt;/em&gt; the least of which is that some scripter has made something that sort works better. In fact, &lt;a href=&quot;/ReaperScripts.html&quot;&gt;theres a few dozen scripts for REAPER&lt;/a&gt; that exceed REAPER&apos;s capabilities and those of other DAWs. The user experience of these scripts is usually lacking for practically every reason a UX can suffer, but it&apos;s &lt;em&gt;better than REAPER&apos;s default&lt;/em&gt;, so it&apos;s voraciously devoured.&lt;/p&gt;
&lt;p&gt;If you run into a problem there&apos;s 100s of settings to try, and most of them come with zero official documentation.&lt;/p&gt;
&lt;p&gt;Some actions have a dozen or more &lt;em&gt;slight&lt;/em&gt; variations. Want to map a hotkey, well... that might take you an hour or so.&lt;/p&gt;
&lt;p&gt;Want to do something simple like record into the DAW? There&apos;s only... 16 modes of record.&lt;/p&gt;
&lt;p&gt;REAPER is plagued by a seemingly unending onslaught of options, and &lt;strong&gt;that is its strength&lt;/strong&gt;. There&apos;s workflows (dialogue, sample editing, SFX design etc...) that can be optimized to extremes due to REAPER&apos;s flexibilities. It&apos;s possible to write a script that takes an 8 hour manual task in Pro Tools into a single button press in REAPER.&lt;/p&gt;
&lt;p&gt;The downside is that many of built-in features are half-baked. I am not the only REAPER user that feels like every major feature in REAPER was released not because the devs met their goals, but instead because they became tired of fussing with it or simply bored of it. Notation. MIDI editor. Track Wiring. Takes. Spectral Peaks. Metronome. Automation Items. 6.0 Theme system. API.&lt;/p&gt;
&lt;p&gt;All of these major features were released without anything (publicly) resembling a roadmap, design, goals or an outline of what problems were being solved. &lt;em&gt;I do believe that these things exist in some form in private&lt;/em&gt;, but the output of the work does not indicate their existence. You can look at &lt;a href=&quot;https://new.steinberg.net/cubase/new-features/&quot;&gt;another DAW&apos;s release&lt;/a&gt; and see &lt;em&gt;very clearly&lt;/em&gt; what problems they were trying to solve, their goals, and that someone was in the background aggressively trimming out anything that didn&apos;t meet that specification. REAPER features come out like a rock-salt shotgun blast. There&apos;s an initial blast and when you look down there&apos;s a seemingly arbitrary pattern of small bits that form the feature.&lt;/p&gt;
&lt;p&gt;That shotgun-like approach to features/bug-fixes is a boon to people with niche workflows. Every REAPER release is filled with bug fixes and small additions that remove blocks to specific workflows. Very few REAPER releases come with a targeted and opinionated introduction or revamp of a feature.&lt;/p&gt;
&lt;p&gt;If you know exactly how you want to work, then REAPER is &lt;em&gt;incredible&lt;/em&gt;. You can build your workflow and craft the DAW experience of your dreams (though your dreams will become warped along the way!).&lt;/p&gt;
&lt;p&gt;If you don&apos;t want to think about how you work, then REAPER will fight you every step of the way.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What about me?&lt;/strong&gt; I somehow made it so that I can&apos;t get a right-click menu for items anymore. Bleh. I&apos;m done... for now.&lt;/p&gt;
&lt;h1 id=&quot;meta&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5 hours to write&lt;/li&gt;
&lt;li&gt;19 hours to combine, verify, modify and edit the &lt;a href=&quot;/ReaperSettings.html&quot;&gt;REAPER settings page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;ps&quot;&gt;P.S.&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;Preferences-&amp;gt;Mouse-&amp;gt;Mouse Modifiers-&amp;gt;Arrange View-&amp;gt;right drag-&amp;gt;default action&lt;/code&gt; Setting this to &quot;Select time&quot; breaks right click menus on items.&lt;/p&gt;
&lt;p&gt;The fact that this is possible galls me to the core.&lt;/p&gt;
&lt;p&gt;Somehow this entire experience has made me miss Studio One... If you know me, then the gravity of that statement will hit hard.&lt;/p&gt;
</description>
        <pubDate>Sun, 07 Feb 2021 14:23:24 -0500</pubDate>
        <link>https://www.admiralbumblebee.com/music/2021/02/07/Reaper-Day-30.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/music/2021/02/07/Reaper-Day-30.html</guid>
        <category>reaper</category>
        <category>reaper-configuration</category>
        <category>music</category>
      </item>
      <item>
        <title>Health</title>
        <description>&lt;p&gt;On November 30th, I partially tore 3 ligaments in my right foot.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/general/2019/09/06/More-Health.html&quot;&gt;My current health state&lt;/a&gt; has lead me to develop &lt;a href=&quot;https://en.wikipedia.org/wiki/Foot_drop&quot;&gt;Foot Drop&lt;/a&gt;. I stumble somewhat frequently and shuffle my feet when I walk, and it&apos;s been strongly suggested that I begin to use a walker. (I already use a cane)&lt;/p&gt;
&lt;p&gt;When attempting to step up out of the studio I tripped, turned my ankle, rammed it into the step and &lt;strong&gt;OUCH&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Severe sensorimotor polyneuropathy complicates injury recovery. I can walk with minimal pain where a &apos;normal&apos; person might be on the ground wretching in pain. The lack of pain increase the ease of being remiss about caring for my injury. Only a few days ago I took off my sock to be greeted by a topology might be mistaken for the &lt;a href=&quot;https://en.wikipedia.org/wiki/Moeraki_Boulders&quot;&gt;Moeraki Boulders&lt;/a&gt;. I had walked maybe a total of 10 minutes that day unassisted, without my walker boot, and exacerbated the injury.&lt;/p&gt;
&lt;p&gt;My studio is &lt;em&gt;not&lt;/em&gt; setup for low-mobility, &lt;em&gt;and&lt;/em&gt; I start nearly all of my song ideas on drums. I am not a MIDI user primarily, and REAPER in particular has a MIDI workflow that I abhor. The result is that I&apos;ve spent very little time in the studio lately. [^1]&lt;/p&gt;
&lt;p&gt;Same goes for my woodshop. (That&apos;s right, I rarely use MIDI in the workshop either.)&lt;/p&gt;
&lt;p&gt;I am under doctor&apos;s care. I&apos;ll be fitted for a custom orthotic in the next coming days, and beginning physical therapy shortly.&lt;/p&gt;
&lt;p&gt;I&apos;ve been dealing with it by spending time working on my &lt;a href=&quot;https://admiralbumblebee.com/music/2021/01/18/Reaper-Day-24.html&quot;&gt;Talon Setup&lt;/a&gt;, &lt;a href=&quot;https://github.com/admiralbumblebee/BeeMacs&quot;&gt;my text editing setup&lt;/a&gt; and reading. Meanwhile any further posts are on hold until I can regain some mobility and overcome this minor depression that it has spurred on.&lt;/p&gt;
&lt;p&gt;[^1]: I spent some time trying to improve this last week by moving around some items, and most certainly ended up making my injury worse.&lt;/p&gt;
</description>
        <pubDate>Sat, 30 Jan 2021 11:29:25 -0500</pubDate>
        <link>https://www.admiralbumblebee.com/general/2021/01/30/Health.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/general/2021/01/30/Health.html</guid>
        <category>health</category>
        <category>general</category>
      </item>
      <item>
        <title>Reaper Day 24 - Accessibility - Look Ma! No Hands</title>
        <description>&lt;p&gt;I&apos;m going to let you in on a secret. Don&apos;t tell anyone though.&lt;/p&gt;
&lt;p&gt;While working (Software Developer/Tech Writing), I haven&apos;t used my keyboard for the entire week for work related tasks. Not only that, I&apos;ve been &lt;em&gt;more&lt;/em&gt; productive than otherwise.&lt;/p&gt;
&lt;p&gt;I&apos;ve also not used my keyboard for REAPER since late December. Soon, I won&apos;t be using my mouse at all either.&lt;/p&gt;
&lt;p&gt;I&apos;m using &lt;a href=&quot;https://talonvoice.com&quot;&gt;Talon Voice&lt;/a&gt; and it&apos;s been &lt;em&gt;amazing&lt;/em&gt;. Let me walk you through how this works with REAPER, and I&apos;ll explain my Dev use in another post.&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;h1 class=&quot;no_toc&quot; id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;&lt;li&gt;&lt;a href=&quot;#video&quot; id=&quot;markdown-toc-video&quot;&gt;Video&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#preface&quot; id=&quot;markdown-toc-preface&quot;&gt;Preface&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#talon&quot; id=&quot;markdown-toc-talon&quot;&gt;Talon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#hasnt-this-all-been-a-setup&quot; id=&quot;markdown-toc-hasnt-this-all-been-a-setup&quot;&gt;Hasn&apos;t this all been a setup!?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#osc&quot; id=&quot;markdown-toc-osc&quot;&gt;OSC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#commands&quot; id=&quot;markdown-toc-commands&quot;&gt;Commands&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#how-i-got-started&quot; id=&quot;markdown-toc-how-i-got-started&quot;&gt;How I got started&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#additions&quot; id=&quot;markdown-toc-additions&quot;&gt;Additions&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#find-track&quot; id=&quot;markdown-toc-find-track&quot;&gt;Find Track&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#go-to-track&quot; id=&quot;markdown-toc-go-to-track&quot;&gt;Go to Track&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#requires-talonbinpip-install-python-osc&quot; id=&quot;markdown-toc-requires-talonbinpip-install-python-osc&quot;&gt;Requires ~/.talon/bin/pip install python-osc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#reaper-must-be-set-up-to-allow-osc-control-of-tracks&quot; id=&quot;markdown-toc-reaper-must-be-set-up-to-allow-osc-control-of-tracks&quot;&gt;REAPER must be set up to allow OSC control of tracks.&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#update-state&quot; id=&quot;markdown-toc-update-state&quot;&gt;Update State&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#fx-parameters&quot; id=&quot;markdown-toc-fx-parameters&quot;&gt;FX Parameters&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#parameter-banks&quot; id=&quot;markdown-toc-parameter-banks&quot;&gt;Parameter Banks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#parameter-saving&quot; id=&quot;markdown-toc-parameter-saving&quot;&gt;Parameter Saving&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#favorites&quot; id=&quot;markdown-toc-favorites&quot;&gt;Favorites&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#parameter-changing&quot; id=&quot;markdown-toc-parameter-changing&quot;&gt;Parameter changing&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#markers&quot; id=&quot;markdown-toc-markers&quot;&gt;Markers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#arbitrary-actions&quot; id=&quot;markdown-toc-arbitrary-actions&quot;&gt;Arbitrary Actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#resetsetup&quot; id=&quot;markdown-toc-resetsetup&quot;&gt;Reset/Setup&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#input-assignment&quot; id=&quot;markdown-toc-input-assignment&quot;&gt;Input Assignment&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#do-a-thing-to-many-things&quot; id=&quot;markdown-toc-do-a-thing-to-many-things&quot;&gt;Do a thing to many things&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#select-item&quot; id=&quot;markdown-toc-select-item&quot;&gt;Select Item&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#and-more&quot; id=&quot;markdown-toc-and-more&quot;&gt;And More...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href=&quot;#reapers-midi-editor&quot; id=&quot;markdown-toc-reapers-midi-editor&quot;&gt;REAPER&apos;s Midi Editor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#the-code&quot; id=&quot;markdown-toc-the-code&quot;&gt;The Code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#conclusion&quot; id=&quot;markdown-toc-conclusion&quot;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#addendum&quot; id=&quot;markdown-toc-addendum&quot;&gt;Addendum&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#meta&quot; id=&quot;markdown-toc-meta&quot;&gt;Meta&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h1 id=&quot;video&quot;&gt;Video&lt;/h1&gt;
&lt;iframe width=&quot;800&quot; height=&quot;450&quot; src=&quot;https://www.youtube.com/embed/xAbigyf6OQ0&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;h1 id=&quot;preface&quot;&gt;Preface&lt;/h1&gt;
&lt;p&gt;Before you read this, note that some things have changed before I finalized this post. Some code/text might not match &lt;a href=&quot;https://github.com/admiralbumblebee/AdmiralBumbleBee_Talon&quot;&gt;the repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More importantly, I&apos;m not a Python dev and this is a somewhat opinionated Python scripting environment. Many things that you might see and think &quot;What, you could do it like...&quot;, you can&apos;t. Most of the time it&apos;ll just be my fault :)&lt;/p&gt;
&lt;h1 id=&quot;talon&quot;&gt;Talon&lt;/h1&gt;
&lt;p&gt;The application that I&apos;m using for this is called &lt;a href=&quot;https://talonvoice.com&quot;&gt;Talon&lt;/a&gt;. It allows voice control, noise control, and (single monitor) &lt;a href=&quot;https://gaming.tobii.com&quot;&gt;eye tracking&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I use only the voice control portion currently. I tried eye tracking and learned that I stare off into space while I use my computer too often (&lt;a href=&quot;/rant/2016/12/30/Better-mouse-usage-through-anchoring.html&quot;&gt;which is probably why I use my mouse like this&lt;/a&gt;!)&lt;/p&gt;
&lt;p&gt;Talon has a simple command syntax that maps word recognition to some sort of keyboard output, or triggers a python script (which can do basically anything on your computer). Python scripts themselves can access word recognition and do what they please.&lt;/p&gt;
&lt;p&gt;Dragon supports a number of engines for audio recognition (not just speech, but some noises as well). &lt;a href=&quot;https://www.nuance.com/dragon.html&quot;&gt;Dragon&lt;/a&gt; is still the indisputed king in this realm and Talon can utilize Dragon, but &lt;a href=&quot;https://scottbakerbooks.com/2018/10/29/dragon-for-mac-discontinued/&quot;&gt;Dragon is dead on macOS&lt;/a&gt;. I&apos;ve had a great deal of maintaining a working Dragon, so I instead use a &lt;a href=&quot;https://github.com/facebookresearch/wav2letter&quot;&gt;wav2letter&lt;/a&gt; model trained by the Talon author(/team?). The wav2letter model available to &lt;a href=&quot;https://www.patreon.com/lunixbochs&quot;&gt;Talon Beta&lt;/a&gt; users works incredibly well.&lt;/p&gt;
&lt;p&gt;If this interests you then please &lt;a href=&quot;https://www.patreon.com/join/lunixbochs&quot;&gt;Join the Patreon&lt;/a&gt; and &lt;a href=&quot;https://talonvoice.com/chat&quot;&gt;Join the Slack Channel&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&quot;hasnt-this-all-been-a-setup&quot;&gt;Hasn&apos;t this all been a setup!?&lt;/h1&gt;
&lt;p&gt;You might think that I spent all this time working through key commands in REAPER to prepare for this transition. I have not. I started using Talon on December 13th. This series was started on November 9th.&lt;/p&gt;
&lt;p&gt;It just happens that my views on interactive design align nearly perfectly with voice control.&lt;/p&gt;
&lt;p&gt;I was able to take &lt;a href=&quot;/music/2020/12/12/Reaper-Day-23.html&quot;&gt;a list of REAPER commands&lt;/a&gt;, apply a &lt;a href=&quot;https://github.com/benma/visual-regexp-steroids.el&quot;&gt;regex replace&lt;/a&gt; and immediately begin to work.&lt;/p&gt;
&lt;h1 id=&quot;osc&quot;&gt;OSC&lt;/h1&gt;
&lt;p&gt;I use key commands for most things in REAPER, but I use OSC for various commands. So this means setting up OSC in REAPER.&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;Preferences-&amp;gt;Control/OSC/Web&lt;/code&gt; I add a new OSC &quot;device&quot; with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mode&lt;/strong&gt; - Configure device IP+local port&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local listen port&lt;/strong&gt; - 8000&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local IP&lt;/strong&gt; - default value, or 127.0.0.1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Device port&lt;/strong&gt; - 9000&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Device IP&lt;/strong&gt; - default value, or 127.0.0.1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allow binding messages to REAPER actions and FX Learn&lt;/strong&gt; - checked&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The rest is default.&lt;/p&gt;
&lt;h1 id=&quot;commands&quot;&gt;Commands&lt;/h1&gt;
&lt;h2 id=&quot;how-i-got-started&quot;&gt;How I got started&lt;/h2&gt;
&lt;p&gt;To create the initial Talon command file, I took &lt;a href=&quot;https://github.com/admiralbumblebee/AdmiralBumbleBee.com/blob/master/_posts/2020-12-12-Reaper-Day-23.md&quot;&gt;this post&lt;/a&gt;, copied the action segments and ran the following &lt;code&gt;regex&lt;/code&gt; -&amp;gt; &lt;code&gt;replacement&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;^#+.*\n&lt;/code&gt; -&amp;gt; ``
&lt;ul&gt;
&lt;li&gt;Meaning - Find one or more of &lt;code&gt;#&lt;/code&gt; at the start of the line followed by any number of any characters followed by a new line. Replace with nothing.
&lt;ul&gt;
&lt;li&gt;Remove all headers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;✓&lt;/code&gt; -&amp;gt; ``
&lt;ul&gt;
&lt;li&gt;Meaning - Replace all checkmarks with nothing.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;^  .*\n&lt;/code&gt; - ``
&lt;ul&gt;
&lt;li&gt;Meaning - Find all occurrences of two spaces at the beginning of the line that are followed by any characters then a new line. Replace with nothing.
&lt;ul&gt;
&lt;li&gt;Removes secondary explanations that aren&apos;t commands.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;  +&lt;/code&gt; -&amp;gt; ``
&lt;ul&gt;
&lt;li&gt;Meaning - Find all occurrences of one space followed by one or more spaces. Replace with nothing.
&lt;ul&gt;
&lt;li&gt;Remove all double spaces to make further processing easier. Important that this happens &lt;em&gt;after&lt;/em&gt; the last step.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then replace &lt;code&gt;control&lt;/code&gt; with &lt;code&gt;ctrl&lt;/code&gt;, &lt;code&gt;comand&lt;/code&gt; with &lt;code&gt;cmd&lt;/code&gt; and &lt;code&gt;option&lt;/code&gt; with &lt;code&gt;alt&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;At this point I had a bunch of lines that looked like this: &lt;code&gt;* **h** &lt;/code&gt;View: Move cursor left to grid division``&lt;/p&gt;
&lt;p&gt;To turn these into Talon commands I used:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\* \*\*(.*?)\*\* -? ?`(.*?:|) ?(.*?)`.*\n
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Replace with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\3:\n    key(\1)
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Meaning - Find literal &lt;code&gt;* **&lt;/code&gt; and capture text up till the next literal &lt;code&gt;**&lt;/code&gt; as group 1. Match a space followed by 0 or more &lt;code&gt;- &lt;/code&gt; then a backtick. Match all text up to a &lt;code&gt;:&lt;/code&gt; &lt;em&gt;or&lt;/em&gt; nothing as group 2. Match all text up to the next backtick followed by a new line as capture group 3. Replace with capture group 3, colon, new line, 4 spaces, then capture group 1 inside the parenthesis of &lt;em&gt;key()&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From there I needed to hand edit some commands (remove superfluous phrases like &quot;to cursor&quot; or &quot;move to&quot;), but I had many things like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Zoom time selection:
    key(z)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now if I say &quot;Zoom time selection&quot;, then the key z is pressed.&lt;/p&gt;
&lt;p&gt;In about 5 minutes I was able to take &lt;strong&gt;everything I&apos;ve written about and turn it into a voice command&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 id=&quot;additions&quot;&gt;Additions&lt;/h1&gt;
&lt;p&gt;Anything that adds a new action will be added to &lt;a href=&quot;/music/2020/12/12/Reaper-Day-23.html&quot;&gt;day 23&apos;s list of commands&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;find-track&quot;&gt;Find Track&lt;/h2&gt;
&lt;p&gt;I want to be able to say &quot;Find Track Stereo Kick&quot;. So this means creating a capture in Talon.&lt;/p&gt;
&lt;p&gt;I add the following to a file named &lt;code&gt;reaper.talon&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;find track &amp;lt;phrase&amp;gt;$:
     key(&quot;alt-f2&quot;)
     insert(phrase)
     key(&quot;enter&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This command &quot;find track&quot; that also captures the words that follow that phrase. I then use my &lt;a href=&quot;/2020/12/05/Reaper-Day-14.html#search-focus-script&quot;&gt;focus track manager script&lt;/a&gt;, enter the text from the phrase and hit enter.&lt;/p&gt;
&lt;p&gt;Now the tracks matching that phrase, and their children, are displayed.&lt;/p&gt;
&lt;h2 id=&quot;go-to-track&quot;&gt;Go to Track&lt;/h2&gt;
&lt;p&gt;Often I want to go to a numbered track, since I always have a view of the number on the left hand side of the track control panel, or the mixer control panel.&lt;/p&gt;
&lt;p&gt;I use the python package &lt;a href=&quot;https://github.com/attwad/python-osc&quot;&gt;pythonosc&lt;/a&gt; to send OSC messages to REAPER.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;# Requires ~/.talon/bin/pip install python-osc
from pythonosc import udp_client

client =  udp_client.SimpleUDPClient(&quot;127.0.0.1&quot;, 8000)

# REAPER must be set up to allow OSC control of tracks.
client.send_message(&quot;/reaper/track/follows&quot;, &quot;DEVICE&quot;)
client.send_message(&quot;/device/track/follows&quot;, &quot;LAST_TOUCHED&quot;)

@mod.capture(rule=&quot;go to track &amp;lt;number&amp;gt;&quot;)
def go_to_track(m) -&amp;gt; str:
    client.send_message(&quot;/device/track/select&quot;, m.number)
    return &quot;&quot; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is pretty simple, I just send a OSC message directly to REAPER &quot;go to track&quot; capture.&lt;/p&gt;
&lt;p&gt;I use a similar capture for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setup for OSC use
&lt;ul&gt;
&lt;li&gt;&quot;Initialize REAPER&quot; - Sets up reaper for accepting certain OSC commands.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Record enabling tracks
&lt;ul&gt;
&lt;li&gt;&quot;Record Arm 6&quot; - Record enables track 6&lt;/li&gt;
&lt;li&gt;&quot;Record Disarm 6&quot; - Record disables track 6&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Current track name
&lt;ul&gt;
&lt;li&gt;&quot;Track name nerd&quot; - Current track name changed to &quot;nerd&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track name by track number
&lt;ul&gt;
&lt;li&gt;&quot;Track 10 name super nerd&quot; - Set track 10&apos;s name to &quot;super nerd&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track Volume
&lt;ul&gt;
&lt;li&gt;&quot;Track Volume 6&quot; - Set track to +6dB&lt;/li&gt;
&lt;li&gt;&quot;Track Volume minus 5&quot; - Set track to -5dB&lt;/li&gt;
&lt;li&gt;&quot;Track 20 Volume -2&quot; - Set track 20&apos;s volume to -2dB&lt;/li&gt;
&lt;li&gt;&quot;Master Volume -4&quot; - Set master track volume to -4dB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track Pan
&lt;ul&gt;
&lt;li&gt;&quot;Track Pan 10 left&quot; - Sets track pan to 10 left&lt;/li&gt;
&lt;li&gt;&quot;Track pan 76 percent&quot; - Sets track pan to 51%&lt;/li&gt;
&lt;li&gt;&quot;Track 2 pan 10 percent&quot; - Sets track 2&apos;s pan to 10%&lt;/li&gt;
&lt;li&gt;&quot;Master Pan 51 percent&quot; - Set the master track volume to 1% right.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track Send Volume
&lt;ul&gt;
&lt;li&gt;&quot;Send 1 Volume -10&quot; - Sets the volume of send 1 to -10dB&lt;/li&gt;
&lt;li&gt;&quot;Master Send 3 Volume 3&quot; - Set the volume of the master track&apos;s 3rd send to 3dB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Track Send Pan
&lt;ul&gt;
&lt;li&gt;&quot;Send 3 Pan 75%&quot; - Sets the pan of send 3 to 75%&lt;/li&gt;
&lt;li&gt;&quot;Master Send 3 pan 2 left&quot; - Set the pan of the master track&apos;s 2nd send to 2 left&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open Effect UI
&lt;ul&gt;
&lt;li&gt;&quot;Open Effect 2&quot; - Opens Effect #2 on the track&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bypass/UnBypass Effects on the current track (Using bypass/unbypass or enable/disable)
&lt;ul&gt;
&lt;li&gt;&quot;Enable Effect 3&quot; - Unbypass Effect 3&lt;/li&gt;
&lt;li&gt;&quot;Bypass Effect 1&quot; - Bypass Effect 1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Since doing this, I&apos;ve realized that nearly every OSC command I&apos;ve setup has a better alternative, but they&apos;re all over the place! I still like the idea of a central communication method. Possibly the Web control in the future?&lt;/p&gt;
&lt;h2 id=&quot;update-state&quot;&gt;Update State&lt;/h2&gt;
&lt;p&gt;Soon you&apos;ll be wondering how you get REAPER to barf up its current state.&lt;/p&gt;
&lt;p&gt;The action &lt;code&gt;Control surface: Refresh all surfaces&lt;/code&gt; does this.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;client.send_message(&quot;/action&quot;, 41743)&lt;/code&gt; is the code.&lt;/p&gt;
&lt;p&gt;REAPER will spit up a lot of information, so be careful when you use this! This can be reduced by editing Reaper.DefaultOSC to remove/comment the data that you don&apos;t need to see.&lt;/p&gt;
&lt;p&gt;I only use it when showing a GUI and on initialize.&lt;/p&gt;
&lt;h2 id=&quot;fx-parameters&quot;&gt;FX Parameters&lt;/h2&gt;
&lt;p&gt;FX Parameters means getting data &lt;em&gt;from&lt;/em&gt; REAPER. To do this I run an OSC server and keep a dict of the most recently sent 1024 parameters.&lt;/p&gt;
&lt;p&gt;There&apos;s only a need for parameter information for the currently shown effect, so there&apos;s no need to track anything but the latest data that REAPER sends... yet.&lt;/p&gt;
&lt;p&gt;A simple server example (note that Talon does not yet support &lt;a href=&quot;https://docs.python.org/3/library/asyncio.html&quot;&gt;asyncio&lt;/a&gt;):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;import atexit
import threading
from typing import List, Any
from pythonosc import dispatcher, osc_server

def fxparam_updater(address: str, *args: List[Any]):
    print(f&quot;Number: {fx_int}, Key: {fx_key}, val: {args[0]}&quot;)


def server_thread():
    d = dispatcher.Dispatcher()
    d.map(&quot;/fxparam/*&quot;, fxparam_updater)
    server = osc_server.ThreadingOSCUDPServer((&quot;&quot;, 9000), d)
    server.allow_reuse_address = True
    server.serve_forever()

x = threading.Thread(target=server_thread)
x.start()

@atexit.register
def shutdown_server():
    x.exit()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To install python-osc, it must be done with Talon&apos;s &lt;code&gt;pip&lt;/code&gt;. This is located in &lt;code&gt;~/.talon&lt;/code&gt;, so you need to do something like &lt;code&gt;~/.talon/bin/pip install python-osc&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;From there I create a GUI with talon that allows me to cycle between banks of the 1024 effects parameters.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;import user.robert_talon.reaperserver as rs

@imgui.open(y=0, software=app.platform == &quot;linux&quot;)
def param_gui(gui: imgui.GUI):
    gui.text(f&quot;Current Bank: {rs.cur_display_bank}&quot;)

    for i in range(rs.fx_display_size):
        offset = (rs.cur_display_bank - 1) * rs.fx_display_size
        cur_index = i + offset
        if cur_index &amp;gt; rs.fx_bank_size:
            break;
        gui.line()
        d = rs.cur_params[cur_index]
        gui.text(&quot;{}: {} -- {}&quot;.format(cur_index + 1, d[&apos;name&apos;], d[&apos;value&apos;]))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That relies on code additional to the server example (currently viewed effect state stored as globals, as complexity warrants this will be made less gross. Perhaps more accurately - when I better understand concurrency in Python, I&apos;ll change it.)&lt;/p&gt;
&lt;p&gt;Then I can use a command like &quot;Parameter 3 update 40 percent&quot; to update parameter 3 to 40 percent.&lt;/p&gt;
&lt;h3 id=&quot;parameter-banks&quot;&gt;Parameter Banks&lt;/h3&gt;
&lt;p&gt;It&apos;s no good if a plugin supports 100s of parameters and I can only see what fits on my screen.&lt;/p&gt;
&lt;p&gt;I tell reaper that I support an FX parameter bank size of 1024 &lt;code&gt;client.send_message(&quot;/device/fxparam/count&quot;, 1024)&lt;/code&gt; and then maintain a dict with those settings.&lt;/p&gt;
&lt;p&gt;Separately I keep a display size, and current bank. The function that displays the parameters uses the display size, and current bank as an offset, to display the parameters in the current viewing bank.&lt;/p&gt;
&lt;p&gt;I can say things like &quot;Parameter bank up&quot;, &quot;Parameter bank down&quot;, and more importantly, &quot;Parameter bank size 64&quot; to change what I&apos;m currently viewing of the current FX&apos;s parameters.&lt;/p&gt;
&lt;p&gt;The parameter&apos;s values are updated in realtime as well.&lt;/p&gt;
&lt;h3 id=&quot;parameter-saving&quot;&gt;Parameter Saving&lt;/h3&gt;
&lt;p&gt;There&apos;s a lot of parameters for some effects/instruments!&lt;/p&gt;
&lt;p&gt;Wouldn&apos;t it be nice if you could say &quot;show parameters&quot; and maybe &quot;parameter bank up&quot; or &quot;parameter bank down&quot; a few times, then say &quot;Save parameter 4&quot;?&lt;/p&gt;
&lt;p&gt;Cool. I can do that.&lt;/p&gt;
&lt;h3 id=&quot;favorites&quot;&gt;Favorites&lt;/h3&gt;
&lt;p&gt;Whew! Some plugins have 1000+ parameters. I don&apos;t touch but maybe a dozen or two of them for any plugin, and browsing for the right parameter (or remembering it) each time is an absurd expectation.&lt;/p&gt;
&lt;p&gt;I can say &quot;save parameter 5&quot; and a dict of {plugin_name: {index: parameter_name}} is updated.&lt;/p&gt;
&lt;p&gt;Any time I pull up an effect with the same name I can say &quot;Favorite parameters&quot; and it will show me a list of the parameter number, name &lt;em&gt;and&lt;/em&gt; its current value!&lt;/p&gt;
&lt;p&gt;These favorites persist to disk.&lt;/p&gt;
&lt;h3 id=&quot;parameter-changing&quot;&gt;Parameter changing&lt;/h3&gt;
&lt;p&gt;Need to change a parameter? Ok. &quot;Parameter 5 update 20 percent&quot;.&lt;/p&gt;
&lt;p&gt;All parameter changes are in percentage currently. There&apos;s some complexity here that I need to explore.&lt;/p&gt;
&lt;h2 id=&quot;markers&quot;&gt;Markers&lt;/h2&gt;
&lt;p&gt;&quot;Show markers&quot; and &quot;go to marker 2&quot; work as you might now expect. Same for Regions. (replace &apos;markers&apos; with &apos;regions&apos;)&lt;/p&gt;
&lt;p&gt;&quot;Marker 4 name First Verse&quot; will name marker 4 to &quot;First Verse&quot;. Same for Regions. (replace &apos;marker&apos; with &apos;region&apos;)&lt;/p&gt;
&lt;p&gt;&quot;Edit Marker&quot; will bring up the dialog to edit a marker. Same for Regions. (replace &apos;marker&apos; with &apos;region&apos;)&lt;/p&gt;
&lt;p&gt;I do not have functionality for &lt;em&gt;editing&lt;/em&gt; markers/regions, as I&apos;ve found it easier to delete them and create another. For my uses, retaining the ID&apos;s associated with a marker/region is not valuable.&lt;/p&gt;
&lt;h2 id=&quot;arbitrary-actions&quot;&gt;Arbitrary Actions&lt;/h2&gt;
&lt;p&gt;I can send arbitrary actions using the COMMAND ID using these functions:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;def send_osc_action(n: int):
    client.send_message(&quot;/action&quot;, n)

def send_MIDI_osc_action(n: int):
    client.send_message(&quot;/midiaction&quot;, n)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then in my .talon file something like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;create multiple tracks:
    user.send_osc_action(41067)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is useful for when I want to triggering action, but I do not want to assign it to a war shortcut.&lt;/p&gt;
&lt;h2 id=&quot;resetsetup&quot;&gt;Reset/Setup&lt;/h2&gt;
&lt;p&gt;REAPER needs to be setup for OSC input to control tracks by editing &lt;code&gt;Default.ReaperOSC&lt;/code&gt; in your settings folder, or using code like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;@mod.capture(rule=&quot;(initialize|reset|setup) reaper&quot;)
def initialize_reaper(m) -&amp;gt; str:
    client.send_message(&quot;/reaper/track/follows&quot;, &quot;DEVICE&quot;)
    client.send_message(&quot;/device/track/follows&quot;, &quot;LAST_TOUCHED&quot;)
    return &quot;&quot; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If setting these via OSC, it must be done &lt;em&gt;after&lt;/em&gt; REAPER is opened, or various &lt;code&gt;/track&lt;/code&gt; commands will not work correctly via OSC.&lt;/p&gt;
&lt;p&gt;I have my Talon setup to send these messages on load, but often REAPER is loaded after Talon.&lt;/p&gt;
&lt;p&gt;I can say &quot;initialize reaper&quot; or &quot;reset reaper&quot; or &quot;setup reaper&quot; to ensure that my track navigation commands work. I could also edit these settings in the &lt;code&gt;Default.ReaperOSC&lt;/code&gt; file, but that&apos;s not as portable of an option.&lt;/p&gt;
&lt;h2 id=&quot;input-assignment&quot;&gt;Input Assignment&lt;/h2&gt;
&lt;p&gt;REAPER has no way to set input via OSC or command, but we can use &lt;a href=&quot;https://www.sws-extension.org/reaconsole.php&quot;&gt;the amazing ReaConsole&lt;/a&gt; to do this!&lt;/p&gt;
&lt;p&gt;I have an action to send OSC messages at will in my &lt;code&gt;reaper.py&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;@mod.action_class
class Actions:
    def send_osc_msg(s: str, n: Any):
        &quot;&quot;&quot;sends an OSC message to create an action&quot;&quot;&quot;
        client.send_message(s, n)

    def send_osc_action(n: int):
        &quot;&quot;&quot;sends an OSC message to create an action&quot;&quot;&quot;
        client.send_message(&quot;/action&quot;, n)

    def send_osc_action_str(s: str):
        &quot;&quot;&quot;sends an OSC message to create an action&quot;&quot;&quot;
        client.send_message(&quot;/action&quot;, s)

    def send_osc_toggle_action(n: int):
        &quot;&quot;&quot;sends an OSC message to create an action&quot;&quot;&quot;
        client.send_message(f&quot;/action/{n}&quot;, 1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then in my &lt;code&gt;reaper.talon&lt;/code&gt; I can trigger ReaConsole&apos;s &lt;code&gt;SWS: Open console with &apos;i&apos; to set track(s) input&lt;/code&gt; and enter the input assignment.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;&amp;lt;user.input_assign&amp;gt;:
    user.send_osc_action_str(&quot;_SWSCONSOLEINPUT&quot;)
    sleep(200ms)
    insert(input_assign)
    key(&quot;enter&quot;)
    key(esc)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;do-a-thing-to-many-things&quot;&gt;Do a thing to many things&lt;/h3&gt;
&lt;p&gt;I use a &quot;do thing &lt;number&gt; through &lt;number&gt;&quot; paradigm so much that I defined this action for use with ReaConsole:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;@mod.action_class
class Actions:
    def console_through(s: str, n: int, n2: int, open: int = 0):
        &quot;&quot;&quot;ReaConsole command for doing things to multiple tracks&quot;&quot;&quot;
        client.send_message(&quot;/action&quot;, s)
        big_n, little_n = (n2, n) if n2 &amp;gt; n else (n, n2)
        actions.sleep(&quot;200ms&quot;)
        actions.insert(little_n)
        actions.insert(&quot;-&quot;)
        actions.insert(big_n)
        actions.insert(&quot; &quot;)
        if not open:
            actions.key(&quot;enter&quot;)
            actions.key(&quot;esc&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then in my &lt;code&gt;reaper.talon&lt;/code&gt; I can trigger ReaConsole&apos;s &lt;code&gt;SWS: Open console with &apos;i&apos; to set track(s) input&lt;/code&gt; and enter the input assignment.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;select tracks &amp;lt;number&amp;gt; through &amp;lt;number&amp;gt;:
    user.console_through(&quot;_SWSCONSOLEEXSEL&quot;, number_1, number_2)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I can say &quot;Select tracks 36 through 114&quot; and it will select those tracks inclusively. Or &quot;Mute tracks 1 through 5&quot; &lt;em&gt;or&lt;/em&gt; &quot;Solo tracks 10 through 2&quot; (larger number first).&lt;/p&gt;
&lt;p&gt;(Note Talon Users: It took me a while to figure out how to refer to multiple numbers in a command. Take note of &lt;code&gt;number_1&lt;/code&gt; and &lt;code&gt;number_2&lt;/code&gt; there.)&lt;/p&gt;
&lt;p&gt;Alternatively I can leave the console open for something like adding a track name prefix:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;prefix tracks &amp;lt;number&amp;gt; through &amp;lt;number&amp;gt;:
    user.console_through(&quot;_SWSCONSOLEPREFIX&quot;, number_1, number_2, 1)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now I can say &quot;Prefix tracks 3 through 10 verse underscore enter escape&quot; to prefix &quot;verse_&quot; to tracks 3 through 10.&lt;/p&gt;
&lt;h2 id=&quot;select-item&quot;&gt;Select Item&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;NEW ACTION&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;cmd-option-enter&lt;/strong&gt; - &lt;code&gt;Xenakios/SWS: Select items under edit cursor on selected tracks&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have cursor movement down fairly well, and track selection down. Now I need a way to select an item. Done.&lt;/p&gt;
&lt;h2 id=&quot;and-more&quot;&gt;And More...&lt;/h2&gt;
&lt;p&gt;I&apos;ll add all the available commands to my REAPER settings after this series is finished.&lt;/p&gt;
&lt;h1 id=&quot;requires-talonbinpip-install-python-osc&quot;&gt;REAPER&apos;s Midi Editor&lt;/h1&gt;
&lt;p&gt;Sucks.&lt;/p&gt;
&lt;p&gt;I spent way too much time dealing with missing shortcuts, laggy behaviour (which affects fast input from Talon), names for ortherwise identical actions with different names from the Main context, focus issues, extremely poor step editor and...&lt;/p&gt;
&lt;p&gt;Ugh.&lt;/p&gt;
&lt;p&gt;Not a pleasant experience.&lt;/p&gt;
&lt;h1 id=&quot;reaper-must-be-set-up-to-allow-osc-control-of-tracks&quot;&gt;The Code&lt;/h1&gt;
&lt;p&gt;My REAPER setup is constantly evolving, but you can &lt;a href=&quot;https://github.com/admiralbumblebee/AdmiralBumbleBee_Talon&quot;&gt;clone, watch or issue pull requests to my Talon setup&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&quot;reapers-midi-editor&quot;&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;I can achieve all basic (that I&apos;ve needed!) recording/editing tasks with REAPER by voice.&lt;/p&gt;
&lt;p&gt;This is potentially useful for anyone with disabilities (like myself), injuries or someone that wishes to control their REAPER software remotely, such as with a wireless lapel mic as they move around the studio.&lt;/p&gt;
&lt;p&gt;This entire post has also been written using talon. With my emacs and vim setup, I have been able to efficiently write and edit this entire document. Many things have been more difficult than typing, but many things have been more efficient as well. Based on my time tracking, the net result has been more efficiency by a small margin.&lt;/p&gt;
&lt;p&gt;If there is sufficient interest then I will cover my programming and writing set up as well. This is all changing as I get used to it and learn what I need from the system, but maybe my experiments will help you get started.&lt;/p&gt;
&lt;h1 id=&quot;the-code&quot;&gt;Addendum&lt;/h1&gt;
&lt;p&gt;I&apos;ve done a good bit of experimenting with REAPER&apos;s OSC, and I&apos;ve since decided that it&apos;s an awful option. The web interface is a better option, but I didn&apos;t want to spend another 2 weeks yakshaving before getting out a proof of concept.&lt;/p&gt;
&lt;h1 id=&quot;conclusion&quot;&gt;Meta&lt;/h1&gt;
&lt;p&gt;This post took:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;75 hours to setup and test Talon with REAPER so far&lt;/li&gt;
&lt;li&gt;25 hours to write this post&lt;/li&gt;
&lt;li&gt;30 minutes to make, edit and post the video.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 18 Jan 2021 08:17:13 -0500</pubDate>
        <link>https://www.admiralbumblebee.com/music/2021/01/18/Reaper-Day-24.html</link>
        <guid isPermaLink="true">https://www.admiralbumblebee.com/music/2021/01/18/Reaper-Day-24.html</guid>
        <category>reaper</category>
        <category>reaper-configuration</category>
        <category>music</category>
      </item>
  </channel>
</rss>