<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"
    xmlns:fh="http://purl.org/syndication/history/1.0"
    xmlns:at="http://purl.org/atompub/tombstones/1.0">

    <title>Sockpuppet: Blog</title>
    
    <subtitle><![CDATA[Updates, articles, and behind-the-scenes content.]]></subtitle>
    
    <link href="https://sockpuppet.band/blog/feed?id=3367&amp;tag=performances" rel="self" />
    
    <link href="https://sockpuppet.band/blog/feed?tag=performances" rel="current" />
    <fh:archive/>
    

    <link href="https://busybee.superfeedr.com" rel="hub" />
    
    
    <link href="https://sockpuppet.band/blog/feed?id=1302&amp;tag=performances" rel="next-archive" />
    
    <link href="https://sockpuppet.band/blog/" />
    <id>tag:sockpuppet.band,2026-05-14:blog</id>
    <updated>2026-01-24T09:01:40+00:00</updated>

    

    <entry>
        
        <title>Hello Internet Archive!</title>
        <link href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive" rel="alternate" type="text/html" />
        <published>2025-09-26T13:41:09-07:00</published>
        <updated>2025-09-26T13:41:09-07:00</updated>
        <id>urn:uuid:a15a1b9d-1b9d-5590-8ba4-d56cbc008a11</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Today I had my first gig with <a href="https://archive.org/">the Internet Archive</a> in their <a href="https://blog.archive.org/2025/08/20/calling-all-musicians-mini-concerts-at-the-internet-archive/">mini concerts series</a>. It was a really good experience (and if you&rsquo;re a musician, especially one who performs online, I urge you to sign up for it yourself!) and I&rsquo;d like to share some thoughts with folks in general! (And if anyone from IA is reading this, hello!!!!)</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Today I had my first gig with <a href="https://archive.org/">the Internet Archive</a> in their <a href="https://blog.archive.org/2025/08/20/calling-all-musicians-mini-concerts-at-the-internet-archive/">mini concerts series</a>. It was a really good experience (and if you&rsquo;re a musician, especially one who performs online, I urge you to sign up for it yourself!) and I&rsquo;d like to share some thoughts with folks in general! (And if anyone from IA is reading this, hello!!!!)</p>

        
            <h3 id="1238_h3_1_The-show">The show<a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#1238_h3_1_The-show" class="toc_link"></a></h3><p>As usual I performed from a VR space using <a href="https://fluffy.itch.io/critter-avatar">my avatar</a><sup id="r_e1238_fn1"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn1" rel="footnote">1</a></sup>, which was a first for them. Unfortunately my hand tracking setup wasn&rsquo;t working (you can read about those woes over on <a href="https://beesbuzz.biz/blog/12167-VR-hand-tracking-update">my main blog</a>) but I don&rsquo;t think it really mattered. I also finally got to make use of <a href="https://sockpuppet.band/blog/3183-VR-performance-stuff">my new audio setup</a> for an actual show (having done a couple of dry runs in VRChat over the past week) and I got a lot praise for the audio quality, so that was super nice to hear.</p><p>I played acoustic versions of <a href="https://sockpuppet.band/track/come-out">Come Out</a>, <a href="https://sockpuppet.band/track/behind-a-mask">Behind a Mask</a>, and <a href="https://sockpuppet.band/track/adding-up-to-nothing">Adding Up to Nothing</a>, and all three songs went over really well. I also took a recording which I&rsquo;ll be posting on my <a href="https://sockpuppet.band/live/">performances section</a> at some point, and it will also appear on <a href="https://archive.org/details/essential-music-concerts-from-home">their own performance archive</a>.</p><p>Afterwards they invited me to stick around for their status meeting so I could hear about a lot of the amazing work they&rsquo;re doing. Back when I was a software engineer I&rsquo;d actually considered applying for a job with them, and this whole thing has me thinking I&rsquo;d like to do that again! Even though I&rsquo;m too disabled to work a full-time job anymore. And super burned out on software engineering. 🙃 But Mark Graham, the director of <a href="https://web.archive.org/">the Wayback Machine</a>, said that they take all kinds, so maybe there would be something there for me anyway. I&rsquo;ll have to look at their open job listings.</p><h3 id="1238_h3_2_Preservation">Preservation<a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#1238_h3_2_Preservation" class="toc_link"></a></h3><p>Anyway. I definitely want to share some thoughts about the Internet Archive. I am super glad that it exists and that they specifically operate like a library, <em>not</em> like a tech company, because it&rsquo;s such an amazing resource for everyone out there, especially when it comes to preserving open-license and public-domain content, as well as abandoned/lost media.</p><p>A while back I started to write an <a href="https://beesbuzz.biz/blog/16535-Building-a-lyric-search-engine">AI-driven lyric search engine</a> so that I could find a song that I&rsquo;d had stuck in my head and couldn&rsquo;t remember the name of. Eventually I used my human brain, and not AI, to remember enough context cues to <a href="https://beesbuzz.biz/blog/6748-I-FOUND-IT">track it down</a>; the song was &ldquo;Lolita&rdquo; by Moneyshot, off their debut album Bliss. This music is, as far as I can tell, completely lost to the world, as is everything about that band.</p><p>But fortunately, I could remember enough things about the album to track things down; I had bought this album from CDBaby back when they were an online record store and not just one of many cogs in a <a href="https://sockpuppet.band/blog/2388-Please-do-not-ask-me-about-streaming-distribution">corrupt machine</a>, and CDBaby&rsquo;s record store had a very specific and easy-to-remember URL scheme (which feels like a <em>luxury</em> today). So with just a little more work I was able to find <a href="https://web.archive.org/web/20021122121254/http://cdbaby.com/cd/moneyshot">the original listing page</a> and from there I was able to get <a href="https://web.archive.org/web/20021122163711/http://www.moneyshot.to/">the band&rsquo;s website</a><sup id="r_e1238_fn2"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn2" rel="footnote">2</a></sup>. All thanks to the Internet Archive.</p><p>I&rsquo;ve also been trying to recover a bunch of lost media as well. For example, back in grad school, a friend of mine was releasing weird abstract electronic music on hand-burned CD-Rs. There is absolutely <em>no</em> information about him or his music anywhere online as far as I can find. So I <a href="https://archive.org/details/GYP-abadmeditation">took action</a><sup id="r_e1238_fn3"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn3" rel="footnote">3</a></sup>. I also intend to take such action on so many other CDs that I own which are impossible to find online, this lost media from a time when music meant something.</p><p>Internet Archive also reminded me of <a href="https://archive.org/details/TheVervePipe">a band I loved back in college</a>, and how their sound has evolved over the years was a <em>direct</em> inspiration to <a href="https://sockpuppet.band/track/valley-highway">the final track on Transitions</a>, as well as much of the sound of that album<sup id="r_e1238_fn4"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn4" rel="footnote">4</a></sup>.</p><h3 id="1238_h3_3_My-personal-efforts">My personal efforts<a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#1238_h3_3_My-personal-efforts" class="toc_link"></a></h3><p>Most of my websites run on my own platform, <a href="https://publ.beesbuzz.biz/">Publ</a>, that I designed <em>specifically</em> to make sure that it&rsquo;s as archival-friendly as possible. Pagination is stable, nearly everything is done with server-side rendering, and image renditions<sup id="r_e1238_fn5"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn5" rel="footnote">5</a></sup> are generated in a cache-friendly way, ensuring that the right rendition is served up based on whatever render spec was provided at the time the page was served up.</p><p>There&rsquo;s also a helper tool I wrote, <a href="https://github.com/PlaidWeb/Pushl">Pushl</a>, which helps to maintain links between sites, particularly with protocols like <a href="https://indieweb.org/webmention">Webmention</a>, but another thing it can do is automatically ping the Wayback Machine with every webpage it sees, ensuring that things get archived if possible. Because the web is nothing if it cannot be preserved and cached and stored for later and remain open.</p><p>My website is also built such that the Internet Archive can find and preserve the public previews of my music. I use another tool I wrote, <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a>, to generate the preview players, and have some glue to import Bandcrash&rsquo;s output everywhere on this site. So in theory, when the Wayback Machine next crawls this website<sup id="r_e1238_fn6"><a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#d_e1238_fn6" rel="footnote">6</a></sup>, everything will be preserved for later, <em>including</em> the player, which is also built to be IA-crawlable.</p><p>I am also working on <a href="https://beesbuzz.biz/blog/11155-A-fair-independent-streaming-platform">an idea for an indie-friendly streaming system</a> &mdash; think RSS but for Spotify-like purposes &mdash; and I have prototypical <a href="https://microformats.org/">microformats</a> throughout my website to facilitate this, as well as a design for an overarching music/streaming syndication format that makes use of these microformats, as well as providing an easier-to-parse JSON rendition. (There are technical reasons why I&rsquo;m not simply extending RSS for this purpose.)</p><p>I also intend, at some point, to upload my entire discography to the Internet Archive, because as I&rsquo;ve said <a href="https://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">before</a>, my main interest is in gaining listeners and people who are willing to support me in ways <em>other</em> than going through <a href="https://sockpuppet.band/track/the-war-machine">the war machine</a>, and I care more about my stuff being heard and preserved than I do about it making me a millionaire. I <em>have</em> enough money to live on (thanks to my aforementioned past as a software engineer), what I <em>need</em> is the <a href="https://sockpuppet.band/blog/2700-On-success">satisfaction of feeling successful</a>, and also I need to know that my music will outlast me and my frail, fleshy self.</p><h3 id="1238_h3_4_In-conclusion">In conclusion<a href="https://sockpuppet.band/blog/1238-Hello-Internet-Archive#1238_h3_4_In-conclusion" class="toc_link"></a></h3><p>The Internet Archive is amazing, and we should all do what we can to support it, for the good of the future.</p>
            
                <hr/><ol><li id="d_e1238_fn1"><p>Specifically a version where I&rsquo;ve added clothing, which will be coming as a free update sometime soon.&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn1" rev="footnote">↩</a></p></li><li id="d_e1238_fn2"><p>Unfortunately, this is about all the information I can find out about them. Like many early-2000s indie bands they went out of their way to be super mysterious so I don&rsquo;t know if any of the members (if there even <em>are</em> multiple members &mdash; I&rsquo;m far from the first to be this kind of totally-a-real-band-I-swear artist!) went on to keep making music under other names.&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn2" rev="footnote">↩</a></p></li><li id="d_e1238_fn3"><p>Unfortunately the name he released under has Not Aged Well, and also the music is&hellip; well, it&rsquo;s very much of its time. I love &ldquo;Praying Mantis&rdquo; though, or at least the way he performed it live.&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn3" rev="footnote">↩</a></p></li><li id="d_e1238_fn4"><p>Although most of the sonic inspiration comes from <a href="https://miraclesofmodernscience.com/">Miracles of Modern Science</a>, an incredible band that you should check out.&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn4" rev="footnote">↩</a></p></li><li id="d_e1238_fn5"><p>Incidentally, one of my roles as a software engineer was to write the scaler and design the next-generation image rendering service for an online-bookstore-turned-ecommerce-giant, and a previous role there was to work on their automatic scanned-book-to-ebook-conversion effort for the first majorly-successful ebook platform out there. The fact that Internet Archive has been doing similar things but in a much more open-culture and preservationist way makes me <em>very</em> happy.&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn5" rev="footnote">↩</a></p></li><li id="d_e1238_fn6"><p>And writing this post reminded me that I needed to re-ping the crawler for everything, since the last crawl was from before I switched to the Bandcrash embeds from Bandcamp, which is <em>not</em> IA-friendly!&nbsp;<a href="/blog/1238-Hello-Internet-Archive#r_e1238_fn6" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=music">#Music</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=performances">#Performances</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=Internet+Archive">#InternetArchive</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=archive.org">#ArchiveOrg</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=preservation">#Preservation</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Music" label="music" />
        
        <category term="Performances" label="performances" />
        
        <category term="InternetArchive" label="Internet Archive" />
        
        <category term="ArchiveOrg" label="archive.org" />
        
        <category term="Preservation" label="preservation" />
        

        

    </entry>
    <entry>
        
        <title>VR performance stuff</title>
        <link href="https://sockpuppet.band/blog/3183-VR-performance-stuff" rel="alternate" type="text/html" />
        <published>2025-09-07T22:06:39-07:00</published>
        <updated>2026-01-24T09:01:40+00:00</updated>
        <id>urn:uuid:373513c2-f1fc-5791-9113-b1a3e01da404</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Today was the second day of VRelium Enchanted, which <a href="https://sockpuppet.band/live/3348-VRelium-Enchanted-2025">I performed at</a> and had a really good time. I&rsquo;m going to talk a bit about how VRChat performances work and some thoughts about my most recent one, in particular.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Today was the second day of VRelium Enchanted, which <a href="https://sockpuppet.band/live/3348-VRelium-Enchanted-2025">I performed at</a> and had a really good time. I&rsquo;m going to talk a bit about how VRChat performances work and some thoughts about my most recent one, in particular.</p><p><mark>UPDATE:</mark> This is obsolete! It might still be useful for some folks (especially those working on a budget or trying to get ideas of how to cobble someting together), but <a href="https://sockpuppet.band/blog/1302-VR-performance-setup-2.0">my current setup</a> is completely different and much easier to work with.</p>

        
            <h3 id="3183_h3_1_VR-venues">VR venues<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_1_VR-venues" class="toc_link"></a></h3><p>Performing live music in VR has a very different set of considerations than from real life. It&rsquo;s very difficult to get an ensemble together due to lag between people<sup id="r_e3183_fn1"><a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#d_e3183_fn1" rel="footnote">1</a></sup>, and also the way that audio is usually sent to the world adds even more lag and makes it impossible for two performers to both share audio into the world.</p><p>There are two major styles of performance space: mic boosted, and streamed. Some worlds, such as <a href="https://vrchat.com/home/world/wrld_31ff6bb7-b2f5-4d2a-aa38-1dc93926bb53/info">Transitions Club</a> (which I&rsquo;ve used for most of my solo shows, such as the recent <a href="https://sockpuppet.band/live/2083-RFFF-25-show">Radio Free Fedi Fest</a>) support both modes of operation, but most I&rsquo;ve encountered only support streaming.</p><h4 id="3183_h4_2_Mic-boosting">Mic boosting<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h4_2_Mic-boosting" class="toc_link"></a></h4><p>Mic boosting is typically used by open mics or other situations where a lot of performers are playing just one or two songs; for example, <a href="https://transacademy.org/">Trans Academy</a> does this for the short Moonlit performances (but not for DJ sets or full concerts), and most open mics do this as well. The setup is pretty simple and easy; from the performer&rsquo;s point of view<sup id="r_e3183_fn2"><a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#d_e3183_fn2" rel="footnote">2</a></sup>, there&rsquo;s a special region in the world which amplifies the volume and/or decreases the attenuation of anyone standing in it, so anything they say over their microphone gets put in everyone&rsquo;s ears.</p><p>This has a number of advantages:</p>
<ul>
<li>It&rsquo;s super easy for people to set up since there&rsquo;s plenty of ways of getting arbitrary audio fed into the VRChat microphone input</li>
<li>The performer can also simultaneously stream to the outside world including audience noise/reactions</li>
<li>Interactions with the audience are more or less immediate</li>
<li>A show can be put on by a single person with no support team</li>
</ul>
<p>But it has some pretty hefty limitations:</p>
<ul>
<li>People in the audience generally can&rsquo;t change the volume level of the performance</li>
<li><del>VRChat&rsquo;s own audio transport is pretty low-quality and is meant for real-time speech, not for music (for example, <a href="https://sockpuppet.band/live/2011-Moonlit-EU">this is what it sounds like on my performance in-world</a>, compared to the quality of <a href="https://sockpuppet.band/live/613-Moonlit-Academy-I-LOVE-YOU">my local signal</a>, and the more complex the music, the worse it gets)</del> <mark>UPDATE:</mark> This has actually changed; as of December 2025 they&rsquo;ve vastly improved the mic audio, by switching to <a href="https://docs.vrchat.com/docs/vrchat-202542">Steam Audio</a>.</li>
<li>You can <em>only</em> get audio through, rather than any extra visuals</li>
<li>Doing more complex things with the audio gets incredibly finicky and error-prone</li>
<li>The audience size is limited to however many can fit in a single world instance</li>
</ul>
<h4 id="3183_h4_3_Streaming">Streaming<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h4_3_Streaming" class="toc_link"></a></h4><p>A streaming approach is much more commonly used for music festivals such as Furality, VRelium, CMFS, and so on. In this setup, the performer is sending their audio and visuals through streaming software (typically <a href="https://obsproject.com/">OBS</a>) to a streaming provider. <a href="https://vrcdn.live/">VRCDN</a> is very popular but any number of things work, including <del>Twitch, YouTube Live, and</del> <a href="https://owncast.online/">owncast</a>, the last of which being <a href="https://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN">what I use for my independent shows</a><sup id="r_e3183_fn3"><a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#d_e3183_fn3" rel="footnote">3</a></sup>.</p><p>Streaming has a bunch of advantages over mic boosting:</p>
<ul>
<li>The audio quality is way better</li>
<li>There&rsquo;s much better control over the audio signal, and in particular since VRChat always uses its view of the mic input as the lipsync source, being able to separate your vocal audio from your other instruments makes for a cleaner performance</li>
<li>The performer can provide visuals that will appear in the world in some way, usually on a large projection screen behind the stage, and some worlds are built to support multi-screen visuals (by mapping different parts of the screen image to different surfaces in the world)</li>
<li>The audience can be <em>way</em> larger since multiple instances can reference the same video stream (and some venues can also do holographic projection of performers between instances, which is also done using clever video and shader tricks)</li>
<li>You also automatically have a stream that can be viewed from outside VRChat or recorded for later editing</li>
<li>Various compositing proxies can be used to add even more visuals to the outside world stream/recording (for example, having multiple camera operators streaming to video sources that are then assembled by someone else); for example it&rsquo;s common for music festivals to map the performer&rsquo;s visuals to one screen while providing audio visualizations for the audience and a countdown timer for the preformer</li>
</ul>
<p>But it also has disadvantages:</p>
<ul>
<li>You generally need a support team managing the stream (it&rsquo;s not super feasible for solo shows &mdash; it&rsquo;s <em>possible</em> and I&rsquo;ve done it, but it&rsquo;s much more of a hassle)</li>
<li>There&rsquo;s a <em>lot</em> of lag between the world and the stream (usually on the order of 5-15 seconds), so interactions with the audience are confusing or on a delay, and people who are looking directly at the performer (rather than the screen) will have extremely bad lip sync<sup id="r_e3183_fn4"><a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#d_e3183_fn4" rel="footnote">4</a></sup></li>
<li>Because the performer is streaming audio and video to the world, extra considerations are necessary for a livestream that includes audience reactions</li>
<li><del>If the venue is small and doesn&rsquo;t have a means of <em>muting</em> on-stage performers, the audience may hear doubled audio with considerable delay between them</del> <mark>UPDATE:</mark> Along with the improvements to mic audio, VRChat now allows you to set your microphone output level to 0% which has the effect of preserving lip sync without broadcasting any audio into the instance.</li>
</ul>
<p>Due to these disadvantages, and since my solo shows tend to be pretty small, if I&rsquo;m going solo it&rsquo;s usually using a mic boost.</p><h3 id="3183_h3_4_A-typical-setup">A typical setup<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_4_A-typical-setup" class="toc_link"></a></h3><p>Most people who perform in VR are exclusively using backing tracks (often ones obtained from karaoke videos, if they&rsquo;re doing covers of songs), and use <a href="https://vb-audio.com/Voicemeeter/">Voicemeeter</a>, a virtual mixer combines multiple audio inputs into a single virtual audio source.</p><p>For a mic-boosted performance, they&rsquo;ll be using Voicemeeter to combine the backing track with their microphone, and also monitor the audio back to their own ears.</p><p>They may also be doing it that way for a streamed performance, although for streaming the better option is to use OBS&rsquo;s audio mixing and monitoring for the backing track.</p><h3 id="3183_h3_5_My-typical-setup">My typical setup<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_5_My-typical-setup" class="toc_link"></a></h3><p>Because I am <del>a masochist</del> coming from the tradition of conventional live performances, I have a tendency to want to perform as much live as possible, and have previously never used a backing track<sup id="r_e3183_fn5"><a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#d_e3183_fn5" rel="footnote">5</a></sup>.</p><p>Typically I have Voicemeeter capturing my vocal microphone (which is usually the mic built-in to my <a href="https://www.bigscreenvr.com/">Bigscreen Beyond</a>) and my computer&rsquo;s onboard line input, which I then have various amps/pedals/mixers connected to for my performance instruments; my typical loadout is:</p>
<ul>
<li>My guitar</li>
<li>A cheap reverb pedal from AliExpress</li>
<li>A cheap distortion pedal, also from AliExpress</li>
<li>A Boss RC-20 looper pedal</li>
<li>A dynamic mic, for percussion and such going through the looper</li>
<li>A small <a href="https://www.musiciansfriend.com/amplifiers-effects/zt-lunchbox-junior-guitar-combo-amp/h82899000001000">lunchbox amplifier</a>, which is a simple way of amplifying that mess to line-level and giving me basic monitoring</li>
</ul>
<p>I then also have VRChat&rsquo;s voice input set to Voicemeeter.</p><p>When I&rsquo;m performing, regardless of whether it&rsquo;s mic-boost or streamed, I have a bunch of OBS scenes with different setups for different purposes, but generally-speaking my scene setup is:</p>
<ul>
<li>A <a href="https://github.com/Off-World-Live/obs-spout2-plugin">Spout2 capture source</a> (which allows OBS to directly project VRChat&rsquo;s camera capture rather than having to make a round trip through the display compositor)</li>
<li>Audio sources for Voicemeeter and then direct inputs for my headset mic, the computer line input, and a music player source for backing tracks</li>
<li>Also an audio output capture for my headset speakers (to capture in-game audio)</li>
<li>Whatever visuals I want to overlay on the stream (<a href="https://github.com/phandasm/waveform">Waveform</a> is especially useful)</li>
</ul>
<p>I make heavy use of OBS&rsquo;s multichannel audio functionality for this. I set channel 1 to be whatever I want to go to the stream. What goes on here depends on the kind of performance I&rsquo;m doing:</p>
<ul>
<li>If I&rsquo;m doing a mic boosted performance, it&rsquo;ll typically be my performance audio (either Voicemeeter, or a mix of mic+line input) mixed with the in-game audio so the livestream audience can hear the in-game audience as well</li>
<li>If I&rsquo;m doing a streamed performance, it&rsquo;ll be just my performance audio as a mix (usually the raw inputs, <em>not</em> Voicemeeter, as Voicemeeter adds a bit of lag making the timing of the backing track to be somewhat off)</li>
</ul>
<p>Regardless of this, I also record each separate thing to separate audio channels:</p>
<ul>
<li>Channel 2: vocal mic</li>
<li>Channel 3: line input</li>
<li>Channel 4: backing track</li>
<li>Channel 5: game audio</li>
<li>Channel 6: Voicemeeter</li>
</ul>
<p>I rarely actually use the Voicemeeter channel anymore (since I switched to directly mixing the live inputs to the stream) but I&rsquo;d might as well keep it around, just in case (although keep in mind that using it will require latency compensation). There&rsquo;s been a few times that it&rsquo;s been helpful due to OBS settings getting messed up, for example, so I actually didn&rsquo;t end up recording my raw instrument channel, for example.</p><p>Depending on whether I&rsquo;m using Voicemeeter or my raw microphone as my vocal input affects what sort of lipsync issues I have in the stream and/or recorded video. So I try to keep them the same as each other, but it&rsquo;s easy to forget and not a <em>huge</em> deal to fix since it&rsquo;s usually only offset by 1-2 frames (and VRChat&rsquo;s lip sync isn&rsquo;t all that great anyway).</p><h3 id="3183_h3_6_My-usual-performances">My usual performances<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_6_My-usual-performances" class="toc_link"></a></h3><p>So, when I perform, I&rsquo;m typically playing guitar or piano and singing, and occasionally making use of my effect pedals (especially the looper). Because I need to be able to see my guitar&rsquo;s fretboard and/or piano&rsquo;s keys while I perform, I built a custom headset gasket (based on the <a href="https://www.printables.com/model/751989-slimterface-flipterface-customface-for-bigscreen-b">Slimterface</a>, modified with a big cutout on the bottom, which I really should get around to uploading the files for at some point, oh <a href="https://www.printables.com/model/1408641-slimterface-modded-for-musical-performances">here we go</a>).</p><p>I still haven&rsquo;t figured out a good way of tracking my hand movements while playing guitar in-headset. I&rsquo;ve tried <a href="https://beesbuzz.biz/blog/7168-On-the-quest-for-VR-hand-tracking">a bunch of things</a> and so far the best results I&rsquo;ve gotten have been with a <a href="https://www.ultraleap.com/">Leapmotion 1</a> and <a href="https://github.com/Nyabsi/driver_leapify/">Leapify</a>, but it&rsquo;s still been pretty inconsistent and fiddly (but I have a few more things to try before I give up entirely). But for now, when I&rsquo;m playing guitar, I just signify it by swapping to a version of my avatar that&rsquo;s wearing a guitar and then people can just see my arms hang limply by my sides.</p><p>Also, because VRChat doesn&rsquo;t really have any way of bringing printouts into the world with you, to keep my setlist at the ready I open it up in a text editor or similar (usually synced with iCloud Notes or <a href="https://syncthing.net/">SyncThing</a> or whatever) and then attach the window to my VR playspace from the SteamVR overlay. This can be a little confusing, since it blocks a large part of my field of view and audience members can&rsquo;t tell that they&rsquo;re behind it (since it only exists locally and not in VRChat itself).</p><p>Since I have VRC+ I could also theoretically make an image of my setlist and print it into the world, but that makes it a manipulable object that people in the audience could steal and mess with, so I haven&rsquo;t ever actually done that (also music festivals tend to disable or force-remove prints for performance reasons).</p><p>There&rsquo;s probably some clever thing I could do with OSC to provide myself a local avatar HUD or something, but the SteamVR overlay works well enough for me.</p><h3 id="3183_h3_7_What-I-did-tonight">What I did tonight<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_7_What-I-did-tonight" class="toc_link"></a></h3><p>I have a chronic pain disorder which flares up sometimes. On the days leading up to this weekend it was flaring up pretty badly, so I figured I&rsquo;d play it safe and use backing tracks for once. Since all my music is original, I bounced out vocal-free versions of the songs I was going to perform, then combined them into a single file with a suitable gap between each song. I did leave some time at the end for an acoustic performance of <a href="https://sockpuppet.band/track/strategies-to-live">Strategies to Live</a>, because I&rsquo;m not at all happy with the quality of the album recording, and I also wanted a bit more flexibility in how I performed it.</p><p>It turned out that my pain flareup had subsided by performance time, but I decided to go with the backing track anyway, as a bit of an experiment.</p><p>My overarching philosophy is that the live version of a song should be special, and a reinterpretation of the album version. Using the album recording as a backing track flies in the face of that. However, this only really makes sense in a context where the audience already knows my music; generally when I&rsquo;m performing at a larger show, most of the audience is not familiar with my music, and as a result doesn&rsquo;t actually know that there&rsquo;s anything special about an acoustic guitar-folk performance of a <a href="https://sockpuppet.band/track/freak-flag">sex-positive hip-hop song</a> or a <a href="https://sockpuppet.band/track/behind-a-mask">90s alt-rock song</a> or a <a href="https://sockpuppet.band/track/material-change">hardstyle dancepop track</a>.</p><p>Further, genre bias is a thing, and when people get the impression that all of my music is acoustic indie rock, if they aren&rsquo;t into acoustic indie rock they have no reason to check my music out to hear how it really is.</p><p>So, at least for this large show I decided it&rsquo;d be interesting to see how the audience reacts to the songs as they originally were, rather than the &ldquo;special&rdquo; renditions I do as a treat. And judging by the audience reaction, it went over pretty well! It was also nice having my hands free, so I could actually move around and dance as I performed, and also could do appropriate avatar switches during some songs (particularly demonstrating some of the titular material changes in Material Change).</p><p>But I also ended up realizing that for my live performances, I put a <em>lot</em> of muscle memory into things, and there were a few spots where I came close to forgetting how the words went because I needed the shape of the chords I was making to cue me on them.</p><p>A baked backing track had another nice bonus in that I didn&rsquo;t need to display my setlist, because I could just use audio cues to know which song I was performing. But on the downside, some of the intra-song timings weren&rsquo;t quite right. I have a particular transition I like to do from <a href="https://sockpuppet.band/track/youre-never-around">You&rsquo;re Never Around</a> to <a href="https://sockpuppet.band/track/better-than-before">Better Than Before</a> and while I worked embarrassingly-long on trying to nail the timing in my backing track, I still feel like it didn&rsquo;t line up with how I wanted it to. It&rsquo;s probably a thing that only I would ever notice, though.</p><p>This also meant I was basically on-rails with no ability to adjust timing based on mood or tripping up on things or whatever. This was, ultimately, more good than bad, since it meant my set length was timed out perfectly (aside from Strategies to Live, which I was able to perform a bit faster than usual to make up for some previous schedule slippage), and also it kept me from rushing my songs, which in turn made tripping up much less likely.</p><p>In most of my festival sets I&rsquo;ve ended up doing one big flub and just powering through it, and tonight I only did a couple of minor flubs which nobody but me would have noticed anyway (even if they were super familiar with my songs which, let&rsquo;s face it, nobody else is).</p><p>I also loved being able to be way more expressive. My avatar is set up to allow me to puppet the eye and mouth shapes through hand gestures, which is pretty common, and I designed my puppetry setup specifically around doing karaoke, which this was just sort of an ascended version of anyway. Having the ability to make hand gestures at all is a huge improvement.</p><p>(That said, what&rsquo;d be even better is getting proper eye and mouth tracking support so I don&rsquo;t have to do puppetry to begin with, but I&rsquo;m not ready to spend that kind of money right now.)</p><p>Even without the puppetry aspect, I also had friends and fans arrive in the audience and would wave at me, and I was able to wave back, which made a couple of them absolutely delighted!</p><p>So, yeah, it gave me a much better audience connection, much better expressiveness in general, a much less stressful performance experience, and me just plain sounding better.</p><p>But in doing so I also gave up an amount of spontaneity, and also a feeling that I was actually <em>performing</em> and not just doing, y&#39;know, karaoke. Which just feels weird to me. It feels like I&rsquo;m lowering my standards, but the audience doesn&rsquo;t care at all, and if anything the audience seems to prefer the &ldquo;karaoke&rdquo; form.</p><h3 id="3183_h3_8_Future-plans">Future plans<a href="https://sockpuppet.band/blog/3183-VR-performance-stuff#3183_h3_8_Future-plans" class="toc_link"></a></h3><p>I think I&rsquo;ll go with something like this:</p>
<ul>
<li>For small shows (like Moonlit) and solo shows (where my existing fans will be the majority of the audience) I&rsquo;ll continue doing things mostly live on instruments, although I&rsquo;ll probably start to incorporate more backing tracks in as well to expand my repertoire, since many of my songs aren&rsquo;t super feasible to have a guitar rendition of (I&rsquo;d love to be able to do a live version of <a href="https://sockpuppet.band/track/a-long-plastic-hallway">A Long Plastic Hallway</a>, for example)</li>
<li>For larger shows I&rsquo;ll continue to do a mix of studio-version backing tracks and acoustic versions as appropriate</li>
<li>For <em>major</em> shows (like if I ever get accepted into Furality) I&rsquo;ll possibly make some custom backing tracks just for the show</li>
</ul>
<p>Also, I can still be proud that I&rsquo;m using my own backing tracks for my own songs. Not that there&rsquo;s anything wrong with people using existing karaoke versions for their covers, and obviously audiences don&rsquo;t mind it at all (and are just there to hear amazing singers singing songs they like). And who knows, if I keep uploading <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNipgKir3qPtIf3AEm7B3Fnk">karaoke tracks</a>, maybe someday I&rsquo;ll hear someone doing a cover of one of my songs at one of these things.</p>
            
                <hr/><ol><li id="d_e3183_fn1"><p>You <em>can</em> do limited ensembles by having a chain of people streaming to one another, as long as nobody earlier in the chain needs to be able to hear anyone later in the chain, but that can also be difficult to manage and coordinate. Plus, every link in the chain is an opportunity for network problems.&nbsp;<a href="/blog/3183-VR-performance-stuff#r_e3183_fn1" rev="footnote">↩</a></p><p>Or you can just have everyone be physically in the same room.</p></li><li id="d_e3183_fn2"><p>The actual implementation of this is much more complicated but that&rsquo;s outside the scope of this article.&nbsp;<a href="/blog/3183-VR-performance-stuff#r_e3183_fn2" rev="footnote">↩</a></p></li><li id="d_e3183_fn3"><p>Unfortunately Twitch and YouTube are no longer viable options, as their respective wars on adblockers have prevented third-party streaming clients from reliably accessing the streams anymore, and that includes VRChat. The death of open standards is an awful thing to witness in real time.&nbsp;<a href="/blog/3183-VR-performance-stuff#r_e3183_fn3" rev="footnote">↩</a></p></li><li id="d_e3183_fn4"><p>Many performers opt to just mute their in-game mic so that there&rsquo;s no lip sync at all, which is throwing out the baby with the bath water, IMO.&nbsp;<a href="/blog/3183-VR-performance-stuff#r_e3183_fn4" rev="footnote">↩</a></p></li><li id="d_e3183_fn5"><p>Except when doing karaoke, of course.&nbsp;<a href="/blog/3183-VR-performance-stuff#r_e3183_fn5" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=VRChat">#VRChat</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=VR">#VR</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=performances">#Performances</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="VRChat" label="VRChat" />
        
        <category term="VR" label="VR" />
        
        <category term="Performances" label="performances" />
        

        

    </entry>
    <entry>
        
        <title>Upcoming shows and appearances</title>
        <link href="https://sockpuppet.band/blog/2583-Upcoming-shows-and-appearances" rel="alternate" type="text/html" />
        <published>2025-05-01T20:43:49-07:00</published>
        <updated>2025-05-01T20:43:49-07:00</updated>
        <id>urn:uuid:eb979aff-4dea-570f-84eb-bbbefc18041c</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Hey y&#39;all, I&rsquo;m a very busy bee, with a lot of stuff happening all at once over the next couple months.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Hey y&#39;all, I&rsquo;m a very busy bee, with a lot of stuff happening all at once over the next couple months.</p><p>This weekend, on Saturay, May 3, <a href="https://stanceseattle.org/">my real-life choir</a> is doing a <a href="https://givebutter.com/c/STANCEspringShowcase25/members/fluffycritter">fundraiser show</a>. I will be performing in two pieces, singing tenor in a rendition of Vienna Teng&rsquo;s <a href="https://www.youtube.com/watch?v=QF-7WiLykGM">The Hymn of Axciom</a> and doing a minimal jazz piano rendition of my own song <a href="https://sockpuppet.band/track/repair-my-heart">Repair My Heart</a>.</p><p>Then in June, I have a <em>whole bunch</em> of stuff going on:</p>
<ul>
<li><a href="https://furality.org/">Furality</a> is taking place from June 5-8, and I have a booth in the dealer&rsquo;s den, where I plan on having some small impromptu performances; you might also find me out and about throughout the rest of the convention, in which case, feel free to come by and say &ldquo;hi!&rdquo;</li>
<li>My choir will be <a href="https://rainbowcity.org/events/action/">performing with Rainbow City</a> on June 6 (which I may or may not be a part of, depending on how badly this conflicts with Furality)</li>
<li>I will be performing <a href="https://sockpuppet.band/live/2071-RESCHEDULED-Refraction-VR-Pride-Show">a Pride show with Refraction VR</a> on <del>June 7</del> May 31!</li>
<li>The choir will be doing a <a href="https://purchase.vashoncenterforthearts.org/events/stance">preview of our pride show</a> on Vashon Island on June 13 (which I will be a part of)</li>
<li>We are also doing our <a href="https://www.purplepass.com/organizer/66179">full pride show</a> on June 20 and 21 in Seattle</li>
</ul>
<p>And I may have another concert happening in June as well! Watch this space! (or better yet, <a href="https://sockpuppet.band/live/">my show calendar</a>)</p>

        
            
            

            

        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=performances">#Performances</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=choir">#Choir</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=IRL">#IRL</a>
        
        <a rel="tag" href="https://sockpuppet.band/blog/?tag=VR">#VR</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Performances" label="performances" />
        
        <category term="Choir" label="choir" />
        
        <category term="IRL" label="IRL" />
        
        <category term="VR" label="VR" />
        

        

    </entry>
    

    
</feed>