Sign in

fluffy

@bsky.sockpuppet.band
14 followers 0 following 101 posts
PostsRepliesMedia
fluffy @bsky.sockpuppet.band · 24/09/2026
sockpuppet.band
Faircamp 2.0.0 is out
Today, Faircamp 2.0.0 was released. If you’re an independent musician and want to own your own web presence, Faircamp is an incredible way to do it, and 2.0 in particular adds a _lot_ of cool stuff, particularly a desktop application which makes it much easier to set up and maintain your site. I don’t use Faircamp personally (since I already have my own tools for running my site) but it is an _incredible_ piece of software that probably covers all of your needs and then some. Also, with Faircamp you can integrate with Fairplayer, to take part in fully-independent, distributed/federated streaming; at some point I will also get around to writing a plugin for Faircamp to integrate directly with Chorus to enable even more opportunities. In any case, many congratulations to Simon for this huge milestone! I hope you’ll take a well-deserved rest.
000
fluffy @bsky.sockpuppet.band · 17/09/2026
sockpuppet.band
Logic Pro I/O labels
I recently updated the firmware on my Focusrite Scarlett 18i20 3rd Gen to run Focusrite Control and was surprised to find that the input mappings changed on me, which was pretty annoying. Previously ADAT 1-8 happened to map to inputs 11-18, which was easy enough to remember, but now they map to 13-20 because the loopback interface moved to 9-10, pushing all of the digital inputs down by two. After a brief conversation with Focusrite support, they pointed me to a feature of Logic I didn’t know about (even though I’ve been a Logic user for over 20 years now): I/O labels! This lets you set custom names for your audio inputs and outputs. However, managing the preferences can be really annoying (and it’s very easy for the mappings to get lost, for example if Logic crashes), but fortunately there’s Logic I/O Labels Utility which lets you save and restore label sets pretty easily. Anyway, learning about this has been quite helpful because now I can just permanently label my drum kit’s microphone channels instead of having to consult easily-lost notes or figuring it out on the fly every time, and of course I can also now properly label my various other mics and inputs which makes it easier to keep track of everything. I guess even after using a piece of software for over two decades you can still be surprised about functionality that’s been there the whole time! (Or at least since version 7, which is where I started using it full-time.)
000
fluffy @bsky.sockpuppet.band · 28/08/2026
sockpuppet.band
NHAMFest ‘26: behind the scenes (a little)
NHAMFest ‘26 was a huge success this year, and was great for bringing together two of my favorite spaces: the VRChat music community and the Fediverse music community. Here’s some stuff about the specifics that went into producing this show on my end! Note: I may earn a commission on affiliated product links in this article. I’ve already described my general performance setup, and that should be read as a prerequisite. ### Multi-streaming setup A big part of this particular show is that I had two streams running simultaneously: one in VRChat and one on my Owncast instance. Each of these came from a separate OBS instance; the VRChat one showed my Owncast live chat (so that people in VR could follow the chat), and the Owncast one had my live camera as an inset so that people on the outside could see what was actually happening in my physical space; as much as I love the whole “virtual critter” thing I also want to make it clear that I am actually performing the music live, at least to an extent. For the VRChat side of the stream I used VRCDN, while the Owncast side used my self-hosted setup, with the Owncast server hosted on my home network and then fronted by my Linode as a caching proxy. As part of maintaining continuity with the rest of the festival, I streamed the previous and next participant into the VRChat world using a scene that just embedded their respective players and chat. Originally I used the HLS m3u8 but it was much too unreliable, and switched to using the player embed as a browser source. For the chatbox I used a browser source with some custom CSS: body { background-color: rgba(0, 0, 0, 0.5); margin: 0px auto; overflow: hidden; } html { font-size: 36px; } #chat-container { background-color: rgba(0,0,0,0.5); font-size: 200%; text-shadow: -2px -2px 1px black, -2px 2px 1px black, 2px -2px 1px black, 2px 2px 1px black; } .ChatActionmessage_chatAction__SaAM1 { background-color: rgba(0,0,0,0.5); font-size: 24px; } .ChatSocialMessage_follower__yYsqi { text-shadow: none; } .ChatModeratorNotification_chatModerationNotification__BNHEb { display: none; } ### Gear loadout Here was my pedal setup for the show: As usual I was using my lunchbox amp primarily as a power source for my pedal chain. The signal chain is a Boss RC-20XL loop pedal, a Hotone Soul Press II wah pedal, a cheap alphabet-soup-name distortion pedal, and a TC Electronic POLYTUNE 3 tuner. The “loose” pedal in front of the loop pedal is the control switch for my reverb unit. I also have a couple of other effect pedals in that image that aren’t in the signal chain; the blue one is a cheap shimmer reverb that I’ve been playing with but haven’t found useful for any of my typical live stuff, and the pink one is a cheap reverb+delay+loop pedal which I’ve found adds way too much saturation to the signal. For this show I used my Epiphone Sheraton II guitar (the blonde one on the left): For electric sets like this one, I only use the loop pedal as a convenient way to lift my guitar signal to line level. I also have a dynamic mic (on the round-base mic stand) connected to the looper, which is nice for adding hand percussion and glockenspiel to loop pedal performances, but I didn’t use it for this show. ### Hand tracking A bit over a year ago I wrote about my quest for VR hand tracking on my main blog1. At the time the EOZ Immersive Gloves were not yet available, but since then I have gotten into their early adopter beta program and have been part of their group of testers, which has been a hugely helpful opportunity. The way the EOZ gloves work is that they install an alternate controller profile to a pair of Tundra trackers, which makes them appear as SteamVR hand input when no regular controllers are connected. They also connect to an external circuit that puts a bunch of IMUs on each finger (rather than using more traditional strain sensors). I have found that the gloves themselves in their current prototype stage are a bit uncomfortable and constraining, and not great for my grip when playing guitar. But, the alternate controller profile happens to work perfectly with my 3D printed wrist mounts, and while I don’t get finger tracking, getting the general position down is all that I really care about. It would be nice if there were a way to have the hand trackers just work by overriding the position of my controllers and then otherwise use the controllers for the finger sensors and buttons, but this setup works well enough that I can compromise on the slight annoyance of having to turn my controllers on and off when I need the buttons. ### Clothing The fun with the camera gimmick is that I like to have my physical body dressed more or less the same as my avatar. For that I have leggings and a tunic top (which is what I modeled my in-game clothing after in the first place). And of course I’m wearing some plaid socks (which I think I got on clearance at Target). ### Body tracking I’m just using EOZ VR straps, specifically their belt and their foot straps. ### Backing tracks I maintain a library of backing tracks for my non-acoustic performances. Some of them are just album versions with the lead vocals and guitar omitted, and some of them are all-new versions that I’ve produced specifically for live shows. Many of these I intend to eventually use for an album where I revisit many of my songs in new styles. When I set up a set list I put the backing tracks onto a timeline and order them for flow and musical progression, add in a couple of strategic drink and banter breaks, and then add little title cards to let me know what song is coming up next and any pertinent banter notes (typically things to call out like “second last song” or “shout out Chorus”). I play the video file in VLC, with the window set to float in my VR playspace. The plus side to this approach is that it keeps my show timing down pat and lets me make sure that I fit in all the songs I mean to fit in. The minus side is I have no flexibility in case of technical difficulties and I cannot take requests on the fly (although I don’t think I’d really be able to accommodate requests in these shows anyway; that’s a lot easier on my totally-live acoustic sets). This was the set list and the origin of each backing track: * Behind a Mask: This is the album version with lead vocals muted, and the lead guitar removed past the intro. * A Long Plastic Hallway: This is just the album version with lead vocals muted; when performing it live I’ll add in more guitar for texture that wasn’t in the original. This is also the only track where I make use of my reverb unit’s switch. This track also has a lyric cue sheet for reference, as I’ve had a hard time getting “off-book” on this song. * Run Faster: This is a funk version I created specifically for VR performances. * tw3rp: This is a funk version I created specifically for VR performances. I really should add visual cues because I _always_ forget my auditory cues for when to come in. * Sometimes It’s Hard to Keep Yourself Moving: This is the album version but with the drums replaced with something with a more “live” sound. This track was new to this show. * Baby, Be Quiet: This is a funk version I created specifically for VR performances. It also adds an outro that was not in the original song (but which I have been adding into my live performances for ages). This has a few visual cues for when the different sections start so I don’t lose track of the solo. * Change Is Coming: This is just the album version with lead vocals muted. I perform additional guitars on top of the synthesized guitar in the album track. I tend to mess them up pretty badly. This one also has visual lyric cues because I have a hard time remembering all of the lyrics. * Material Change: This is a disco-funk version I made specifically for VR performances. * Bipolar Bear: This is the upcoming album version sans guitar and vocals. This show was the debut of this track. It has visual lyric cues out of an abundance of caution (since the song is so new) but I don’t seem to actually need them. * Strangers: This is a piano pop version I made for VR performances, although the piano arpeggio is taken from one of the synths in the original track in places (used as a specific leitmotif of sorts). * Freak Flag: This is the album version. I play guitar on top which wasn’t part of the original. Someday I’m going to make a version based on the 2020 jazz rendition, because I love its energy for a live performance. I also have visual lyric cues on this because I tend to forget verses, which is ridiculous considering how short this song is. * The War Machine: This is the released single version. I try to play guitar on top of it but I have a really hard time remembering the chords while actually performing for some reason (it always goes well in practice). It also has visual lyric cues but I don’t really need them anymore. * Space Cadet: This is just the album version, which I play additional guitar on top of. * No Brakes: This is a grunge-funk fusion version that I produced specifically for VR performances. * The Difference: This is the upcoming album version sans guitar and vocals. This track debuted at this show. It also has visual lyric cues which I probably don’t need but I still use them out of an abundance of caution. * Safety in Numbers: This is a disco-ska fusion version that I made specific for VR performances. The reason I’ve done so many disco/funk versions of things is because one of the Moonlit Academy shows had a city pop/funk theme, so I decided to adapt a couple of my songs to it, and I found that it brought a great energy to the performance. I ended up liking it so much that I’ve used that as my preferred style for my live adaptations going forward. ### Show post mortem I think that things went pretty well, all things considered. I did mess up a few of my lyrics (which I don’t think anyone else noticed), and I definitely had trouble with the guitar chords on both Change Is Coming and The War Machine. I was also sweaty and fatigued and in a bit more pain than usual. Hour-long sets always take a lot out of me, but I also feel like it’s very worth it in the end, even if I can’t do them as often as I can do 30-minute sets. I loved reviewing the chat transcript afterward and seeing all of the kind comments, and I’ll similarly enjoy editing the video and listening to the background chatter that I couldn’t hear over my own performing. I find it very funny that at every show since Furality I’ll have people requesting my Furality jingle, which is not something I’m going to ever do on a backing track set (the Furality song specifically, but also taking requests generally). But it’s something I can accommodate in an acoustic show (time permitting, of course), and I am always happy to do it while busking. Anyway. NHAMFest was super good and I hope this is a tradition that keeps going! It’s a huge amount of work for everyone involved and I think we’re all going to be taking a _very_ well-deserved nap. Thanks to everyone who attended, both on the Fediverse side and in VRChat, and thanks _especially_ to the folks who ran the show and kept it going so smoothly, as well as to Noxi and Tune Together for knocking it out of the park with hosting and promoting the show on the VRChat side. 1. I notice that on that blog post I was talking about the Leapmotion as the next thing I was going to try. It ended up not working at all well; it drew too much power for the BigScreen Beyond to handle, and even if I connected it to a USB port directly on my computer the tracking quality was pretty abysmal. ↩
000
fluffy @bsky.sockpuppet.band · 28/08/2026
species confusion.jpg
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Sex in the Closet
Some affection music for having finished the sneaky stealth puzzles. Did I say “affection?” I meant “fucking.”
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Fishing Is My Cardio
A shopping theme for Gone Fishing.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Gone Fishin'
Jigs pitched a fishing game in the style of Animal Crossing, and specifically wanted some chill bossa nova.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
A Night on the Town
A post-puzzle affection scene.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Armored Combat
This is the standard combat theme for Yamatsu.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Taffangora
Originally made this for a game which got cancelled due to time constraints and overly-ambitious scope, so it’s unfinished.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Die, Walküre, Die
This was an idea for Yamatsu’s boss fight music, although it was rejected for not fitting the vibe. Totally valid. The title of this track is a Simpsons + Wagner reference.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Fusion Battle
This, too, ended up not going into a game that got released in time for the jam, due to time constraints and overly-ambitious scope. I’m detecting a theme, here. This year did not have a good track record for me. I’d definitely prefer if people who come to me for music have a plan to release _something_ even if it’s unfinished.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Women Fear Me, Fish Love Me
Gone Fishing. It’s a game about fishing… right? Yeah, fishing.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
love and monsters.jpg
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Wandering
This is the overworld theme for Yamatsu.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Synthcraft
Title music for Ass Without a Trace 2.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Diegetic Potato
For a visual novel prequel to Gooning Simulator I was given a rather long and detailed pitch, but for the jam the scope was limited to just a single flirting scene at a bar. Maybe this game will get more music later.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Rose
Originally made this for a game which got cancelled due to time constraints and overly-ambitious scope, so I repurposed it for a different game, which _also_ didn’t get finished for the jam due to time constraints and overly-ambitious scope.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Kairo
The actual boss fight music for Yamatsu. This is the combat theme but with some extra pizzazz.
000
fluffy @bsky.sockpuppet.band · 28/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
A Day at the Beach
Made for Rubber Wizard Can’t Catch A Break. I always enjoy making music for this series.
000
fluffy @bsky.sockpuppet.band · 22/08/2026
sockpuppet.band
Quick note re: elasticStage
You might recall that I was pretty positive about elasticStage since they allow small musicians to do one-off or small-run vinyl record production and their quality was pretty good given the price. But there’s a few reasons I cannot currently recommend them and have taken my various links and reviews down: * Even though they have difficulty keeping up with the manufacturing demand for actual musicians, they’ve gone into supporting AI musicians, and are (as far as I can tell) the manufacturing partner behind Suno Vinyl * They have had a huge uptick in quality assurance problems and miscuts; I’ve had to get some of my personal copies recut and the process for getting them replaced was pretty difficult, and I cannot in any good conscience require that listeners have to deal with them in case things go south * They’re heavily leaning into Boy George and his awful, culturally-appropriative, anti-Palestinian AI slop “music” and I cannot in any good conscience support any company who would make that decision Other folks might be willing to still work with this company but I personally am not. If there are other short-run vinyl manufacturers who have a better track record and a reasonable price, I’d welcome suggestions. (I already know about Kunaki. They’re a bit expensive and their reviews for vinyl are pretty bad, unfortunately.) Of course also the way they manage payments means there’s no way for me to withdraw my meager earnings from them, either, but what else is new with these indie-exploiting music companies…
000
fluffy @bsky.sockpuppet.band · 18/08/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Freak Flag
**Ace:** Shorthand for “asexual;” someone who doesn’t feel sexual attraction to others. They may or may not have a libido, and they may or may not be willing to engage in sexual practices with others. Some asexuals do form romantic attachments, or have limited circumstances in which they can feel sexual attraction as well (although typically not to a specific person). Just like any other orientation, there is a lot of variety in what they are interested in and comfortable doing. **Bondage:** An erotic, parasexual practice involving the complete domination/subjugation of one partner by another; the dominant party enjoys the feeling of control, and the submissive enjoys not having any control. Often involves being (safely) tied up and tortured in various ways. Consent, safe words, and communication both beforehand and after are key. **Bottom:** Someone who typically takes a submissive position during sexual activities. **Breakfast:** A meal enjoyed after a good night’s sleep. In the US, stereotypically involves bacon or sausage, eggs, and pancakes. **Consent:** Ensuring that all participants in an activity want to be a participant in it. This is not limited to specific physical things, but also, for example, being part of a discussion or being made to see imagery of it. There is also a concept of “statutory consent” in that living beings (people, pets, etc.) who do not have the faculties necessary to make an informed decision as to their participation are de facto unable to consent. This can be due to them being e.g. asleep, under the influence of medication, mentally-impaired, limited in personal experience (often measured by age), and so on. **Content warning:** A warning about something that others might not want to see (such as erotic or disturbing visuals or descriptions/discussion thereof) for whatever reason. Usually combined with some mechanism of hiding the content from those who don’t actually want to see it or making it visibly distinct enough to skip. **Coupling:** Mutual masturbation; two or more people using a device or (more often) their hands to bring each other to orgasm rather than direct penetration. **Dungeon:** A place where bondage and domination play can take place. Usually just someone’s specially-equipped bedroom. **Fencing:** A sport in which two or more people knock their swords against each other. May or may not be a euphemism. **Furry:** Someone who is part of the furry fandom; there is a stereotype that this is all about sex while wearing animal costumes but there is actually a wide variety of ways in which people participate. The furry fandom is a predominantly-queer space filled with people who have had to throw away and rebuild their identities as part of their acts of rebellious self-discovery, and much of that identity revolves around what could be, rather than what is. **Horny:** Someone who is in need of sexual release. **Humiliation:** Some people find their intimate practices to be very personal, and would be very embarrassing if it became widely-known. Some people find the perceived embarrassment itself incredibly gratifying. **Itch:** A physical sensation of needing to be scratched or rubbed; also used metaphorically as a general urge. **Kinky:** Someone who is very much into exploring different forms of physical intimacy, often involving props, body modification, and exploring different positions. **Lad:** Someone identifying as male and generally perceived as being fairly young. **Leather:** A material derived from the skin of an animal, usually cow, which is often associated with articles of clothing used during BDSM. As it’s animal-derived, some folks prefer to use artificial/simulated versions of it. **Legal:** Above the age of consent, and able to give consent. **Mother:** Literally, the person who gestated and/or raised someone. Figuratively, someone who takes a figurehead role within a group, possibly in the form of domination play but also possibly in the form of keeping a social circle together or establishing the rules and mores of a close-knit, found-family community. **Murr:** A thing that furries stereotypically say while aroused. Often written “mrr.” **Normie:** Someone who is “vanilla,” i.e. only into very mainstream ideas of sex, sexuality, and partnership. i.e. anyone who actually needs to read this glossary. **Peg:** Wearing a prosthetic phallus and using it to anally penetrate someone, typically male-identified. **Rubber:** Both a euphemism for a prophylactic (which is usually made of some form of latex or similar material), and a material often used to cover various body parts in a form-fitting way. Some people very deeply appreciate that aesthetic, especially appreciating the smooth, shiny texture. **Safeword:** A phrase used before initiating an activity where words such as “stop” or “ouch” are ambiguous, due to possibly being part of a roleplayed scenario or being part of the erotic nature of the activity. This is agreed upon by all partners beforehand so that if someone is feeling uncomfortable or needs to cease the activity, all who hear it will immediately know to stop. Ideally it is a word which will not normally come up during the activity, such as “lemon” or “asparagus,” although in the case of erotic chef roleplay those particular choices would obviously not be suitable. **Shiny:** Highly reflective of light. **Social:** Shorthand for social media; Twitter, Tumblr, Facebook, that sort of thing. More broadly, Internet sites where everyone you know can see a thing and where it remains accessible in relative perpetuity. **Strap-on:** A prosthetic phallus, usually held in place by a belt around the wearer’s waist. **Switch:** Someone who alternates between being a top and a bottom. **Top:** Someone who typically takes a dominant position during sexual activities. **Trans:** Identifying with a gender other than what they were assigned at birth. An adjective, which typically modifies a further specification of what their identity is, rather than their external assignment; for example, “trans girl” typically refers to someone who was born with a penis but identifies as female or feminine. **Yuck:** A thing you’re not supposed to say about someone else’s “yum” (a thing they particularly enjoy), although there are certain things that most would agree absolutely are a “yuck,” such as real-life incest, bestiality, pedophilia, or other such situations where consent cannot be established. Fantasy versions of those, however, are subject to the participants’ taste.
001
fluffy @bsky.sockpuppet.band · 10/07/2026
sockpuppet.band
Symphonic followup
Over on Reddit, someone asked about TooLost, and I mentioned that I used to use them and to avoid them like the plague and I said that I’ve been using Symphonic. They had some followup questions for me and I felt that my answer was detailed enough that I should also post it as a blog post here for future reference. This is sort of a followup to my previous review about them; nothing has really changed but I’ve had more encounters with their support side of things that I have a more detailed picture on what it’s like to work with them day-to-day. Note: I may earn a commission on affiliated product links in this article. Anyway, here is my comment, verbatim: > I’ve been with Symphonic since March of this year, and I currently have 19 releases managed by them (and one release each on Soundrop and CDBaby). > > I’ve had plenty of support tickets with Symphonic and they usually get back to me quickly, although often the response is clearly AI-written. When that’s been insufficient I’ve been able to escalate to an actual human, though, and the answer I get is honest and straightforward, like either “thanks for the feedback” or “that’s on the roadmap” or “that’s not something we want to support” or the like. > > My big complaint with Symphonic is that their metadata interface is very annoying to work with, and requires a lot of scrolling and clicking to set things like genres and individual credits. They don’t have any way of just setting the same credits for all songs on an album, and the genre selector is super annoying. I’ve given them some feedback on how it can be improved but I think it’ll be a while before any changes happen there. > > I’ve also had them reject releases based on genre or title-related things (for example, they would not accept my release’s original title of “Lo-Fi Beats to Grind Coffee To” because apparently “lo-fi” and “beats” are both blacklisted due to AI slop) but they’ve been straightforward in communicating about issues like that. > > They’re also a lot more strict about the cover art text requirements and, in particular, detecting text that isn’t in the release or artist name. > > I’m not thrilled with their reliance on AI for customer support, and reading between the lines a bit I suspect they also use AI for developing the site itself. They’ve also raised prices and tried to justify it based on providing AI marketing tools that nobody actually wants, but I think that’s just misplaced marketing efforts to try to justify them not operating at a loss. > > My main complaint is just that the UI/UX on the uploader and tagger _really_ sucks to use with my particular set of physical disabilities and I can’t imagine it being a good experience even for people who don’t have chronic pain issues, and I wish they’d provide some sort of API-level access so that I can just script my uploads with the metadata I already have on my own end. But I can also see why they wouldn’t want to do that, since it’d make it way too easy for people to automate AI slop uploads, which they are firmly against, at least for the music and art. > > They have a more detailed explanation of their stance regarding AI. I would say that as far as mainstream distributors go, Symphonic is the least-bad of a lot of bad choices. If I had my choices I’d not be on major streaming at all, but that’s where people want to listen to me. Hopefully Fairplayer and other distributed/indie streaming options take better hold. (I’m certainly trying to do my part to make it happen!) But anyway, in the meantime, if you do want distribution on the major DSPs, Symphonic has been pretty okay for me.
000
fluffy @bsky.sockpuppet.band · 02/07/2026
sockpuppet.band
A Man Like Steve
A silly jungle remix of a classic Marcus Brigstocke bit
000
fluffy @bsky.sockpuppet.band · 30/06/2026
sockpuppet.band
Bandcamp alternatives
Just when I was starting to think that Songtradr’s acquisition of Bandcamp was turning out to not be the big problem everyone predicted, they’ve gone and shaken everything back up by laying off the remaining Bandcamp engineering team. This, uh, is not a good sign. So, anyway, while I’m not planning on dropping Bandcamp entirely just yet (and will still be uploading my new releases there for the foreseeable future), here’s some of the other places I sell my music. ### Mirlo Mirlo has been around for a while, but they made some pretty great strides when the original issues with Bandcamp had started to happen. They are, currently, my favorite of the Bandcamp alternatives, for the following reasons: * They actually care about artists and trying to make a better ecosystem for everyone * Their principles are based on socialist collectivism * Their long-term goal is to provide interoperability and a federated world so that they don’t _have_ to be a single point of failure, business-wise, and are being developed as open source * Their uploader is great (especially when paired with Bandcrash) * They give artists a choice of how much of a cut they take * They provide integrated merch sales (albeit with fairly clunky shipping setup), a fully-fledged artist blog (for those who need it), and monthly support options as well * They support pay-what-you-want with both an absolute minimum and a suggested default Things are still a bit rough with them in some places; for example, I don’t like how their frontend is currently a ReactJS app without any server-side rendering (which is bad for SEO and some forms of interop), and they still don’t currently have the ability to generate discount codes or do per-track artwork, but they’re constantly making progress, and ethically and politically they are about as far left as is possible in the space. I really want to see them do well. ### itch.io itch.io is an independent games, assets, and content store. I actually first learned about them as a place to sell my comics, although they’re primarily used for games and tools. They aren’t designed specifically to be a music store and leave a lot to be desired in the music sales department, but with Bandcrash it isn’t too difficult to manage your albums there. Like Mirlo, they allow you to set whatever platform cut you like, and they also have flexible bundles and discount codes, which puts them a bit above Mirlo. They also let you organize your catalog into categories/sections. They also give you an incredible amount of control over your page layout, with the ability to provide custom CSS on request. And they even provide the ability to sell merch, although it’s pretty clunky to set up. They also support pay-what-you-want with both absolute minimum and suggested default prices. However, there are a few reasons why they don’t earn my top choice; for example: * The company is very small and centralized, and has a very high bus factor * Their interoperability is quite minimal and lacks a robust API for doing things that would be very helpful to do * As they do not have a music focus, there are a lot of places where things could be better, especially with sales reporting and discovery Still, as an independent digital asset shop (with potential merch sales), you could certainly do worse. ### ko-fi Ko-Fi started out as a Patreon alternative with a tip jar and monthly support options, but they also have a commissions platform and sales for both digital and physical items. It’s pretty okay as a shopping cart, although handling physical and digital versions of things is a bit clunky as they have to be separate items (which means uploading the digital version twice, once for each version). Also, the only way to provide an audio preview on the shop itself is via a YouTube embed. To that end it works as a supplement for having your own website, but it’s not a great shopping experience. Also it offers absolutely no discoverability at all. They don’t offer a flexible sales cut option, but the standard cut they take is a mere 5%, and you can choose to pay a small monthly fee to waive that. They also do have discount codes, but they don’t have easily-managed discography bundles. Also, they support pay-what-you-want with absolute minimum prices, although there’s no way of doing a suggested price. Personally I focus on Ko-Fi for selling physical goods that aren’t music-related, but I do have all of my albums available there in digital form. ### Subvert This is a newcomer to the indie sales space. I’ve written a bit about them already. They have some interesting ideas, namely instead of taking a cut they ask for customers to pay a tip to the platform to keep it running (similar to Gofundme), but I personally feel like they are prioritizing style over substance, and the actual upload and metadata editing process is a bit onerous. There’s nothing about them that stands out in particular aside from the co-op business model and the customer-driven cut. Like many other sites, they support pay-what-you-want with an absolute minimum; they also let you offer discounts to other co-op members, which is nice. One notable missing feature is the ability to have hidden tracks on albums. There’s also no means of doing per-track artwork that I can find, which is something supported by both Bandcamp and Bandcrash. I’m not focusing too heavily on Subvert, although I will probably continue to upload new releases there for now. I’m not super confident in their future but hopefully they’ll surprise me. ### Places I am not interested in and why I used to use Gumroad, but its founder, Sahil Lavingia, has a long history of problematic behavior. Additionally, Gumroad is now primarily AI-coded and supported. I have also been receiving spam from various up-and-coming wannabe services that are being vibe-coded on platforms like zilla.so and so on. My thought on things like that is: if the promise is that you can start up a company based on just a notion that you don’t have to think about, why wouldn’t anyone else just do it themselves and cut out the middleman? ### A note about web presence Personally I think that any musician should have their own website that they run on their own terms, with whatever features make sense to them and with their own web domain and so on. I don’t believe in putting all your eggs in someone else’s basket. I run this site using Publ (and I will someday get around to releasing my site templates to make it easier for someone else to do so). A lot of folks use Faircamp which has a lot going for it. You can also build a site with any number of site generators like 11ty, Hugo, or any number of static site generators. Heck, you could also hand-code it the old-fashioned way. Even if you don’t want to build your own site, I highly recommend getting your own web domain and at least forwarding it to your favorite sales channel, or setting up a Linktree or Carrd to direct people to your preferred sites.
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
radio ready.jpg
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Sunny Again
Back in 2003, when this song was originally written, it was considered “okay” and “funny” to dox and harass trans people. And if it happened to someone, clearly it was their fault for being trans and not being 100% perfect at keeping their private information private. **_Ask me how I know._** In the midst of getting dozens of harassing phone calls, random evangelists being sent to my door hearing I’d “found Jesus,” and being added to dozens of religious mailing lists, I was, as you might expect, pretty tired and grumpy. And the people around me thought it was just a joke, or my fault for being trans. What could I expect from society, because of this “choice” I “made?” And meanwhile, being largely in the closet in person, I couldn’t even share that this was going on with most people around me. They could see that I was stressed, but as usual, leaned _hard_ on toxic positivity nonsense, telling me that I needed to cheer up and that things weren’t so bad. Sometimes you just need to wallow and hide, and sometimes it’s okay to tell people to fuck right off, especially when they refuse to get it. The original version of this song was a lot angrier, and also only had three chords. It was one of the first songs to be selected for remixing on Remix Fight (a long-gone side project from a bunch of Song Fight! people), and I was fortunate enough to have the song be remixed by Victor “fourstones” Stone, who would later go on to found ccMixter. I had actually forgotten all about that until a few days before I started on this track (and had no idea how I was going to handle this song) and his remix came up in my playlist, and one of the changes he made to the chord progression gave me the inspiration I needed to complete my new arrangement. So, thank you, Victor, wherever you are.
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Sliced by a Mandolin
Originally composed for a game soundtrack.
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
love and monsters.jpg
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
refactor.jpg
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
love and monsters.jpg
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
tales of the under.jpg
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Deer Drinking from the Catacomb Stream
This song came to me in a dream about love and loss and growing up.
000
fluffy @bsky.sockpuppet.band · 28/06/2026
[Audio] [Original post on sockpuppet.band]
love and monsters.jpg
000
fluffy @bsky.sockpuppet.band · 21/06/2026
sockpuppet.band
Deadnames, Ko-Fi and itch updates
When I first released Deadnames I mostly only included the various in-progress forms of what would eventually end up on Transitions, but I also included the original and Plus 5 versions of 120 MPH, which I’d updated for Love and Monsters. I think I had also meant to include Safety in Numbers for the same reasons, but it ended up slipping my mind. Maybe I thought it would get its own separate release somewhere? But I have no idea when or where that might be. So, last night I finally got around to remastering the original version and adding it to Deadnames, so if you already bought that album digitally, you should now be able to redownload it and get the updated audio. The CD version was already at pretty close to the maximum length of a CD, and adding Safety in Numbers to that pushed it way over, so the CD version that’s available now is missing the two hidden tracks in favor of Safety in Numbers. I only know of one person who actually has a physical copy of Deadnames other than myself, so I don’t think that impacts anyone. But anyway, updating the files on my Ko-Fi shop made me also realize that Bandcrash had a stupid bug that was preventing the MP3 files from getting the cover art tags (which is something I really should have had a proper automated test for, but the state of that code’s tests is kinda abysmal). So I’ve now reuploaded all of the MP3 versions to Ko-Fi and itch.io, so in case anyone’s actually bought any of my albums there, you’ll want to redownload the MP3 version from the respective library. This also wreaks havoc with the Musicbrainz metadata! I’ve submitted some updates there although who knows how long it’ll take to get accepted. Anyway. This whole thing affects, like, ten people. But I figured I’d post about it so people would know.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Play That Game
A song done to celebrate the birthday of my friend Heather “moboid” Kelley. Specific works referenced: * Super Hypercube * Kokoromi in general * Lapis * Body Heat * Fez * I Crave Rapport * Let’s Talk About Me * Joue le jeu / Play Along * Our First Times * 4 Minutes and 33 Seconds of Uniqueness
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Alright Alright
I wrote this song in response to a well-meaning but clueless friend who saw I was suffering and would tell me I should “just cheer up.” “Just cheer up” won’t make me less depressed. “Just cheer up” won’t solve my anxiety. “Just cheer up” won’t fix my chronic pain. “Just cheer up” won’t take away my stressors. “Just cheer up” won’t stop the world from hating me just for being me. Fuck toxic positivity. Anyway I think it was pretty bold of me to rhyme “up” with “up.” Those are the kinds of innovative lyrical ideas that normally only come with decades of experience.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Five Minutes
It was August 2004. I had just moved to New York City in July, and I had dreams of establishing myself as a musician and also finally transitioning and being able to be myself. Turns out that “myself” is still just super introverted and socially anxious, and places like New York wear me down faster than they build me up. Anyway the bit about “start a new family” was inspired by a stupid cishet-normative ad for life insurance that was plastered all over the subway at the time, about a mediocre man wanting to start a family and have two kids. In my take on it in the lyrics I never actually specify which part of the family I’d be taking, and I like to think that I’m just some sort of random factor that leads to a family being started without any continuing involvement of my own. Or maybe I’m the family pet. Who knows. This song is about random nerve firings that were going through my brain while sitting lonely on the subway and feeling isolated, and not about my actual aspirations. This song always sort of felt like it would be the pivotal moment in a semi-fictional musical about my life, and I guess that in the end, that’s kind of what this album as a whole is. This song would also be the second-to-last Song Fight! song I entered under the “band” name “fluffy porcupine.” New York was, also, not the place for me, and a few months after first recording Run Faster (which was about my job situation in New York), I would end up moving to Seattle, and it was time to reinvent myself again. I experimented with a few different band names before finally settling on “Sockpuppet,” a reference to how many other names I’d been operating under, and how I am one person presenting myself as an entire ensemble. In effect, this song marked the ending of one chapter in my life, and the beginning of the next. But my story is still being written, at least for now.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Golfpunk Rides Again
This song was written as a 20th anniversary celebration of the very first Song Fight!.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Don’t Let The Door Hit You
Written when the election results came in :D
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
A Long Plastic Hallway
This song was inspired by repeatedly tapping the tuning fork button on my portable amp.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Space Cadet (Brother Machine cover)
This was recorded in posthumous tribute to its composer, Seth Gibbs, who probably did not intend for this song to be about himself. His old band’s original version is available on Song Fight!.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Material Change
Originally for Song Fight!, 2022 This title went up when the Roe v. Wade reversal took place, and was a reference to the material change in constitutional law that had just taken place. Plenty of other people wrote songs about politics, so I felt okay with taking the title a bit more literally. This song is dedicated to my friend Beltrami, who is featured alongside me in the cover art. May we someday cross paths in this reality, too.
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
novembeat 2021- lo-fi beats to grind coffee to.jpg
000
fluffy @bsky.sockpuppet.band · 07/06/2026
[Audio] [Original post on sockpuppet.band]
sockpuppet.band
Delicious Candy [every anime theme song]
Caroline’s character theme from Full Course. Caroline was to have an interesting story arc, and was going to have _two_ character theme songs because of one of her traits. This particular song is for her extrovert mode (“Candy”), and was inspired by modern anime music. Its working title was “Every Anime Themesong.” She also had an introvert mode, “Strawberry,” although I never started work on that theme before the game was canceled.
000
fluffy @bsky.sockpuppet.band · 04/06/2026
sockpuppet.band
Furality Ultra booth video: behind the scenes
The video I made for my Furality Ultra booth was a lot of work, and I’d love to walk folks through the process! The assumption some people have is that I got a whole bunch of people together to perform in sync, but that is absolutely not the case. Instead, every single critter, and many of the visual props you see, are on their own separate chromakeyed layer, composited using DaVinci Resolve, each one acted by me personally. I had learned a lot of lessons from the video I produced for Furality Somna; for that one I just recorded a simple looping scene with a fixed camera, and played every single character in it, and again composited everything in DaVinci. I ended up making it all up as I went along, which was fun but also added about 3x as much work as it normally would have taken, and this year’s video being _much_ more ambitious I knew I needed to do way more planning for it to come out well. (The music in last year’s video, incidentally, is a lo-fi version of Material Change.) Here is a video showing some of the stuff that I’ll be describing in further detail: ### Music production I wrote and recorded the song up-front, and used that to plan the visuals as I figured out which musical genres to use. Some of it I had planned out ahead of time but some of it I figured out what made the most sense while I was recording the music. As usual I produced the music in Logic Pro, and I made heavy use of the folder stack functionality to keep my project organized. Each genre was recorded on its own separate set of tracks contained within a folder stack. I did end up making some changes to the music during production. The jazz segment in particular changed a few times, both to improve the lyrics and the vocal delivery. I went with a tempo of 128BPM, because the video is one minute long and there were exactly 128 beats in it. Sometimes you don’t have to overthink it. ### Locations After getting the music arranged, I wrote up a simple shooting script to plan out the scenes, and did a lot of location scouting to find places that would work well. My main criteria were: * It needs to have decent performance (so I could record at a steady framerate) * It needs to be possible to turn off post-processing (so that it doesn’t interfere with VRChat’s stream camera green screen) * It needs to be somewhere that’s recognizable to folks who are in my orbit The locations I ended up choosing were: * Community Open Mic (pop) * Piano Lounge Freude (jazz) * Trans Academy (choral) The first two are venues I’ve performed at many times, and Trans Academy is an organization I volunteer for so it’s special to me. Originally I was going to record the first segment in Transitions Club, where I’ve also performed many times, but unfortunately there’s no way to turn off the camera postprocessing there, which I only realized after doing a test recording and discovering that it affects the green screen. ### Avatars All of the avatars I used were my own; in particular, I made several versions of my standard critter base with different instrument setups, and also a specific drummer version of the Critter Junction resident base. The guitar, electric bass, keyboard, and drum sticks were my own models. I also modified the following meshes (all of which are free to use in this way): * Instruments: Violin / Piano / Double Bass by Tom Zimmermann (for the violin, viola, and double bass) * Cello by VM-Models * Drum Set by zaurian868 * Violin bow by CharlotteMeehan All of these were extensively modified for my purposes (particularly to make them VRChat-compatible). I also created a simple green screen avatar for part of the compositing workflow. ### Recording layers VRChat has a camera dolly system which allows you to set up and replay a camera path, but it doesn’t provide any real built-in synchronization mechanism. To keep things in sync, I did the following: 1. Created a basic lead-in click track (I used Audacity for this, but any music software will do) 2. Split the music into sections for filming 3. Downloaded sendosc to trigger the dolly camera 4. Wrote a basic Powershell script to synchronize everything up play.ps1 $click = New-Object System.Media.SoundPlayer 'click.wav' $player = New-Object System.Media.SoundPlayer $args[0] .\sendosc.exe localhost 9000 /dolly/Play b false echo "Playing click" $click.Play() Start-Sleep -Milliseconds 5000 echo "starting dollycam" .\sendosc.exe localhost 9000 /dolly/Play b true Start-Sleep -Milliseconds 1000 echo "Playing song" $player.Play() Start-Sleep -Milliseconds 16000 In order to film a pass, I would then invoke the script with a command like: powershell -ExecutionPolicy Bypass -File play.ps1 ".\1 pop.wav" I kept a single powershell instance open in the foreground so I could just press up and enter every time I wanted to film a take, which was quite often. Anyway. This script will play the click track for five seconds, then starts the camera dolly path, then one second later starts the music playing, so that I could then perform my choreography in sync with the audio track. I did several takes of each layer, and also kept an eye out for obvious rendering hitches during it, since those often cause the camera path to fall out of sync and cause other visual artifacts in the composite. Unfortunately, VRChat’s dolly system is a bit limited when it comes to synchronization. As far as synchronizing things in the timeline go, I found that there were 21 frames of latency between the display capture and the audio output capture from my headphones, and I used the click track to line the clips up in the composite. ### Dolly management I made heavy use of DollyManager to manage my camera paths, which was super useful whenever I had to do reshoots (which was often). Unfortunately, Camera Dolly does not store a bunch of settings when you export so I still had to make notes of a lot of things. And also it _does_ store a bunch of settings that you don’t actually want it to store, such as the green screen color. And the in-game editor is kind of a nightmare to actually use, especially for keyframes that are out of reach. Basically, the camera dolly as it stands right now is kinda half-baked. Hopefully VRChat improves it over time. ### Dealing with in-world props Most in-world props do not appear on the green screen, which is why I created the green screen avatar to mask those out. For those render passes I disabled the camera green screen, and stood behind the prop while recording another pass. This usually required a lot of extra work to make a clean plate in DaVinci, but it was worth it. ### The rock/pop scene This scene I ended up redoing multiple times while I figured out the workflow. Fortunately it was the simplest of the composited scenes, so it was well worth the time spent experimenting so I could make the later scenes go more smoothly. There are “only” seven layers in this composite: * Background * Drummer * Drum kit (world prop) * Backup vocalist * Bass player * Lead critter * Microphone (world prop) I recorded this in three separate shots each with their own camera path; I ended up only using two of the shots. During the first shot with the sweeping camera pan I had to do multiple cuts within the layers to change their ordering, which you can kind of see in the timeline: I added a bit of blur to the background layer, mostly to hide some annoying aliasing artifacts from the render since I had antialiasing disabled in VRChat to get the maximum possible framerate. Lens blur hides many sins. ### The studio scene For the scene where I’m in the studio I just found a world where there was a chair I could sit on, disabled fullbody tracking (so that the chair would work right), and lined myself up over a photo of my actual messy studio. Pretty straightforward. In the composite I added some extra thick cartoon outline and some film grain to make things match a bit better. I also spent way too much time figuring out how to post-process a shadow onto the seat cushion, which mostly got covered up by the speech bubble. Oh well, it was a good learning experience. Incidentally, I am _not_ singing along with the lyrics there, and instead am saying “Why isn’t this working?!” which is a common utterance from me whenever Logic is misbehaving. ### The pixel art scene This was another super-complicated composite. DaVinci doesn’t really have any good way of doing pixel-precise positioning or scaling, so what I ended up doing here was to draw every layer at 320x180 with things lined up how I wanted them in the frame, then scaled those layers up 6x with nearest-neighbor filtering (using ImageMagick) and then did the composite in DaVinci. The note lanes for the rhythm game in the background were just drawn as sprite layers which I moved in sync to the music, and I did a Fusion composition to extract the few rows of pixels where those notes hit the bottom edge of the controller sprites and then applied a ridiculous glow with a directional blur to them. The bouncing coin is something I quickly modeled and rendered in Blender as a 6-frame sequence. I looped that sequence in DaVinci and then gave it a simple motion path, synchronized with the beat. Each of the performers was multiple layers, typically a base sprite, a sprite for the instrument, and any additional sprites for hand positions (which I moved in 6-pixel increments using “step” interpolation) and so on. The falling sprites were done separately, of course. When the entire stage falls apart, I just applied some simple motion paths to them and went with what felt right, rather than anything physically accurate (but it was fun to make the trellis bounce off the floor, a decision I came up with on the spot). The main composite is around 20 layers, and many of those layers are also compound clips with 3-4 layers of their own. There’s a _lot_ going on. Watch it a bunch of times! ### The cartoon critter head That was all just traditional hand animation! I made a layer for the head, the blinking eyes, and a bunch of mouth shapes, and then I did the usual thing one does. Resolve, incidentally, is not particularly great for animating this way, but it worked well enough. For a longer animation I’d definitely want to use something else though. The best thing that came out of this was when I was drawing the base layer and doing a symmetry check: ### The big grid of games and videos and such The Undertale-style critter sprite was a modified version of the one I drew for the Undertale memories microsite that went up for the 10th anniversary of Undertale’s release. The footage all came from things I’ve worked on. Most of it was games I composed for: * Ass Without a Trace 2 by HoggTied (NSFW) * Psycho Burst and Airship Chef by Yamatsu (both NSFW) * Snack Stacker by Mitha * Pawmune by SundewBry * Treestoration by rtwfroody * Currying Flavors by chinniedraws * Magnolia’s Early Morning Walk by Definitely a Fox (NSFW-ish) * The Balance of Sappho by The Firecrackers * Hallowed Grounds by Paxton * The Herbal Spice Problem by Glass Dragon Studios * Admiralo Island Witches Club by cloverfirefly * Brickris Tetout by Bamboy * Elevate by Kamil Bazydlo * Haggle Waggle: Duck & Doge by z0lly * Spooky Sushi by Spectronaut * Refactor, Colorful Critter1, and CATcher by fluffy (that’s me!) But I also included two of the sillier videos from my random crap channel: * jukka wins it all * critter dance (a test of my customized Winterpaw rodent avatar) To actually animate the grid I just made two compound clips, each with its own 5x3 grid of cropped videos, and then scrolled each one across the screen. For most of the videos (which were 16:9) I could size and position them consistently by zooming them to 0.3333 and giving them a left/right crop of 384 (to make their effective resolution 1152×1080, the horizontal resolution being 1920×3/5, trust me this all makes sense mathematically). Horizontal positioning was in multiples of 384 (1920/5), and vertical was in 360 (1080/3). There were a couple of non-16:9 videos which I also had to deal with separately, but it was basically the same process, just with different numbers. ### The jazz club scene There wasn’t anything particularly different from this vs. the rock/pop scene, but in this case I recorded the background and microphone plates with postprocessing enabled, since Piano Lounge Freude’s lighting is all done in the postprocessing step. For the microphone I was able to clean up the postprocessing glow well enough, mostly using the “despill” function built-in to 3D Keyer. Oddly enough, the stage mic in Piano Lounge Freude _does_ appear on the VRC stream camera’s green screen, somehow. I assume there’s some specific render tag set on the object. As a result it appeared in my avatar video layer. However, it was still good to have the properly-lit microphone to composite on top to improve the look. To account for the postprocessing-based lighting I used DaVinci’s color grading to make the avatars look appropriately-lit in the composite. On the background I was originally thinking of using a green screen and then tracking it to put some of my other random videos in the space, but I decided that would have been too much work and also too visually-busy, so instead I made a quick-and-dirty plaid background video to run in a loop and then composited in the one shot from last year’s video more traditionally. ### The choral scene The choral scene was a _nightmare_ to record and composite; in my Resolve project this clip eventually got the name “the shot from hell.” The final composite had around 35 layers! These are due to the following: * There are 16 critters (11 in the choir, 4 in the string quartet, and the conductor) * Because of the sweeping camera motion I needed to change the composite order of many of the critters in places and it was easier to do that in additional layers * Because the critters are partially obscured by the fountain I needed to make a greenscreened traveling matte of it * And of course the website that appears in the background is another layer If you step through that scene frame-by-frame you will possibly notice some things sliding around a little weirdly, because VRChat’s framerate is also not in sync with OBS’s. I had OBS recording at 60 FPS, and VRChat generally renders at 75 FPS on my system, so it was the luck of the draw as to whether the frame timing would perfectly line up. Fortunately it’s Good Enough. In future projects I will definitely try running my headset at 90 FPS to see if that helps any. There were also some movements that fell out of sync due to render hitches, and for those I mostly fixed them in post by adding additional motion pathing to the layers. I didn’t get them all. There’s also a visual quirk in how the cellist’s tail hangs through the floor but remains visible. Ideally I’d have added a floor collider to the avatar to prevent this, but perfect is the enemy of done, and you probably didn’t notice those issues until you read this text. ### Some chromakey tips Most of the chromakeying was just using DaVinci’s basic “3D Keyer” chromakey. In some spots I had to mask some things in separately from how I masked them out, because of color clashes between avatar parts and the key color. (This was especially problematic for my main critter’s colorcycling-rainbow material, as well as my collar which is green in most forms.) In a couple of spots I did find it useful to use “magic mask” as a pre-filter for 3D Keyer, but most of the time it was much easier to just do combinations of 3D Keyer and use its built-in garbage matte. Also, while you can change the green screen color in the VRChat camera, you have to remember to set it up before you set up a camera path, or edit the saved path JSON. Fortunately, VRChat’s green screen is a single solid color with precise values so you can generally get away with having a green object on a green background as long as you set the key mode to “tight,” although some of the mask refinements will still require extra work. ### That halftone wipe transition DaVinci doesn’t have a built-in halftone wipe or any sort of built-in halftone functionality at all, so I had to roll it myself. I approached it from a graphics programming perspective. You can think of a halftone as being similar to an ordered pattern dither, where the threshold pattern is given by: \\[ u = k(x\cos\theta - y\sin\theta) \\\ v = k(x\sin\theta + y\cos\theta) \\\ t = (\sin u + \sin v + 2)/4 \\] So, what I did for this was to generate a halftone screen function (I used a procedural texture in Affinity Photo for this but I could have probably figured out a way to do it all in DaVinci) and then merged it with a gradient with an additive blend, then applied a threshold filter to that, then used the resulting image as the blend mask to overlay the incoming clip over the outgoing clip. Animating the gradient’s start and end points to sweep across the frame generated the wipe transition. Easy. (Someday I will release this as a template for others to use, because it’s a really cool effect!) ### Some basic statistics * Amount of raw footage recorded: 5 hours, 36 minutes and 25 seconds * Amount of time spent working on the music: around 14 hours, apparently (it sure didn’t feel like that long though) * Amount of time spent editing video: I have no idea because it turns out Time Sink wasn’t running on my editing computer this whole time, _oops_ , but I’d estimate probably 40-60 hours? So this video took around 70-80 hours of work altogether. If someone wanted to hire me to make something like this it would probably cost around $5000 at a highly-discounted rate, or $8000 if I actually valued my time, which I clearly do not. Hopefully I get at least $5000 in music sales out of this. (Mirlo and Bandcamp are probably the best choices for that.) 1. Technically Colorful Critter doesn’t have music, but it does have (minimal) sound design, and it’s one of my favorite little game-toy things so I don’t regret including it here. ↩
000
fluffy @bsky.sockpuppet.band · 25/05/2026
sockpuppet.band
Some site updates
Hey y'all, I’ve made a bunch of changes to this website, mostly structural. The big one is that now all of my albums are available for sale on Ko-Fi, and I’ve also restructured the “buy box” under the player preview to better show what the various icons even are. I’ve also refreshed the website stylesheets to hopefully make them more maintainable, but in doing so it’s possible I broke something. Please let me know if you come across any issues like that!
000
fluffy @bsky.sockpuppet.band · 22/05/2026
sockpuppet.band
Welcome Furality attendees!
Hello there! If you’re reading this in or before June of 2026, it’s quite likely that you have found me through the Furality dealer’s den. Thank you for visiting, and for being interested in my music and other creative services. I’ll try to answer the most frequently-asked questions you may have here. ### Why aren’t you on… #### Spotify? All I can find is The War Machine All of my reasons for not being on Spotify aside from The War Machine are explained in The War Machine. If you want a bit more detail, read this older blog post. #### Tidal? I actually am on Tidal, but their artist management is currently broken in such a way that most of my releases don’t appear on my actual artist page. Hopefully this gets fixed at some point, but in the meantime you can check this dumping ground where most of my stuff seems to end up (along with a few other artists who also release as “Sockpuppet”). #### [insert other streaming provider] I try to keep my stuff on as many streaming providers as possible (except Spotify, for the reasons explained above), but not all of them accept my music for various reasons. If there’s a specific one that you’d like to see it on, please let me know and I’ll see what I can do! #### One of your releases isn’t on streaming I’ve been slowly rebuilding my streaming catalog after having an issue with a previous distributor. I’m focusing just on making releases available that I think people will actually listen to; if there’s something I’ve released that you want to hear on your streaming provider of choice and which isn’t there, please let me know! ### What the heck is your avatar? I’m a critter! #### What’s that? It’s an anthropomorphic human. #### Oh. … Wait, what? Don’t worry about it. ### There’s a lot of music here. Did you make all of it? Unless otherwise specified, yep! Most of my music is my own original work, with a small handful of covers and collaborations. #### Where do I even begin listening? Over on the releases page you can filter by genre, instrument, and topic, which might help. ### What software do you use? For music I mostly use Logic Pro, which I started using in 2004 and has been my main DAW since 2005. I also make somewhat heavy use of Native Instruments instruments. For video editing I mostly use DaVinci Resolve although for some things I still use Final Cut Pro. For artwork I generally use Affinity Studio although I’m not super thrilled with the direction it’s going in so I’m likely to switch back to Krita, especially now that 6.0 is out. ### What instruments do you play? Piano, cello, violin, viola, drums, guitar, bass, hand percussion, and a few other things to varying levels of proficiency. ### What’s your live VR performance setup like? I have a whole article on that. ### When/where can I see you perform live? I try to keep my live performance calendar up-to-date (and there’s also a calendar you can subscribe to via Google Calendar/iCloud/etc. if you’re so inclined), and also try to remember to post upcoming shows to my VRChat group. Past recordings usually show up on my YouTube channel. I’m also sometimes found doing karaoke or open mics with VRelium and Moonlit with Trans Academy. ### How else can I keep up with you? You could always join my Discord community. This site also has feeds you can subscribe to via your favorite feed reader, via Mastodon/Fediverse/etc. at `@sockpuppet.band@sockpuppet.band` or at @fluffy@plush.city, and via Bluesky at @bsky.sockpuppet.band.
000
fluffy @bsky.sockpuppet.band · 15/05/2026
sockpuppet.band
Species Confusion
After one too many times being mistaken for a cow in VRChat I was late-night ranting about it on Mastodon (as one does), during which I said I should write a song about this except it would probably make things worse. I shared the thread with my friend Jax, who is a fox, and she told me that she is always somehow getting mistaken for a wolf or a jackal, and she’d love to hear a song about all the different ways that people get confused about species in VRChat. So that made this song pop into my head, and I decided I’d record it for my upcoming album, Misfits. I tested it as new material at a couple of shows and the response was overwhelming, and several people asked me where they could get it right now. I told them it was going to be on my next album and I didn’t know when that’d be done, and they were very disappointed by this. Anyway, after a bit more time and thinking I realized that maybe this song didn’t really go with Misfits (ironically), and that it could be released as a single. So here it is.
000
fluffy @bsky.sockpuppet.band · 13/05/2026
sockpuppet.band
Subvert launched, yet another music sale platform
Hey y'all! Subvert officially launched today, and of course I have some of my music up on it. Having more options for independent-friendly music shops is generally a good thing, but I do have some thoughts about where things are going and how things could be a lot better. Subvert is getting a lot of hype because it’s new but I don’t see it as my long-term solution for music sales. I’m not sure what I’d consider to be my primary platform right now (probably Mirlo), but in the long term I think the future is self-hosting and self-distributing. ### The current state of things So, right now there are a whole bunch of indie music stores. The ones I currently have a presence on include: * Bandcamp * itch.io * Mirlo * Subvert And additionally when I want to put stuff into streaming I have to also upload it to * Symphonic (for the mainstream platforms) * Bandwagon (to get it on TheIndieBeat and other things) * KVRR That’s a _lot_ of things to have to upload my stuff to, each one requiring separate metadata setups and agreements and so on, and frankly, it’s super tiring. ### Canimus What I really want is a future where people can self-host their stuff with their publishing engine of choice (Faircamp or Publ or whatever), trivially sell their downloads, and from their own site also get their stuff circulated in the various discovery feeds out there. This idea was the impetus behind Canimus, a protocol for sharing collection metadata in a lightweight, platform-agnostic manner. Basically, the idea of Canimus is the following: * Music publishers can provide a collection (also known as a “feed”) as a simple JSON format that includes albums, tracks, titles, purchase links, and streaming preview links * Music collectors can provide an access-controlled collection * Listeners can link their player application (web-based or otherwise) to multiple collections * The player application can also provide feeds of peoples' listening activities and use that to build federated discovery and recommendations (by people following each other there as well) And all of this just lives natively on the web. Right now, Fairplayer is a thing that’s in development that shares many of the same goals as me. They’re working on specifically supporting Faircamp websites as a streaming music source, but I’ve also been in communication with them regarding Canimus, and similarly the folks behind Mirlo also share these goals. We’ve been talking a lot about some of the ways that things can move forward. This website already has a Canimus feed. I also added one to Song Fight!. At some point I want to make a plugin thingy so that FairCamp users can easily add a Canimus feed to their sites (although maybe the Fairplayer folks are already working on that? I need to touch base with them). ### Funkwhale and ActivityPub and such Whenever I talk about this stuff I always get people insisting that I should really be looking into ActivityPub and specifically Funkwhale. The promise is always that ActivityPub is somehow a magical protocol that solves all these issues, but only with a lot of hand-waving. The thing is that ActivityPub doesn’t actually solve any issues; it just pushes them down the stack, in ways that are even less approachable for everyday people. ActivityPub things don’t just naturally interoperate. Heck, Funkwhale 2.0 won’t even talk to Funkwhale 1.0! In order to actually build interoperability between things, the process involves building a FEP, a process that is arduous and results in a specification at the end that is very difficult to navigate or even find. Supposedly there are existing FEPs for music sharing and discovery, but damned if I can find any of them myself! They’re all just opaque numbers. And everything ActivityPub seems to _really_ want to use push-based notifications for all data exchange. Forget about backfilling, as well. It turns everything into a stream of ephemera, and requires two-way handshakes and peering relationships and, in many cases, PGP key exchanges. It’s a mess and trying to support anything in ActivityPub on a static website is pretty much a lost cause. Also the idea of being able to move to a new domain, or host the same site on multiple domains, is a lost cause. And every single means of interacting with ActivityPub stuff requires building yet another identity on whatever single-purpose service consumes it. Like, it’s not like it makes any sense to follow a Funkwhale user from a PeerTube user. You _can_ do it but what information gets exchanged? Basically, ActivityPub is full of a bunch of empty promises, and in order to fulfill the promise you have to write another protocol on top of it, get everyone to agree to that protocol, and fit it into a shape that might not work for things to begin with. I just really don’t see what it brings to the table, in any practical terms. ### The future is indie and distributed Right now things are such a mess. Fragmentation of streaming services, the downplaying and outright dismissal of the idea of owning music, myriad platforms that want to be the _only_ platform that anyone uses for all the things, and everything being funded by the endless churn of venture capital and rent-seeking. And musicians end up needing to spend so much time trying to feed these platforms. We all only have so much time in this life, and personally I’d rather not be spending it on repetitive tedium like having to re-upload and re-format my music based on the historical artifacts of a dying industry. My vision for the future of how people publish music: 1. The musician posts the music on their website using whatever tools work best for them (Faircamp, Bandcrash, etc.) 2. The music goes out in their own sharing feed 3. Their fans listen to it, buy it (or otherwise send payments to the musicians they want to support), add it to their collections, populate it into whatever distributed discovery mechanisms emerge, use whatever compatible player/receiver/streaming service makes the most sense for them There is no need in this world for investors or rent-seeking platforms that exist to be The One And Only Thing. Protocols emerge and evolve and change and adapt based on the actual needs as they shift. People can focus on being creative and finding things they love, and not have to worry about where they’re doing it. The web itself can be a perfectly good platform for all this stuff. Let’s try to make it happen.
000