<?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[<p>Updates, articles, and behind-the-scenes content.</p>]]></subtitle>
    
    <link href="http://sockpuppet.band/blog/feed" rel="self" />
    

    <link href="https://busybee.superfeedr.com" rel="hub" />
    
    <link href="http://sockpuppet.band/blog/feed?id=3183" rel="prev-archive" />
    
    
    <link href="http://sockpuppet.band/blog/" />
    <id>tag:sockpuppet.band,2025-12-21:blog</id>
    <updated>2026-03-19T12:08:38-07:00</updated>

    

    <entry>
        
        <title>Symphonic&#39;s genre listing</title>
        <link href="http://sockpuppet.band/blog/1910-Symphonic-s-genre-listing" rel="alternate" type="text/html" />
        <published>2026-03-19T12:08:38-07:00</published>
        <updated>2026-03-19T12:08:38-07:00</updated>
        <id>urn:uuid:1f41b764-dafa-450a-91b4-60fd7335173d</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>As part of reuploading my catalog to streaming, I&rsquo;ve had to deal with Symphonic&rsquo;s&hellip; less-than-ideal user interface, and one of the biggest pain points is how they present their genre listing, with a hard-to-search and super-inconsistent two-pane interface that makes it hard to find a specific genre unless you know which particular category they decided to put it in.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>As part of reuploading my catalog to streaming, I&rsquo;ve had to deal with Symphonic&rsquo;s&hellip; less-than-ideal user interface, and one of the biggest pain points is how they present their genre listing, with a hard-to-search and super-inconsistent two-pane interface that makes it hard to find a specific genre unless you know which particular category they decided to put it in.</p><p>Fortunately, it&rsquo;s all just data, so I was able to scrape the interface in order to get their current (as of March 19, 2026) genre and subgenre list.</p><p>This is subject to change, of course.</p>

        
            <p>I am not interested in discussing the merits of these genres (or anything missing from the list) or how they&rsquo;ve opted to categorize them; I&rsquo;m just the messenger.</p>
<ul>
<li>Alternative

<ul>
<li>Alternative (1)</li>
<li>Chinese Alt (118)</li>
<li>College Rock (119)</li>
<li>EMO (120)</li>
<li>Goth Rock (121)</li>
<li>Grunge (122)</li>
<li>Indie Egyptian (499)</li>
<li>Indie Levant (500)</li>
<li>Indie Maghreb (501)</li>
<li>Indie Pop (123)</li>
<li>Indie Rock (124)</li>
<li>Korean Indie (125)</li>
<li>New Wave (126)</li>
<li>Pop Punk (127)</li>
<li>Punk (128)</li>
<li>Turkish Alternative (502)</li>
</ul></li>
<li>Anime

<ul>
<li>Anime (129)</li>
</ul></li>
<li>Arabic

<ul>
<li>Arabic (130)</li>
<li>Arabic Pop (131)</li>
<li>Dabke (507)</li>
<li>Islamic (132)</li>
<li>Khaleeji (133)</li>
<li>Khaleeji Jalsat (504)</li>
<li>Khaleeji Shailat (505)</li>
<li>Levant (506)</li>
<li>Maghreb Rai (508)</li>
<li>North African (134)</li>
</ul></li>
<li>Audiobooks

<ul>
<li>Arabic (130)</li>
<li>Arabic Pop (131)</li>
<li>Dabke (507)</li>
<li>Islamic (132)</li>
<li>Khaleeji (133)</li>
<li>Khaleeji Jalsat (504)</li>
<li>Khaleeji Shailat (505)</li>
<li>Levant (506)</li>
<li>Maghreb Rai (508)</li>
<li>North African (134)</li>
</ul></li>
<li>Blues

<ul>
<li>Acoustic Blues (135)</li>
<li>Blues (2)</li>
<li>Chicago Blues (136)</li>
<li>Classic Blues (137)</li>
<li>Contemporary Blues (138)</li>
<li>Country Blues (139)</li>
<li>Delta Blues (140)</li>
<li>Electric Blues (141)</li>
<li>Traditional Blues (4)</li>
</ul></li>
<li>Brazilian

<ul>
<li>Axé (143)</li>
<li>Baile Funk (144)</li>
<li>BH Funk (525)</li>
<li>Bossa Nova (145)</li>
<li>Brazilian (142)</li>
<li>Carioca Funk (523)</li>
<li>Choro (146)</li>
<li>Forró (147)</li>
<li>Frevo (148)</li>
<li>Mandelao Funk (524)</li>
<li>Melodic Funk (526)</li>
<li>MPB (149)</li>
<li>Pagode (150)</li>
<li>Samba (151)</li>
<li>Sertanejo (152)</li>
</ul></li>
<li>Children&rsquo;s Music

<ul>
<li>Children&rsquo;s Music (5)</li>
<li>Lullabies (153)</li>
<li>Sing-Along (154)</li>
<li>Stories (155)</li>
</ul></li>
<li>Chinese

<ul>
<li>Chinese (156)</li>
<li>Chinese Classical (157)</li>
<li>Chinese Flute (158)</li>
<li>Chinese Opera (159)</li>
<li>Chinese Orchestral (160)</li>
<li>Chinese Regional Folk (161)</li>
<li>Chinese Strings (162)</li>
<li>Taiwanese Folk (163)</li>
<li>Tibetan Native Music (164)</li>
</ul></li>
<li>Christian &amp; Gospel

<ul>
<li>CCM (166)</li>
<li>Christian &amp; Gospel (165)</li>
<li>Christian Metal (167)</li>
<li>Christian Pop (168)</li>
<li>Christian Rap (169)</li>
<li>Christian Rock (170)</li>
<li>Classic Christian (171)</li>
<li>Contemporary Gospel (172)</li>
<li>Gospel (173)</li>
<li>Praise &amp; Worship (174)</li>
<li>Southern Gospel (175)</li>
<li>Traditional Gospel (176)</li>
</ul></li>
<li>Classical

<ul>
<li>Art Song (177)</li>
<li>Avant-Garde (178)</li>
<li>Baroque Era (179)</li>
<li>Brass &amp; Woodwinds (180)</li>
<li>Cantata (181)</li>
<li>Cello (182)</li>
<li>Chamber Music (183)</li>
<li>Chant (184)</li>
<li>Choral (185)</li>
<li>Classical (85)</li>
<li>Classical Crossover (186)</li>
<li>Classical Era (187)</li>
<li>Contemporary Era (188)</li>
<li>Electronic (189)</li>
<li>Guitar (190)</li>
<li>Impressionist (191)</li>
<li>Medieval Era (192)</li>
<li>Minimalism (193)</li>
<li>Modern Era (194)</li>
<li>Opera (195)</li>
<li>Oratorio (196)</li>
<li>Orchestral (197)</li>
<li>Percussion (198)</li>
<li>Piano (199)</li>
<li>Renaissance (200)</li>
<li>Romantic Era (201)</li>
<li>Sacred (202)</li>
<li>Solo Instrumental (203)</li>
<li>Violin (204)</li>
</ul></li>
<li>Comedy

<ul>
<li>Comedy (205)</li>
<li>Novelty (206)</li>
<li>Standup Comedy (207)</li>
</ul></li>
<li>Country

<ul>
<li>Alternative Country (208)</li>
<li>Americana (209)</li>
<li>Bluegrass (210)</li>
<li>Contemporary Bluegrass (211)</li>
<li>Contemporary Country (212)</li>
<li>Country (6)</li>
<li>Country Gospel (213)</li>
<li>Country Hip-Hop/Rap (503)</li>
<li>Honky Tonk (214)</li>
<li>Outlaw Country (215)</li>
<li>Thai Country (216)</li>
<li>Traditional Bluegrass (217)</li>
<li>Traditional Country (8)</li>
<li>Urban Cowboy (218)</li>
</ul></li>
<li>Dance

<ul>
<li>Afro House (419)</li>
<li>Amapiano (435)</li>
<li>Bass House (428)</li>
<li>Big Room (416)</li>
<li>Breakbeat (220)</li>
<li>Breaks (9)</li>
<li>Chill Out (10)</li>
<li>Classic House (426)</li>
<li>Dance (219)</li>
<li>Deep House (11)</li>
<li>DJ Tools (12)</li>
<li>Drum &amp; Bass (13)</li>
<li>Dubstep (14)</li>
<li>Electro House (15)</li>
<li>Electronica (16)</li>
<li>Funky House (433)</li>
<li>Future House (415)</li>
<li>Glitch Hop (114)</li>
<li>Hard Dance (17)</li>
<li>Hard Techno (18)</li>
<li>Hardcore (222)</li>
<li>House (19)</li>
<li>Indie Dance (20)</li>
<li>Jackin&#39; House (422)</li>
<li>Jungle (223)</li>
<li>Maghreb Dance (509)</li>
<li>Minimal (21)</li>
<li>Nu Disco / Disco (429)</li>
<li>Progressive House (22)</li>
<li>Psy-Trance (115)</li>
<li>Soulful House (427)</li>
<li>Tech House (23)</li>
<li>Techno (24)</li>
<li>Trance (25)</li>
<li>UK Garage (221)</li>
</ul></li>
<li>Disney

<ul>
<li>Disney (224)</li>
</ul></li>
<li>Easy Listening

<ul>
<li>Easy Listening (225)</li>
<li>Lounge (226)</li>
<li>Swing (227)</li>
</ul></li>
<li>Electronic

<ul>
<li>140 / Deep Dubstep (437)</li>
<li>3Step (497)</li>
<li>Acapellas (448)</li>
<li>Acid House (463)</li>
<li>Afro / Latin (439)</li>
<li>Afro House (496)</li>
<li>Afro Melodic (498)</li>
<li>Afro Pop (443)</li>
<li>Ambient (229)</li>
<li>Baile Funk (495)</li>
<li>Bass (230)</li>
<li>Bassline (494)</li>
<li>Battle Tools (449)</li>
<li>Bounce (468)</li>
<li>Breaks (99)</li>
<li>Broken Beat (29)</li>
<li>Broken Techno (481)</li>
<li>Chill Out (30)</li>
<li>Dark &amp; Forest (475)</li>
<li>Dark Disco (464)</li>
<li>Deep / Hypnotic Techno (482)</li>
<li>Deep Drum &amp; Bass (452)</li>
<li>Deep House (100)</li>
<li>Deep Tech (469)</li>
<li>Deep Trance (490)</li>
<li>DJ Tools (101)</li>
<li>Downtempo (231)</li>
<li>Driving Techno (479)</li>
<li>Drum &amp; Bass (102)</li>
<li>Dub Techno (483)</li>
<li>Dubstep (103)</li>
<li>EBM Techno (484)</li>
<li>Electro (434)</li>
<li>Electro House (104)</li>
<li>Electro Pop (442)</li>
<li>Electro-Cha&#39;abi (510)</li>
<li>Electronic (228)</li>
<li>Electronica (33)</li>
<li>Frenchcore (460)</li>
<li>Full-On (472)</li>
<li>Funk / Soul (470)</li>
<li>Future Bass (446)</li>
<li>Future Rave (467)</li>
<li>Glitch Hop (116)</li>
<li>Goa Trance (476)</li>
<li>Gqom (440)</li>
<li>Grime (438)</li>
<li>Halftime (453)</li>
<li>Happy Hardcore (462)</li>
<li>Hard Dance (105)</li>
<li>Hard House (457)</li>
<li>Hard Techno (106)</li>
<li>Hard Trance (489)</li>
<li>Hardstyle (456)</li>
<li>House (107)</li>
<li>Hypnotic Trance (491)</li>
<li>IDM/Experimental (232)</li>
<li>Indie Dance (108)</li>
<li>Industrial (233)</li>
<li>Italo (471)</li>
<li>Jump Up (451)</li>
<li>Latin Tech (478)</li>
<li>Levant Electronic (511)</li>
<li>Liquid (450)</li>
<li>Loops (447)</li>
<li>Maghreb Electronic (512)</li>
<li>Mainstage (465)</li>
<li>Melodic Dubstep (454)</li>
<li>Melodic House (423)</li>
<li>Melodic Techno (424)</li>
<li>Midtempo (455)</li>
<li>Minimal (109)</li>
<li>Neo Rave (461)</li>
<li>Organic House (430)</li>
<li>Peak Time Techno (480)</li>
<li>Phonk (492)</li>
<li>Pop (444)</li>
<li>Progressive House (110)</li>
<li>Progressive Psy (473)</li>
<li>Progressive Trance (485)</li>
<li>Psy-Trance (117)</li>
<li>Psychedelic (474)</li>
<li>Psycore &amp; Hi-Tech (477)</li>
<li>Raw Techno (431)</li>
<li>Raw Trance (436)</li>
<li>Speed House (466)</li>
<li>Tech House (111)</li>
<li>Tech Trance (486)</li>
<li>Techno (112)</li>
<li>Terror (459)</li>
<li>Trance (113)</li>
<li>Trap (425)</li>
<li>Tropical House (445)</li>
<li>UK Bass (441)</li>
<li>Uplifting Trance (487)</li>
<li>Uptempo (458)</li>
<li>Vocal Trance (488)</li>
<li>Wave (493)</li>
</ul></li>
<li>Enka

<ul>
<li>Enka (234)</li>
</ul></li>
<li>Fitness &amp; Workout

<ul>
<li>Fitness &amp; Workout (87)</li>
</ul></li>
<li>Folk

<ul>
<li>Contemporary Folk (35)</li>
<li>Folk (34)</li>
<li>Iraqi Folk (513)</li>
<li>Khaleeji Folk (514)</li>
<li>Traditional Folk (36)</li>
</ul></li>
<li>French Pop

<ul>
<li>French Pop (235)</li>
</ul></li>
<li>Funk

<ul>
<li>Funk (37)</li>
</ul></li>
<li>German Folk

<ul>
<li>German Folk (236)</li>
</ul></li>
<li>German Pop

<ul>
<li>German Pop (237)</li>
</ul></li>
<li>Heavy Metal

<ul>
<li>Heavy Metal (91)</li>
</ul></li>
<li>Hip Hop/Rap

<ul>
<li>Alternative Rap (239)</li>
<li>Chinese Hip-Hop (240)</li>
<li>Dirty South (241)</li>
<li>East Coast Rap (242)</li>
<li>Egyptian Hip-Hop (515)</li>
<li>Gangsta Rap (243)</li>
<li>Ghanaian Drill (516)</li>
<li>Hardcore Rap (244)</li>
<li>Hip Hop/Rap (238)</li>
<li>Hip-Hop (38)</li>
<li>Khaleeji Hip-Hop (517)</li>
<li>Korean Hip-Hop (245)</li>
<li>Latin Rap (246)</li>
<li>Levant Hip-Hop (518)</li>
<li>Maghreb Hip-Hop (519)</li>
<li>Old School Rap (247)</li>
<li>Rap (39)</li>
<li>Russian Hip-Hop (520)</li>
<li>South African Hip-Hop (521)</li>
<li>Turkish Hip-Hop/Rap (522)</li>
<li>UK Hip Hop (248)</li>
<li>Underground Rap (249)</li>
<li>West Coast Rap (250)</li>
</ul></li>
<li>Holiday

<ul>
<li>Chanukah (251)</li>
<li>Christmas (252)</li>
<li>Christmas: Children&rsquo;s (253)</li>
<li>Christmas: Classic (254)</li>
<li>Christmas: Classical (255)</li>
<li>Christmas: Jazz (256)</li>
<li>Christmas: Modern (257)</li>
<li>Christmas: Pop (258)</li>
<li>Christmas: R&amp;B (259)</li>
<li>Christmas: Religious (260)</li>
<li>Christmas: Rock (261)</li>
<li>Easter (262)</li>
<li>Halloween (263)</li>
<li>Holiday (92)</li>
<li>Thanksgiving (264)</li>
</ul></li>
<li>Indian

<ul>
<li>Bollywood (266)</li>
<li>Devotional &amp; Spiritual (267)</li>
<li>Ghazals (268)</li>
<li>Indian (265)</li>
<li>Indian Classical (269)</li>
<li>Indian Folk (270)</li>
<li>Indian Pop (271)</li>
<li>Regional Indian (272)</li>
<li>Sufi (273)</li>
<li>Tamil (274)</li>
<li>Telugu (275)</li>
</ul></li>
<li>Inspirational

<ul>
<li>Inspirational (276)</li>
</ul></li>
<li>Instrumental

<ul>
<li>Instrumental (277)</li>
</ul></li>
<li>J-Pop

<ul>
<li>J-Pop (278)</li>
</ul></li>
<li>Jazz

<ul>
<li>Acid Jazz (41)</li>
<li>Avant-Garde Jazz (279)</li>
<li>Bebop (280)</li>
<li>Big Band (281)</li>
<li>Contemporary Jazz (43)</li>
<li>Cool (282)</li>
<li>Crossover Jazz (283)</li>
<li>Dixieland (284)</li>
<li>Fusion (285)</li>
<li>Hard Bop (286)</li>
<li>Jazz (40)</li>
<li>Latin Jazz (287)</li>
<li>Mainstream Jazz (288)</li>
<li>Ragtime (289)</li>
<li>Smooth Jazz (290)</li>
<li>Traditional Jazz (46)</li>
<li>Vocal Jazz (292)</li>
</ul></li>
<li>Karaoke

<ul>
<li>Instrumental (94)</li>
<li>Karaoke (96)</li>
</ul></li>
<li>Kayokyoku

<ul>
<li>Kayokyoku (293)</li>
</ul></li>
<li>Korean

<ul>
<li>Korean (294)</li>
<li>Korean Traditional (295)</li>
</ul></li>
<li>Latin

<ul>
<li>Alternativo &amp; Rock Latino (297)</li>
<li>Baladas y Boleros (298)</li>
<li>Contemporary Latin (299)</li>
<li>Latin (296)</li>
<li>Latin Jazz (300)</li>
<li>Pop Latino (302)</li>
<li>Raices (303)</li>
<li>Reggaeton (421)</li>
<li>Regional Mexicano (304)</li>
<li>Salsa y Tropical (305)</li>
<li>Urbano Latino (301)</li>
</ul></li>
<li>Marching Bands

<ul>
<li>Marching Bands (306)</li>
</ul></li>
<li>New Age

<ul>
<li>Healing (307)</li>
<li>Meditation (308)</li>
<li>Nature (309)</li>
<li>New age (49)</li>
<li>Relaxation (310)</li>
<li>Travel (311)</li>
<li>Yoga (312)</li>
</ul></li>
<li>Other

<ul>
<li>Spoken Word (51)</li>
</ul></li>
<li>Pop

<ul>
<li>Adult Contemporary (313)</li>
<li>Alternative Pop (54)</li>
<li>Britpop (314)</li>
<li>Cantopop (315)</li>
<li>Dance Pop (55)</li>
<li>Disco (56)</li>
<li>French Pop (88)</li>
<li>German Pop (90)</li>
<li>Indo Pop (316)</li>
<li>K-Pop (317)</li>
<li>Korean Folk-Pop (318)</li>
<li>Malaysian Pop (319)</li>
<li>Mandopop (320)</li>
<li>Manilla Sound (321)</li>
<li>New Wave (57)</li>
<li>Oldies (322)</li>
<li>Original Pilipino Music (323)</li>
<li>Pinoy Pop (324)</li>
<li>Pop (52)</li>
<li>Pop/Rock (325)</li>
<li>Soft Rock (326)</li>
<li>Tai-Pop (327)</li>
<li>Teen Pop (328)</li>
<li>Thai Pop (329)</li>
</ul></li>
<li>Punk

<ul>
<li>Punk (59)</li>
</ul></li>
<li>R&amp;B/Soul

<ul>
<li>Contemporary R&amp;B (331)</li>
<li>Disco (332)</li>
<li>Doo Wop (333)</li>
<li>Funk (334)</li>
<li>Motown (335)</li>
<li>Neo-Soul (336)</li>
<li>R&amp;B/Soul (330)</li>
<li>Soul (61)</li>
<li>Soul/R&amp;B (60)</li>
</ul></li>
<li>Reggae

<ul>
<li>Dancehall/Reggae (63)</li>
<li>Dub (64)</li>
<li>Lovers Rock (337)</li>
<li>Modern Dancehall (338)</li>
<li>Pop-Reggae (65)</li>
<li>Ragga (66)</li>
<li>Reggae (62)</li>
<li>Roots Reggae (67)</li>
<li>Ska (68)</li>
</ul></li>
<li>Rock

<ul>
<li>Adult Alternative (339)</li>
<li>American Trad Rock (340)</li>
<li>Arena Rock (341)</li>
<li>Blues-Rock (342)</li>
<li>British Invasion (343)</li>
<li>Chinese Rock (344)</li>
<li>Classic Rock (71)</li>
<li>Death Metal/Black Metal (345)</li>
<li>Glam Rock (346)</li>
<li>Hair Metal (347)</li>
<li>Hard Rock (73)</li>
<li>Heavy Metal (348)</li>
<li>Jam Bands (349)</li>
<li>Korean Rock (350)</li>
<li>Metal (74)</li>
<li>Prog-Rock/Art Rock (351)</li>
<li>Psychedelic (352)</li>
<li>Psychedelic Rock (75)</li>
<li>Rock (69)</li>
<li>Rock &amp; Roll (353)</li>
<li>Rockabilly (354)</li>
<li>Roots Rock (355)</li>
<li>Singer/Songwriter (356)</li>
<li>Southern Rock (357)</li>
<li>Surf (358)</li>
<li>Tex-Mex (359)</li>
</ul></li>
<li>Singer/Songwriter

<ul>
<li>Alternative Folk (360)</li>
<li>Contemporary Folk (361)</li>
<li>Contemporary Singer/Songwriter (362)</li>
<li>Folk-Rock (363)</li>
<li>New Acoustic (364)</li>
<li>Singer/Songwriter (98)</li>
<li>Traditional Folk (365)</li>
</ul></li>
<li>Soundtrack

<ul>
<li>Foreign Cinema (366)</li>
<li>Musicals (367)</li>
<li>Original Score (368)</li>
<li>Sound Effects (369)</li>
<li>Soundtrack (78)</li>
<li>TV Soundtrack (370)</li>
<li>Video Game (432)</li>
</ul></li>
<li>Spoken Word

<ul>
<li>Spoken Word (371)</li>
</ul></li>
<li>Vocal

<ul>
<li>Standards (372)</li>
<li>Traditional Pop (373)</li>
<li>Trot (374)</li>
<li>Vocal (79)</li>
<li>Vocal Pop (375)</li>
</ul></li>
<li>World

<ul>
<li>Africa (81)</li>
<li>Afrikaans (376)</li>
<li>Afro-Beat (377)</li>
<li>Afro-Pop (378)</li>
<li>Arabesque (379)</li>
<li>Asia (380)</li>
<li>Australia (381)</li>
<li>Cajun (382)</li>
<li>Calypso (383)</li>
<li>Caribbean (384)</li>
<li>Celtic (385)</li>
<li>Celtic Folk (386)</li>
<li>Contemporary Celtic (387)</li>
<li>Dangdut (388)</li>
<li>Dini (389)</li>
<li>Europe (390)</li>
<li>Fado (391)</li>
<li>Farsi (392)</li>
<li>Flamenco (393)</li>
<li>France (394)</li>
<li>Halk (395)</li>
<li>Hawaii (396)</li>
<li>Iberia (397)</li>
<li>Indonesian Religious (398)</li>
<li>Inspirational (93)</li>
<li>Israeli (399)</li>
<li>Japan (400)</li>
<li>Klezmer (401)</li>
<li>North America (402)</li>
<li>Polka (403)</li>
<li>Russian (404)</li>
<li>Russian Chanson (405)</li>
<li>Sanat (406)</li>
<li>Soca (407)</li>
<li>South Africa (408)</li>
<li>South America (409)</li>
<li>Tango (410)</li>
<li>Traditional Celtic (411)</li>
<li>Turkish (412)</li>
<li>World (80)</li>
<li>Worldbeat (413)</li>
<li>Zydeco (414)</li>
</ul></li>
</ul>

            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Symphonic">#Symphonic</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=distribution">#Distribution</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Symphonic" label="Symphonic" />
        
        <category term="Distribution" label="distribution" />
        

        

    </entry>
    <entry>
        
        <title>Trying out Symphonic</title>
        <link href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic" rel="alternate" type="text/html" />
        <published>2026-03-11T21:50:20-07:00</published>
        <updated>2026-03-11T21:50:20-07:00</updated>
        <id>urn:uuid:eab4716b-9ce5-4352-9237-ac9938a9792b</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I&rsquo;m trying to put my stuff back on streaming (<a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">minus Spotify</a>, of course) and for this I am trying out <a href="http://sockpuppet.band/symphonic" class="affiliate">Symphonic</a>. So far I&rsquo;ve just uploladed <a href="http://sockpuppet.band/album/transitions">Transitions</a>, which is awaiting approval.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I&rsquo;m trying to put my stuff back on streaming (<a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">minus Spotify</a>, of course) and for this I am trying out <a href="http://sockpuppet.band/symphonic" class="affiliate">Symphonic</a>. So far I&rsquo;ve just uploladed <a href="http://sockpuppet.band/album/transitions">Transitions</a>, which is awaiting approval.</p><p>Here&rsquo;s a quick review of the experience so far.</p>

        
            <h3 id="1616_h3_1_The-good">The good<a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#1616_h3_1_The-good" class="toc_link"></a></h3><p>The price is pretty good. $20/year, similar to many of the other distributors.</p><p>They care a lot about metadata, and allow you to enter existing ISRCs and UPCs if you have them. (Which I technically do but I can&rsquo;t be bothered to look them up or deal with their bad user interface, but more on that in a bit.)</p><p>They also allow people to declare their use of generative AI, so if people are insisting on using that stuff, they can be filed appropriately. (And hopefully those of us who have nothing to lie about won&rsquo;t be penalized for the quagmire that techbros with deep pockets and shallow thoughts<sup id="r_e1616_fn1"><a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#d_e1616_fn1" rel="footnote">1</a></sup> have unleashed upon us.)</p><h3 id="1616_h3_2_The-bad">The bad<a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#1616_h3_2_The-bad" class="toc_link"></a></h3><p>The UX on the uploader is pretty terrible. It tries <em>way</em> too hard to be &ldquo;app-like,&rdquo; but also has so much negative space and no visibility into the item you&rsquo;re working on, so the UI has a <em>lot</em> of scrolling and clicking.</p><p>You also need to individually specify a <em>lot</em> of metadata on a per-track basis; there&rsquo;s no way to just, like, apply the same performer/writer credits to all the tracks on a release, or things like recording year, recording country, etc., and a lot of the UI elements have these <em>awful</em> custom controls with a very slow/annoying search mechanism and piss-poor defaults. (Why does it default to Aaron Copeland for every credit?! Aside from him being alphabetically first in their database, of course. You&rsquo;d think they&rsquo;d only be drawing from names that I&rsquo;ve already submitted things with. <strong><em>You&rsquo;d think.</em></strong>)</p><p>The actual upload flow is also a bit confusing and weird, and of course it doesn&rsquo;t try to take in the existing metadata from my FLAC files, even though they&rsquo;re all already <a href="https://fluffy.itch.io/bandcrash">perfectly tagged</a> with the majority of the information they are looking for.</p><p>Every single track edit is its own little tiny usability nightmare, and it makes my chronic pain flare up very quickly. And I have <a href="http://sockpuppet.band/releases/tracks">a lot of tracks</a> to get through if I&rsquo;m going to make all my stuff available again.</p><p>Ideally I could just upload, like, a bunch of .flac files and a JSON/CSV/whatever file with my metadata. I can handle that just fine. Let me write a trivial bandcrash-to-whatever converter and call it a day. But no, everything has to be built the long way around.</p><p>Of the points on <a href="https://beesbuzz.biz/blog/2934-Advice-to-young-web-developers">my classic rant about web usability</a>, they have violated at <em>least</em> seven of those principles, although at least they provide <em>some</em> amount of keyboard accessibility. Not <em>enough</em>, mind you, but at least an effort was made.</p><h3 id="1616_h3_3_The-ugly">The ugly<a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#1616_h3_3_The-ugly" class="toc_link"></a></h3><p>When you first sign up you have to declare your label name up front, and the UI for it makes it <em>very</em> easy to make a mistake. And it can&rsquo;t be changed once you&rsquo;ve signed up.</p><p>Also, the way referral links work are kinda bad from a privacy standpoint. Let&rsquo;s just say I wish things would let you use a preferred name and leave it at that.</p><h3 id="1616_h3_4_Yet-another-side-rant-about-AI">Yet another side rant about AI<a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#1616_h3_4_Yet-another-side-rant-about-AI" class="toc_link"></a></h3><p>As an independent musician with accessibility needs, I would absolutely love it if AI could help me with the parts of the process that are physically painful for me to do. The tedious, mechanial parts, like formatting my upload metadata and submitting it to the system (with my oversight, of course).</p><p>But no, all of the AI bullshit out there is working on replacing the parts that I <em>enjoy</em> doing, and the parts that make my stuff unique.</p><p>Music/AI tech people, <strong><em>do better</em></strong>. Focus on solving the problems that need to be solved, <em>please</em>.</p><h3 id="1616_h3_5_Conclusion">Conclusion<a href="http://sockpuppet.band/blog/1616-Trying-out-Symphonic#1616_h3_5_Conclusion" class="toc_link"></a></h3><p>Anyway. I sent them a support request asking them to make a better bulk-editing interface, because as things are it&rsquo;s kind of untenable from a usability standpoint. But nobody ever gives a shit about people with chronic pain disabilities or motor issues, I&rsquo;ve found, and that&rsquo;s a bigger rant about the usability of the web itself at this point.</p><p>It&rsquo;s a bit sad that of all the distributors I&rsquo;ve used, <strong><em>Distrokid</em></strong> with its straight-from-1998 Extremely Web 1.0 interface is the only one that doesn&rsquo;t make me want to gnaw my own foot off while using it. (But then again, I feel like Web 1.0 actually had pretty good usability from the get-go.)</p><p>But anyway. If you don&rsquo;t care about (or are willing to deal with) the UX issues, it might be worth a try. Also, if you sign up with <a href="http://sockpuppet.band/symphonic" class="affiliate">my affiliate link</a> you get 25% off your first year (a savings of $5), and I get $10.</p><p>(And please, if you run into a site which is difficult for you to use, please let the people who run it know. So much of the modern web was built by people who have never heard the first thing about accessibility.)</p>
            
                <hr/><ol><li id="d_e1616_fn1"><p>Credit to my friend <a href="https://hekshano.itch.io/">Cial</a> for coming up with that expression.&nbsp;<a href="/blog/1616-Trying-out-Symphonic#r_e1616_fn1" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=distribution">#Distribution</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=business">#Business</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Distribution" label="distribution" />
        
        <category term="Business" label="business" />
        

        

    </entry>
    <entry>
        
        <title>The usual Bandcamp Friday stuff</title>
        <link href="http://sockpuppet.band/blog/1506-The-usual-Bandcamp-Friday-stuff" rel="alternate" type="text/html" />
        <published>2026-03-06T09:00:00-08:00</published>
        <updated>2026-03-06T09:00:00-08:00</updated>
        <id>urn:uuid:9da55a0c-bd8e-4cf2-9a63-0d7dfcf79019</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I am <a href="http://sockpuppet.band/blog/1560-Some-thoughts-on-Bandcamp-Friday">still not a fan of Bandcamp Friday</a>, but it still keeps on happening and this is still the best way to support musicians by buying their music. So, just as a reminder, I have a <a href="http://sockpuppet.band/bandcamp">very large discography available</a> and I&rsquo;ve also recently reduced the prices on a lot of things, so you can get about 17 hours of music from the past 26 years for under $50. I think that&rsquo;s a pretty good deal! (Of course you can pay more if you want, and I would absolutely appreciate it if you do.)</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I am <a href="http://sockpuppet.band/blog/1560-Some-thoughts-on-Bandcamp-Friday">still not a fan of Bandcamp Friday</a>, but it still keeps on happening and this is still the best way to support musicians by buying their music. So, just as a reminder, I have a <a href="http://sockpuppet.band/bandcamp">very large discography available</a> and I&rsquo;ve also recently reduced the prices on a lot of things, so you can get about 17 hours of music from the past 26 years for under $50. I think that&rsquo;s a pretty good deal! (Of course you can pay more if you want, and I would absolutely appreciate it if you do.)</p><p>Of course, if you&rsquo;d prefer to support me on a platform other than Bandcamp, the same discography is available for about the same price <a href="http://sockpuppet.band/mirlo">over on Mirlo</a>, and also my artist page <a href="http://sockpuppet.band/subvert">on Subvert</a> has recently been activated as well, although my entire discography is not up there just yet.</p><p>And if you prefer physical media <a href="http://sockpuppet.band/cd">that can be arranged</a>, and if you want to go a bit more analog, <a href="http://sockpuppet.band/elasticStage">there&rsquo;s a place for that too</a>.</p><p>Anyway, this month I actually do have <a href="http://sockpuppet.band/album/sjX">a new release</a>, although it isn&rsquo;t much of one, and it&rsquo;s also pay-what-you-want-including-$0.</p>

        
            <p>As far as other stuff goes, I unfortunately haven&rsquo;t made any progress on the next album due to some ongoing health issues, but those seem to be resolving (or at least abating) so hopefully I can spend some time in the studio again.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=BandcampFriday">#BandcampFriday</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=FairTradeMusic">#FairTradeMusic</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Mirlo">#Mirlo</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Subvert">#Subvert</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Bandcamp">#Bandcamp</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="BandcampFriday" label="BandcampFriday" />
        
        <category term="FairTradeMusic" label="FairTradeMusic" />
        
        <category term="Mirlo" label="Mirlo" />
        
        <category term="Subvert" label="Subvert" />
        
        <category term="Bandcamp" label="Bandcamp" />
        

        

    </entry>
    <entry>
        
        <title>Current goings-on in the Sockiverse</title>
        <link href="http://sockpuppet.band/blog/1995-Current-goings-on-in-the-Sockiverse" rel="alternate" type="text/html" />
        <published>2026-02-06T19:57:08-08:00</published>
        <updated>2026-02-06T19:57:08-08:00</updated>
        <id>urn:uuid:b7665926-70a4-463b-b98d-d001fa51cb3c</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Hey y&#39;all, the band has taken a bit of a break from working in the studio to recharge, but now we&rsquo;re back in action and finally getting stuff done!</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Hey y&#39;all, the band has taken a bit of a break from working in the studio to recharge, but now we&rsquo;re back in action and finally getting stuff done!</p><p>Briefly, here&rsquo;s what&rsquo;s going on:</p>
<ul>
<li>We are <em>finally</em> working on recording Misfits, our next album. The overall theme is &ldquo;children&rsquo;s music, but for grownups.&rdquo;</li>
<li>We&rsquo;re also working on some game music, as we&rsquo;ve been approached by three separate teams working on games for <a href="https://itch.io/jam/strawberry-jam-10">Strawberry Jam 10</a> (hey, that&rsquo;s another one for <a href="http://sockpuppet.band/blog/1888-On-success-a-recap-and-a-look-ahead">the success list</a>)</li>
<li>And of course we&rsquo;re doing some <a href="http://sockpuppet.band/live/calendar?date=2026-02">VRChat performances</a></li>
<li>fluffy&rsquo;s also been busy editing some past <a href="http://sockpuppet.band/live/">live performance videos</a></li>
<li>Also as a reminder, we are <em>totally</em> an actual band with so many people in it and not just fluffy pretending to be a bunch of people through clever production tricks and writing in the third person plural for some reason</li>
</ul>


        
            <p>Anyway. No idea when Misfits will be done (Strawberry Jam 10 has the time-based priority, of course), but it&rsquo;s been a long time coming. If you want to track its progress, feel free to <a href="http://sockpuppet.band/patreon">follow the Patreon</a> or whatever.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=status">#Status</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=updates">#Updates</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Misfits">#Misfits</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=production">#Production</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Strawberry+Jam">#StrawberryJam</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Status" label="status" />
        
        <category term="Updates" label="updates" />
        
        <category term="Misfits" label="Misfits" />
        
        <category term="Production" label="production" />
        
        <category term="StrawberryJam" label="Strawberry Jam" />
        

        

    </entry>
    <entry>
        
        <title>VR performance setup 2.0</title>
        <link href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0" rel="alternate" type="text/html" />
        <published>2026-01-24T09:00:00-08:00</published>
        <updated>2026-01-24T09:00:00-08:00</updated>
        <id>urn:uuid:8aa1a45d-401a-4fca-946a-0d3bb2282908</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Last September I <a href="http://sockpuppet.band/blog/3183-VR-performance-stuff">wrote about my VRChat performance setup</a>, based on some new changes I was trying in order to do more to integrate backing tracks into my performances. I quickly ran into some limits with the approach I was taking, and have ended up completely changing how I do things since then, with a setup that is much more reliable, more capable, and higher-quality. It also allows me to use the same audio setup for both mic-boosted and streamed performances.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Last September I <a href="http://sockpuppet.band/blog/3183-VR-performance-stuff">wrote about my VRChat performance setup</a>, based on some new changes I was trying in order to do more to integrate backing tracks into my performances. I quickly ran into some limits with the approach I was taking, and have ended up completely changing how I do things since then, with a setup that is much more reliable, more capable, and higher-quality. It also allows me to use the same audio setup for both mic-boosted and streamed performances.</p><p>So here&rsquo;s how my performing setup works!</p>

        
            <h3 id="1302_h3_1_The-hardware-side">The hardware side<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h3_1_The-hardware-side" class="toc_link"></a></h3><p>Previously I was using an amalgam of the built-in mic on my headset, the line input on my onboard audio, and VoiceMeeter to tie everything together. Unfortunately, this setup had some pretty severe limitations, especially when it came to managing latency (particularly with backing tracks), as well as being able to add live effects to the signal chain. It also led to some embarrassing situations where my audio would go haywire due to a connector coming loose or the like.</p><p>A few years ago, I upgraded my recording studio from a <a href="https://amzn.to/45nyC6M">Focusrite Scarlett 18i8</a> to an <a href="https://amzn.to/3O0zxnw">18i20</a>, so I had this spare 18i8 just sitting around. I was using it on my office computer (where I do my video editing and programming), but it was massive overkill for those needs, and I came to realize it works much better for my performance setup instead. So now I have a plain old <a href="https://amzn.to/4rghvwe">headphone amp</a> in the office, and the 18i8 is on my VR computer.</p><p>The 18i8 has a handy feature where you can set up multiple output/monitor submixes, so for example you can have different audio levels of different things going to the headphones, the line outputs, and so on. It also has a built-in &ldquo;loopback&rdquo; interface, where you can give it a monitor mix that then appears as a standard audio input to the computer. These features are <em>extremely</em> useful for this use case (as well as any other live performance or studio recording situation).</p><p>I have the following connections:</p>
<ul>
<li>Front input 1: My microphone (I currently switch between an MXL condenser mic and an Electro-Voice dynamic depending on my mood and what&rsquo;s sounding better at the moment)</li>
<li>Front input 2: My guitar signal chain</li>
<li>Headphone output 1: a <a href="https://amzn.to/4pSp7nj">LEKATO Wireless IEM system</a> (which in turn connects to <a href="https://amzn.to/3YWnHxi">some old 3.5mm Apple earbuds</a>, which give me a nice balance of size and audio quality; there are better ones to buy new but I had these lying around from some old iPhone or something)<sup id="r_e1302_fn1"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn1" rel="footnote">1</a></sup></li>
<li>Headphone output 2: my <a href="https://www.musiciansfriend.com/amplifiers-effects/zt-lunchbox-junior-guitar-combo-amp/h82899000001000">tiny lunchbox amp</a></li>
<li>My <a href="https://www.tcelectronic.com/product.html?modelCode=0828-AAH">reverb unit</a>, with its inputs on the 18i8&rsquo;s Line 1-2 outputs, and its outputs on the 18i8&rsquo;s Line 5-6 inputs</li>
<li>Front input 3 and 4: Available for other instruments (sometimes I plug my <a href="https://amzn.to/4aabmvv">digital piano</a> in there, for example)</li>
</ul>
<p>I have the reverb unit set to 100% wet, so that it is only being used as a bus send. I also have a bypass toggle pedal so that I can cut to a purely dry signal when needed (such as in <a href="http://sockpuppet.band/track/a-long-plastic-hallway">A Long Plastic Hallway</a>, which uses lack-of-reverb as an effect for emphasis).</p><h3 id="1302_h3_2_Mix-setup">Mix setup<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h3_2_Mix-setup" class="toc_link"></a></h3><p>First, I use the <a href="https://support.focusrite.com/hc/en-gb/articles/11064999655314-Adding-multiple-inputs-in-streaming-software-on-Windows-using-Loopback">multiple input functionality</a> to provide Windows audio devices for all of the necessary channels.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0"><img src="http://sockpuppet.band/static/_img/8e/d9f1/18i8-multiple-inputs_7aaae6df3e_364x260_q50.webp" width="364" height="260" srcset="http://sockpuppet.band/static/_img/8e/d9f1/18i8-multiple-inputs_7aaae6df3e_364x260_q50.webp 1x, http://sockpuppet.band/static/_img/8e/d9f1/18i8-multiple-inputs_7aaae6df3e_q50.webp 2x" loading="lazy" class="u-photo" alt="A window showing all of the Focusrite inputs separated out"></a></figure>
<p>Windows 10 and 11 also have a feature where you can assign arbitrary labels to your audio inputs and outputs; I use this to give the following names to the playback channels:</p>
<ul>
<li>Playback 1+2: Playback</li>
<li>Playback 3+4: Game audio</li>
<li>Playback 5+6: Control room</li>
</ul>
<p>and I also set labels on my VR headset&rsquo;s microphone and speakers, just to make them easier to keep track of.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0"><img src="http://sockpuppet.band/static/_img/6a/8d6a/18i8-output-labels_b350ce5fcc_640x489_q50.webp" width="640" height="489" srcset="http://sockpuppet.band/static/_img/6a/8d6a/18i8-output-labels_b350ce5fcc_640x489_q50.webp 1x, http://sockpuppet.band/static/_img/6a/8d6a/18i8-output-labels_b350ce5fcc_1280x978_q50.webp 2x" loading="lazy" class="u-photo" alt="Windows 11 control panel showing helpful output labels"></a></figure>
<p>In Focusrite Control I have separate submixes for all three of the outputs, as well as the loopback interface.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0"><img src="http://sockpuppet.band/static/_img/de/6045/18i8-monitor-mix_dd413feaa9_640x489_q50.webp" width="640" height="489" srcset="http://sockpuppet.band/static/_img/de/6045/18i8-monitor-mix_dd413feaa9_640x489_q50.webp 1x, http://sockpuppet.band/static/_img/de/6045/18i8-monitor-mix_dd413feaa9_1280x978_q50.webp 2x" loading="lazy" class="u-photo" alt="Focusrite Control UI showing the monitor mix for headphone 1"></a></figure>
<p>Headphone 1 gets the monitor mix that goes to my IEMs. It receives all of the input channels, as well as all three<sup id="r_e1302_fn2"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn2" rel="footnote">2</a></sup> &ldquo;Playback&rdquo; channels (which are used to route multiple separate software outputs into separate mixes).</p><p>Headphone 2 gets the same, minus the microphone (to avoid feedback), and is connected to the line input on my lunchbox amp.<sup id="r_e1302_fn3"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn3" rel="footnote">3</a></sup></p><p>Line 1-2 (reverb send) gets just the instruments; I bake the reverb into my backing tracks.</p><p>Loopback gets the mix that goes out to the stream and/or world.</p><h3 id="1302_h3_3_Software-setup">Software setup<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h3_3_Software-setup" class="toc_link"></a></h3><p>Unlike before, I do not need Voicemeeter, and I do not even have it installed anymore, as all of the audio that goes to the stream is now handled by the 18i8, and I do not need to mix anything into or from my VR headset.</p><p>I have configured VLC (which I use for playing my backing tracks) to output to the Playback 1+2 device by default.</p><h4 id="1302_h4_4_OBS-setup">OBS setup<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h4_4_OBS-setup" class="toc_link"></a></h4><p>OBS allows you to set up multi-channel audio recording. I set OBS to use channel 1 in the stream, and to record all 6 channels to separate tracks in my local recording. Then I have the following audio input sources:</p>
<table>
<thead>
<tr>
<th>Input name</th>
<th>Source name</th>
<th>OBS output track</th>
<th>Video audio channel</th>
</tr>
</thead>

<tbody>
<tr>
<td>Loopback</td>
<td>Live mix</td>
<td>1</td>
<td>1+2</td>
</tr>
<tr>
<td>Input 1-2</td>
<td>Mic + guitar</td>
<td>2</td>
<td>3+4</td>
</tr>
<tr>
<td>Input 3-4</td>
<td>Piano</td>
<td>3</td>
<td>5+6</td>
</tr>
<tr>
<td>Input 5-6</td>
<td>Reverb</td>
<td>3</td>
<td>5+6</td>
</tr>
<tr>
<td>Headset mic</td>
<td>Headset mic</td>
<td>5 (panned left)</td>
<td>9</td>
</tr>
</tbody>
</table>
<p>As well as the following audio output captures:</p>
<table>
<thead>
<tr>
<th>Output name</th>
<th>Source name</th>
<th>OBS output track</th>
<th>Video audio channel</th>
</tr>
</thead>

<tbody>
<tr>
<td>Headset speakers</td>
<td>Headset speakers</td>
<td>5 (panned right)</td>
<td>10</td>
</tr>
<tr>
<td>Playback 1+2 (playback)</td>
<td>Backing track</td>
<td>4</td>
<td>7+8</td>
</tr>
<tr>
<td>Playback 3+4 (game audio)</td>
<td>Game audio</td>
<td>6</td>
<td>11+12</td>
</tr>
<tr>
<td>Playback 5+6 (control room)</td>
<td>Control room</td>
<td>5 (panned right)</td>
<td>10</td>
</tr>
</tbody>
</table>
<p>Finally, I have a bunch of visuals set up; mostly this is <a href="https://github.com/Off-World-Live/obs-spout2-plugin">Spout2</a> to capture my in-game streaming camera, and <a href="https://github.com/phandasm/waveform">Waveform</a> to let me do various audio visualizers in varying combinations.</p><h4 id="1302_h4_5_Mic-boosted-performances">Mic boosted performances<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h4_5_Mic-boosted-performances" class="toc_link"></a></h4><p>When doing a mic boosted performance, I set my system audio output to Playback 3+4 (Game Audio) and VRChat&rsquo;s audio input to Loopback. This way, my full final audio mix goes to my VRChat microphone, and I hear the game in my IEMs. My backing track works the same as anywhere else.</p><p>The one downside to this setup is that my lip sync will also follow my instruments and backing track, but there&rsquo;s not a lot I can do about that aside from adding face tracking to my VR setup.</p><p>If I want to record my performance, I launch OBS and set it to record. OBS is not involved in the signal chain going to the world at all.</p><h4 id="1302_h4_6_Streamed-performances">Streamed performances<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h4_6_Streamed-performances" class="toc_link"></a></h4><p>Most streamed performances involve a Discord voice call for coordinating between the show runners and the performers. This is where the &ldquo;control room&rdquo; channel comes in; I set Discord&rsquo;s voice to use my VR headset&rsquo;s microphone as input, and Playback 5+6 as speakers. This way the voice chat only hears my voice (rather than all of my instruments), and I can hear anything they say on my IEMs. The Discord call gets recorded to track 5, with the left channel being me and the right channel being everyone else.</p><p>Otherwise, my audio setup is as follows:</p>
<ul>
<li>System audio to Playback 3+4</li>
<li>VRChat microphone is the VR headset mic (so it gets clean lipsync)</li>
<li>And I set VRChat&rsquo;s &ldquo;microphone output level&rdquo; to 0%, so that my camera can see my lips move but the audio doesn&rsquo;t go out into the world<sup id="r_e1302_fn4"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn4" rel="footnote">4</a></sup></li>
</ul>
<p>As far as running the stream itself goes, typically I stream either to <a href="https://live.sockpuppet.band/">my Owncloud instance</a> or to <a href="https://vrcdn.live/">VRCDN</a> depending on the needs of the show. Larger shows provide their own streaming ingest.</p>
<ul>
<li>Owncloud lets me serve an absolute crapton of viewers (thanks in part to my <a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN">overly-complicated CDN setup</a>), but it&rsquo;s not allowed as a stream source by default in VRChat so people need to enable untrusted URLs. It also tends to be pretty high in latency, usually on the order of 6-10 seconds.</li>
<li>VRCDN limits me to 40 concurrent viewers, but the latency is pretty low (usually 1-2 seconds). This is fine for smaller shows, and many showrunners will restream my VRCDN stream into the world with their own visuals overlaid on top anyway, which also adds some latency.</li>
<li>Larger music festivals (such as <a href="http://sockpuppet.band/live/?tag=VRelium">VRelium</a>) will provide their own ingest server and stream management.</li>
</ul>
<h4 id="1302_h4_7_Editing-recordings">Editing recordings<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h4_7_Editing-recordings" class="toc_link"></a></h4><p>And now the really nice thing about this setup is that I can do some audio editing and remixing in retrospect. I do most of my video editing in <a href="https://www.blackmagicdesign.com/products/davinciresolve">DaVinci Resolve</a>, which has pretty good multichannel audio support.</p><p>By default, the video will be pulled in with the following stereo audio tracks:</p>
<table>
<thead>
<tr>
<th>Track</th>
<th>Channels</th>
<th>Contents</th>
</tr>
</thead>

<tbody>
<tr>
<td>1</td>
<td>1+2</td>
<td>Live mix</td>
</tr>
<tr>
<td>2</td>
<td>3+4</td>
<td>Mic (left) + guitar (right)</td>
</tr>
<tr>
<td>3</td>
<td>5+6</td>
<td>Piano + reverb</td>
</tr>
<tr>
<td>4</td>
<td>7+8</td>
<td>Backing track</td>
</tr>
<tr>
<td>5</td>
<td>9+10</td>
<td>Headset mic (left) + Discord call (right)</td>
</tr>
<tr>
<td>6</td>
<td>11+12</td>
<td>Game audio/audience</td>
</tr>
</tbody>
</table>
<p>Typically what I&rsquo;ll do is separate out the audio tracks from the video, and I&rsquo;ll shift track 6 back to compensate for the latency between me and the audience. For mic-boost performances this isn&rsquo;t much (usually under a second) and can usually be ignored, but for streamed performances this will be multiple seconds (often on the order of 20 or more!) and this is especially important during those magical times when people either respond to my banter or sing along with me! (The latter happens with the call-and-response bits in <a href="http://sockpuppet.band/track/safety-in-numbers">Safety In Numbers</a>, and it fills me with warm fuzzies every time.)</p><p>If the track 1 (live mix) audio is fine, I&rsquo;ll use it and track 6 directly, and mute the other tracks. However, sometimes I need to get fancy and change the mix in retrospect. In that case, I&rsquo;ll change my audio tracks as such:</p>
<ul>
<li>Audio 1: Stereo, using channels 1+2 (live mix)</li>
<li>Audio 2: Mono, using channel 3 (voice)</li>
<li>Audio 3: Mono, using channel 4 (guitar)</li>
<li>Audio 4: Stereo, using channels 5+6 (reverb, and piano if I happened to use it)</li>
<li>Audio 5: Stereo, using channels 7+8 (backing track)</li>
<li>Audio 6: Stereo, using channels 12+11 (game audio, swapped to present it from the audience&rsquo;s POV)<sup id="r_e1302_fn5"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn5" rel="footnote">5</a></sup></li>
</ul>
<p>In this situation, I&rsquo;ll mute tracks 2-4, and use track 1 to line up tracks 5 and 6, which will have differing amounts of latency. Then I&rsquo;ll mute track 1 and unmute 2-4, and then adjust my recorded mix as necessary.</p><p>Track 6 in particular needs to be lined up pretty carefully, as OBS captures outputs with no latency at all, but inputs get about 300ms of latency due to limitations in Windows audio. In theory I could have OBS add 300ms or so of latency to the output capture, but it&rsquo;s fiddly and I&rsquo;d still need to adjust things anyway, so I&rsquo;d might as well just do it once when I edit.<sup id="r_e1302_fn6"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn6" rel="footnote">6</a></sup></p><h3 id="1302_h3_8_Backing-track-playlist-setup">Backing track/playlist setup<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h3_8_Backing-track-playlist-setup" class="toc_link"></a></h3><p>When I&rsquo;m performing there&rsquo;s a lot of stuff to keep track of. If I&rsquo;m only doing 1-2 songs I can load the .wav files into VLC and it&rsquo;s no big deal, but many of my shows are much more complicated and my ADHD brain can only hold so much stuff in my working memory.</p><p>So, I have a <a href="https://www.apple.com/final-cut-pro/">Final Cut Pro</a> library that contains all of my backing tracks; some songs have multiple versions available (e.g. with and without guitar mixed in, or album vs. live versions). In the library files I also have brief version notes and the dominant key signature, and with this I can quickly put together a set list with a reasonable progression and fitting the time constraints.</p><p>A few of the songs also have a lyric display baked in, because try as I might, I just can&rsquo;t memorize <a href="http://sockpuppet.band/releases/tracks?tag=type:lyrical">every song</a><sup id="r_e1302_fn7"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#d_e1302_fn7" rel="footnote">7</a></sup>. For some songs I&rsquo;ll use <a href="https://croonify.com/">Croonify</a> to prepare a synchronized lyric display (replacing Croonify&rsquo;s stem-separated audio with my own clean backing track), but for others I&rsquo;ll just put up some basic text with the necessary cues to keep me from messing up too badly.</p><p>When I prepare my set, I&rsquo;ll also put in a bit of visual stuff for my own reference, such as having it display the title of the next song or little notes like &ldquo;2 songs left&rdquo; or specific banter points I need to hit.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0"><img src="http://sockpuppet.band/_img/.eJwtiksOwjAMBa9SeR1RqIBFroIQckKaWKROSVyVj7g7FmL35s2cwBeWwNK7XGLv0N-IYydVR6eqSV28UOHNzBHMzrxhwsdlpasksMf91vw4BYpJ_kcNjV4BLIwkYGAsdUJ1sAY3K98XzCRPsAdtm8es6fA5fwEZjS5g.-3FLHazb4GYMxwrwKbIcxC7fjRc" width="640" height="343" srcset="http://sockpuppet.band/_img/.eJwtiksOwjAMBa9SeR1RqIBFroIQckKaWKROSVyVj7g7FmL35s2cwBeWwNK7XGLv0N-IYydVR6eqSV28UOHNzBHMzrxhwsdlpasksMf91vw4BYpJ_kcNjV4BLIwkYGAsdUJ1sAY3K98XzCRPsAdtm8es6fA5fwEZjS5g.-3FLHazb4GYMxwrwKbIcxC7fjRc 1x, http://sockpuppet.band/static/_img/ea/897f/backing-track-construction_c83e628945_1280x686_q50.webp 2x" loading="lazy" class="u-photo" alt="A screenshot of Final Cut Pro showing a library of songs and a timeline with a show's prepared set"></a></figure>
<p>When I encode the video I&rsquo;ll just use Final Cut&rsquo;s &ldquo;Export File (default)&rdquo; to do a quick lossless encode and then I&rsquo;ll use FFmpeg to encode the final video at a more useful bitrate, with:</p><figure class="blockcode"><pre class="highlight" data-language="bash" data-line-numbers><span class="line" id="e1302cb1L1"><a class="line-number" href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#e1302cb1L1"></a><span class="line-content">ffmpeg<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;2026-02-30 example.mov&quot;</span><span class="w"> </span>-b:a<span class="w"> </span>320k<span class="w"> </span><span class="se">\</span></span></span>
<span class="line" id="e1302cb1L2"><a class="line-number" href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#e1302cb1L2"></a><span class="line-content"><span class="w">    </span><span class="s2">&quot;~/Sync/backing tracks/shows/2026-02-30 example.mp4&quot;</span></span></span>
</pre></figure><p>Finally, I use <a href="https://syncthing.net/">SyncThing</a> to automatically synchronize my <code>~/Sync</code> directory between my various computers, which is super handy. (It&rsquo;s also a <em>lot</em> easier than dealing with network shares!)</p><p>When it&rsquo;s time to perform, I&rsquo;ll use SteamVR&rsquo;s desktop overlay function to float my VLC window in the world with me, and so then I&rsquo;ll always have my visual reference where I need it. (So if you see me looking downward a lot, it isn&rsquo;t <em>just</em> me being introverted.)</p><p>When it comes to actually performing, I make sure that VLC has keyboard focus and then I can just press the space bar on my keyboard to start and, if necessary, pause the backing track.</p><h3 id="1302_h3_9_Doing-sound-checks">Doing sound checks<a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0#1302_h3_9_Doing-sound-checks" class="toc_link"></a></h3><p>Sound checks used to be rather difficult; previously, I&rsquo;d do a laborious process of recording the loopback interface into Audacity while performing parts of my set, listen back afterwards, and then try making incremental adjustments. This process was super annoying.</p><p>Nowadays I&rsquo;ve found a <a href="https://softwarerecs.stackexchange.com/questions/35552/record-a-sound-and-play-it-back-after-a-user-defined-delay">much better way</a>; basically:</p><p>First, I open two instances of VLC:</p>
<ul>
<li>The first instance gets my backing track (and continues to play to Playback 1+2)</li>
<li>The second instance is set to play to Playback 5+6, upon which I &ldquo;open capture device,&rdquo; set to the loopback audio with a 10-second caching delay.</li>
</ul>

<figure class="images"><a href="http://sockpuppet.band/blog/1302-VR-performance-setup-2.0"><img src="http://sockpuppet.band/static/_img/c2/1dd6/vlc-delay-loop_3af4e3f6bf_530x580_q50.webp" width="530" height="580" srcset="http://sockpuppet.band/static/_img/c2/1dd6/vlc-delay-loop_3af4e3f6bf_530x580_q50.webp 1x, http://sockpuppet.band/static/_img/c2/1dd6/vlc-delay-loop_3af4e3f6bf_q50.webp 2x" loading="lazy" class="u-photo" alt="Setting up a delay loop in VLC"></a></figure>
<p>Then, I can unpause my backing track player and perform for 10 seconds, then pause the backing track while I listen to how it sounded. This gives me a much faster means of iterating on my adjustments and getting things sounding really good.</p>
            
                <hr/><ol><li id="d_e1302_fn1"><p>Props to <a href="https://nikofox.carrd.co/">Niko Fox</a> for turning me on to this specific wireless IEM unit.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn1" rev="footnote">↩</a></p></li><li id="d_e1302_fn2"><p>I actually have all four going to it but Playback 7+8 isn&rsquo;t used for anything. Someday I might figure out a way of using it for a click track or additional audio cues, though.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn2" rev="footnote">↩</a></p></li><li id="d_e1302_fn3"><p>I don&rsquo;t usually have the amplifier&rsquo;s speakers on when I&rsquo;m performing but it&rsquo;s nice to have when I&rsquo;m practicing. Additionally, the amplifier&rsquo;s line output and instrument input are no longer connected to anything, as they are not needed in this setup. I do still use the amplifier&rsquo;s power bus for my pedal board, however.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn3" rev="footnote">↩</a></p></li><li id="d_e1302_fn4"><p>Note that other people in the instance won&rsquo;t see the lips move, though, although for me it&rsquo;s most important that my local camera does. If you need the lip movement to be visible to someone else (for example, someone else recording/streaming you directly), set your microphone output level to 5%, which will broadcast your visemes to others while keeping the audio level as low as possible.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn4" rev="footnote">↩</a></p></li><li id="d_e1302_fn5"><p>Or I could try to remember to set my VRChat camera to &ldquo;audio from camera&rdquo; mode and pass the stereo through normally, but I usually forget to do this. It also makes communicating with others on stage much more difficult since consciously overriding the incorrect positional audio cues is super hard to brain.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn5" rev="footnote">↩</a></p></li><li id="d_e1302_fn6"><p>In theory one could use ASIO to mitigate the latency (via the <a href="https://github.com/Andersama/obs-asio">respective OBS plugin</a>), but there&rsquo;s still going to be <em>some</em> latency, and I err on the side of pragmatism since I&rsquo;m going to have to adjust things anyway. Also, even if the latency can be eliminated from OBS&rsquo;s point of view, it&rsquo;s still going to be present for VRChat, so it&rsquo;s going to need to be adjusted between the visuals and the audio, and that is, in my experience, much harder to do well.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn6" rev="footnote">↩</a></p><p>There&rsquo;s also the issue of ASIO often requiring exclusive access to the device, which means it might not even work in this situation to begin with.</p><p>So basically, ASIO <em>might</em> work but I haven&rsquo;t tried it nor have I seen any compelling reason to.</p></li><li id="d_e1302_fn7"><p>Although I&rsquo;m proud to say that most of the songs I perform I do have completely memorized, and the more I perform songs I&rsquo;m not off-book on yet, the closer I get to getting there. Assistive technology FTW.&nbsp;<a href="/blog/1302-VR-performance-setup-2.0#r_e1302_fn7" rev="footnote">↩</a></p></li></ol>
            

            

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

        ]]>



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

        

    </entry>
    <entry>
        
        <title>Lorenzo&#39;s Music Podcast</title>
        <link href="http://sockpuppet.band/blog/2251-Lorenzo-s-Music-Podcast" rel="alternate" type="text/html" />
        <published>2025-12-19T22:20:42-08:00</published>
        <updated>2025-12-19T22:20:42-08:00</updated>
        <id>urn:uuid:407e4bb5-d951-46f2-8343-ac5ec15693ba</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I was a guest over on <a href="https://www.lorenzosmusic.com/podcast/sockpuppet-lorenzos-music-podcast/">Lorenzo&rsquo;s Music Podcast</a>, where we talked about a bunch of topics including VR-based performances, creative self-expression, and the future of federated music streaming, among other things. Thank you so much to Tom Ray for having me on!</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I was a guest over on <a href="https://www.lorenzosmusic.com/podcast/sockpuppet-lorenzos-music-podcast/">Lorenzo&rsquo;s Music Podcast</a>, where we talked about a bunch of topics including VR-based performances, creative self-expression, and the future of federated music streaming, among other things. Thank you so much to Tom Ray for having me on!</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/ljkWycR8tMY?si=MRuoGQ_jJmJiQx0c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


        
            
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=podcast">#Podcast</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=guest+appearances">#GuestAppearances</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=discussion">#Discussion</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=VRChat">#VRChat</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Podcast" label="podcast" />
        
        <category term="GuestAppearances" label="guest appearances" />
        
        <category term="Discussion" label="discussion" />
        
        <category term="VRChat" label="VRChat" />
        

        

    </entry>
    <entry>
        
        <title>On success: a recap and a look ahead</title>
        <link href="http://sockpuppet.band/blog/1888-On-success-a-recap-and-a-look-ahead" rel="alternate" type="text/html" />
        <published>2025-12-10T15:48:55-08:00</published>
        <updated>2025-12-10T15:48:55-08:00</updated>
        <id>urn:uuid:e71f8986-262b-4c52-91b9-07627434094f</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>It has been one year exactly since I last wrote about <a href="http://sockpuppet.band/blog/2700-On-success">my thoughts on what it means to be successful</a>, and I&rsquo;d like to share where things have gone since then.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>It has been one year exactly since I last wrote about <a href="http://sockpuppet.band/blog/2700-On-success">my thoughts on what it means to be successful</a>, and I&rsquo;d like to share where things have gone since then.</p>

        
            <h3 id="1888_h3_1_Success-updates">Success updates<a href="http://sockpuppet.band/blog/1888-On-success-a-recap-and-a-look-ahead#1888_h3_1_Success-updates" class="toc_link"></a></h3><p>First, here&rsquo;s the criteria I laid out as what I&rsquo;d see as feeling &ldquo;successful.&rdquo;</p>
<ul>
<li><p>The amount of income I get from my music would be sufficient as a living wage</p><p>This is still incredibly far away, and I&rsquo;m not sure it will ever be achievable with the way the music industry is, especially for independent musicians. It&rsquo;s also kind of a low priority for me, though, as my other sources of income are sufficient for now.</p></li>
<li><p>Any time I release something new, I have a fanbase that acquires it without prompting</p><p>This isn&rsquo;t something I&rsquo;ve really had a good measure of, but I will say that this still hasn&rsquo;t been the case for my <a href="http://sockpuppet.band/releases/?date=2025">two releases this year</a></p></li>
<li><p>Any release pays for its own production costs within its first month of release</p><p>I&rsquo;d say I still haven&rsquo;t hit this benchmark just yet. Neither of my releases this year cost in terms of software or equipment (in that I didn&rsquo;t have to buy anything new for them), but like, I&rsquo;m still <em>super</em> far in the hole in terms of my startup costs, and even distributing <a href="http://sockpuppet.band/track/the-war-machine">The War Machine</a> to streaming cost $5 which I haven&rsquo;t yet recouped.</p><p><a href="http://sockpuppet.band/album/strawberry-jelly-9">strawberry jelly :9</a> has made around $94 this year, though, and I also got a job out of it, so, that&rsquo;s worth <em>something</em>.</p></li>
<li><p>I have enough fans that YouTube actively tries to retain my content rather than treating my channel as a liability</p><p>This still hasn&rsquo;t quite changed, although I&rsquo;m starting to feel it turn a corner, especially with my move to self-administering my videos. (On that note, gosh, I&rsquo;m falling behind on that project&hellip;)</p></li>
<li><p>Any release I put out gets visibility in the various streaming platforms&#39; algorithms</p><p>Nope, but also I&rsquo;ve decided to <a href="http://sockpuppet.band/blog/2388-Please-do-not-ask-me-about-streaming-distribution">just not care about streaming for now</a>, which feels like a much healthier solution to the problem.</p></li>
<li><p>People approach me to express interest in <a href="http://sockpuppet.band/clients/">hiring me</a></p><p>This is something that&rsquo;s changed! In that, as mentioned, some of the work I did on <a href="http://sockpuppet.band/album/strawberry-jelly-9">strawberry jelly :9</a> got me hired as the composer for a small game. It isn&rsquo;t much, but it&rsquo;s something.</p></li>
<li><p>Concert organizers approach me to express interest in me performing with them</p><p>And this one I can happily say has definitely been satisfied; quite a few of my <a href="http://sockpuppet.band/live/?tag=vrchat">VRChat performances</a> have now been things where people approached me to play at them, instead of me needing to seek out and apply for things.</p></li>
<li><p>I am approached with offers for representation, either via an agent or a record label</p><p>I am still not signed with a record label (and at this point I&rsquo;m not sure I even want to be), but I do have a booking agent for my VRChat shows! And she&rsquo;s the one who approached me with the idea, after having booked me for a couple of events.</p></li>
<li><p>I have people trying to interpret my songs on their own, whether correctly or incorrectly, and reading their own meaning into them regardless</p><p>This has happened a little bit. So far as I know nobody&rsquo;s yet to submit their own interpretations to Genius or whatever, but people have asked questions about some of my lines, and that&rsquo;s a good first step!</p></li>
</ul>
<p>Also, here&rsquo;s a thing I didn&rsquo;t think of on the original list but which is something that I feel is very much worth celebrating:</p>
<ul>
<li><p>People start to recognize me for my music</p><p>And this is another cool thing that&rsquo;s been happening. The performances I&rsquo;ve done in VRChat have led to people recognizing me as a musician in random places and folks will even compliment me on my music. More than one person has even had a favorite song of mine! (It seems to be tied between <a href="http://sockpuppet.band/track/freak-flag">Freak Flag</a> and <a href="http://sockpuppet.band/track/material-change">Material Change</a>.)</p><p>I also got a surge of interest and recognition after my presence at Furality. (Also a nice little spike of streaming playtime, which unfortunately didn&rsquo;t last long.)</p><p>It&rsquo;s still only something that occurs in very small pockets in VRChat, and is often intertwined with the work I do for <a href="http://sockpuppet.band/clients/1270-Trans-Academy">Trans Academy</a>, but it&rsquo;s been super gratifying and feels great.</p></li>
</ul>
<h3 id="1888_h3_2_The-year-in-review">The year in review<a href="http://sockpuppet.band/blog/1888-On-success-a-recap-and-a-look-ahead#1888_h3_2_The-year-in-review" class="toc_link"></a></h3><p>Here&rsquo;s a breakdown of some of my activity:</p>
<ul>
<li>Released <a href="http://sockpuppet.band/track/the-war-machine">one single</a> and <a href="http://sockpuppet.band/album/strawberry-jelly-9">one album</a></li>
<li>Got hired on a game OST as a result of the album</li>
<li>Finally got a bunch of my albums <a href="http://sockpuppet.band/releases/?tag=collection:CD">re-released on CD</a></li>
<li>Did a bit more Novembeat than last year, and ended up writing a few new songs for an upcoming album as a result</li>
<li>Performed <a href="http://sockpuppet.band/live/?date=2025">a <em>bunch</em> of shows</a>, mostly in VR but one in real life as well</li>
<li>Made about $450 on <a href="http://sockpuppet.band/bandcamp">Bandcamp</a>, $30 on <a href="http://sockpuppet.band/mirlo">Mirlo</a>, and $3 that I&rsquo;ll never see on streaming platforms</li>
<li>Also got a decent chunk of change from the Internet Archive show (which I really need to get around to posting, oops) &mdash; I can highly recommend <a href="https://blog.archive.org/2025/08/20/calling-all-musicians-mini-concerts-at-the-internet-archive/">the experience</a> to anyone who&rsquo;s interested in applying!</li>
<li>Revamped <a href="http://sockpuppet.band/youtube">my YouTube channel</a> and got <a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_5_YouTube-channel-update">a lot more visibility</a> as a result</li>
<li>Completely changed the way I do my live performances, including producing a bunch of backing tracks to add to the experience</li>
</ul>
<h3 id="1888_h3_3_Looking-forward">Looking forward<a href="http://sockpuppet.band/blog/1888-On-success-a-recap-and-a-look-ahead#1888_h3_3_Looking-forward" class="toc_link"></a></h3><p>In 2026, as usual, I hope to get a couple of albums done. Here&rsquo;s what&rsquo;s on my current backlog (which is, regrettably, nearly the exact same backlog as I had for 2025):</p>
<ul>
<li>The next collection of random unreleased songs to be released (including a bunch of Song Fight! and some other random things I&rsquo;ve had sitting around for ages)</li>
<li>A self-cover album, where I want to revamp some of my older songs based on how I perform them today</li>
<li>A jazz album!</li>
<li>An album full of covers of more famous/popular music (this one will be tricky and expensive to get all the proper licenses for it)</li>
<li>And of course, the full OST for the game I&rsquo;m working on</li>
</ul>
<p>I also want to get the rest of my back-catalog up on YouTube, which would be a lot easier if I stop thinking that I need to go overboard on the visualizers, and I also want to get some work done on a <a href="https://github.com/PlaidWeb/Canimus">Canimus</a>-enabled player of some sort. Which isn&rsquo;t super relevant to making music, but it&rsquo;s <em>very</em> relevant to helping musicians to be heard in general.</p><p>Finally, my plan for performing has been to do 1-2 bigger shows a month, and I&rsquo;m pretty sure that&rsquo;s something that I can make happen.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=introspection">#Introspection</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=career">#Career</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=goals">#Goals</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=success">#Success</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Introspection" label="introspection" />
        
        <category term="Career" label="career" />
        
        <category term="Goals" label="goals" />
        
        <category term="Success" label="success" />
        

        

    </entry>
    <entry>
        
        <title>November updates</title>
        <link href="http://sockpuppet.band/blog/2564-November-updates" rel="alternate" type="text/html" />
        <published>2025-11-18T02:08:04-08:00</published>
        <updated>2025-11-18T02:08:04-08:00</updated>
        <id>urn:uuid:438015ca-b51b-5973-a3e9-9a4790876907</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>We&rsquo;re close to the two-thirds mark of the month so I figure I should share what&rsquo;s been going on! It&rsquo;s all good stuff, I think.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>We&rsquo;re close to the two-thirds mark of the month so I figure I should share what&rsquo;s been going on! It&rsquo;s all good stuff, I think.</p>

        
            <h3 id="2564_h3_1_Website">Website<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_1_Website" class="toc_link"></a></h3><p>I&rsquo;ve been slowly working on fully tagging all of <a href="http://sockpuppet.band/releases/all">my releases</a>. At this point it&rsquo;s at about 90% coverage, with nearly everything having genre tags and most things also having instrument and mood tags.</p><h3 id="2564_h3_2_Novembeat">Novembeat<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_2_Novembeat" class="toc_link"></a></h3><p>Some years I produce a lot of music for Novembeat. Some years, not so much. Usually it ends up with <a href="http://sockpuppet.band/releases/?tag=collection:Novembeat">an album</a> at the end.</p><p>So far I&rsquo;ve made 10 tracks (all posted on <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNgZMOTh0QcFehYyeWpa6QD1">the YouTube playlist</a>) which is on the low end but it&rsquo;s been fun to play with things all the same. I might do more this month although I haven&rsquo;t been super motivated. The last few tracks I worked on I at least <a href="https://www.youtube.com/@realfakesockpuppet/live">streamed live on YouTube</a> which was a lot of fun.</p><p>Some of the tracks I&rsquo;ve made so far are ones that I definitely want to revisit as full tracks and don&rsquo;t want to do a half-assed release at the end of the month, and the other tracks are ones that are fun as tooling around but nothing I am really super inspired to release on an album, so I think this year I&rsquo;m just going to limit it to the playlist (same as I did <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNhvYgINS87DnFa5gY0EqZli">last year</a>) and treat it as a fun exercise instead of it being A Thing. Especially since I no longer really feel the pressure to feed the streaming algorithms.</p><h3 id="2564_h3_3_New-music">New music<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_3_New-music" class="toc_link"></a></h3><p>I&rsquo;m still working on the soundtrack for <a href="https://gooningsimulator.com/">a game</a>, and it&rsquo;s coming<sup id="r_e2564_fn1"><a href="http://sockpuppet.band/blog/2564-November-updates#d_e2564_fn1" rel="footnote">1</a></sup> along nicely. Our goal is to release the game in 2026, although there&rsquo;s nothing more firm than that which I can disclose publicly.</p><p>I&rsquo;m also continuing to work on music for some other clients, and collecting more ideas/gumption for whittling down my album production backlog.</p><h3 id="2564_h3_4_Performances">Performances<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_4_Performances" class="toc_link"></a></h3><p>I&rsquo;m excited for two performances, <a href="http://sockpuppet.band/live/896-Skyline-Aurora-Festival">Skyline Aurora Fest</a> this Friday and the <a href="http://sockpuppet.band/live/3095-TFSS-Three-Year-Anniversary-Show">Trans Furs Support System anniversary show</a> next Saturday. I&rsquo;ve upgraded my performance setup even further to make these the best shows I can. Some highlights:</p>
<ul>
<li>I&rsquo;m now using backing tracks combined with live instruments, and many of the backing tracks are specific to my live performances with new arrangements</li>
<li>I have a pretty complete pedalboard that gives me much more control over my live sound, including a proper reverb setup</li>
<li>I&rsquo;ve switched to using some wireless IEMs that give me a lot more freedom within my VR playspace and cuts down on the fragility of my monitoring setup</li>
</ul>
<p>I&rsquo;m also trying to get in on the beta for the <a href="https://www.eozvr.com/products/eoz-immersive-vr-gloves">EOZ immersive gloves</a> in order to get proper hand tracking while I perform, although it&rsquo;ll still be some time before that happens. Right now it&rsquo;s definitely the most promising option that&rsquo;s coming to market in the foreseeable future.</p><h3 id="2564_h3_5_YouTube-channel-update">YouTube channel update<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_5_YouTube-channel-update" class="toc_link"></a></h3><p>Switching to self-administered releases on <a href="http://sockpuppet.band/youtube">my channel</a> has been the best decision I&rsquo;ve made, for unexpected reasons.</p><p>Normally, when releasing music to YouTube, you have to go through a distributor, i.e. the same companies that put music on services like Spotify and Apple Music. Technically, YouTube Music releases are separate from regular YouTube, and the &ldquo;official artist channel&rdquo; function is just a way of getting YouTube Music releases to appear on the &ldquo;releases&rdquo; tab of the official artist website.</p><p>The plus side to this method is that all music listened through YouTube Music gets administered like any other music stream, and YouTube pays out <a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">around half a penny per play</a>, which isn&rsquo;t nothing. And it&rsquo;s also nice that these releases show up on the release tab, and have all of the necessary metadata for music business things. But it has several downsides as well:</p>
<ul>
<li>There&rsquo;s basically no control over what appears on the video description</li>
<li>There&rsquo;s no control over what the video content actually is (generally it&rsquo;s just a static image of the cover art)</li>
<li>There&rsquo;s no way to directly provide synchronized lyrics/subtitles, auto-captioned or otherwise, unless it&rsquo;s a feature provided by your distributor (and setting that up at the distributor side is a pain in the butt)</li>
<li>The artist has absolutely no control over how anything is organized</li>
<li>YouTube Music plays do nothing to help with discovery within the greater YouTube algorithm and doesn&rsquo;t affect the artist&rsquo;s YouTube watch stats</li>
<li>Listeners aren&rsquo;t actually directed to the musician&rsquo;s channel (at least, not reliably) and there&rsquo;s no real integration between YouTube Music and general YouTube following</li>
<li>The artist doesn&rsquo;t benefit from any of YouTube&rsquo;s copyright tools beyond what their distributor makes available (usually at great added expense and with exceptionally poor granularity)</li>
</ul>
<p>And none of these are issues for self-administered videos! So far I&rsquo;ve had the following benefits already:</p>
<ul>
<li>People have discovered my music through the regular YouTube recommendation feed</li>
<li>I&rsquo;ve hit a new watch time milestone which is good for the ol&#39; dopamine factory</li>
<li>I&rsquo;m having a lot of fun figuring out various forms of audio visualizer on the videos</li>
<li>I am able to do my own copyright administration based on my own preferences</li>
</ul>
<p>It isn&rsquo;t perfect, of course. Since I&rsquo;m going through regular YouTube plays, I don&rsquo;t automatically get paid for listens (not that I was making that much to begin with), although hopefully I&rsquo;ll hit a monetization threshold at some point. Also, if someone does get recommended a song through the feed, they&rsquo;ll just get it on its own with no link into its respective playlist (although I suppose I could at least put a link in the description). Also there&rsquo;s no way for me to organize playlists into groups; I think that feature does become available to larger creators, but I haven&rsquo;t hit whatever threshold is necessary for that just yet.</p><p>I <em>could</em> do more <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNjWw3NKCY9Ra2yGluRvaOYx">whole-album videos</a> to preserve the album-oriented listening experience, and I&rsquo;ll probably get around to doing that when I&rsquo;m done clearing this <a href="http://sockpuppet.band/blog/3472-Oops-All-YouTube">reupload backlog</a>.</p><h3 id="2564_h3_6_But-anyway">But anyway<a href="http://sockpuppet.band/blog/2564-November-updates#2564_h3_6_But-anyway" class="toc_link"></a></h3><p>I am a <a href="https://beesbuzz.biz/">busy bee</a> and I still have to manage my energy and chronic pain (and being up this late to blog about it certainly isn&rsquo;t helping). But things are feeling pretty okay right now.</p>
            
                <hr/><ol><li id="d_e2564_fn1"><p>heh&nbsp;<a href="/blog/2564-November-updates#r_e2564_fn1" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Novembeat">#Novembeat</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=YouTube">#YouTube</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=backlog">#Backlog</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=backburner">#Backburner</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Novembeat" label="Novembeat" />
        
        <category term="YouTube" label="YouTube" />
        
        <category term="Backlog" label="backlog" />
        
        <category term="Backburner" label="backburner" />
        

        

    </entry>
    <entry>
        
        <title>Oops, All YouTube!</title>
        <link href="http://sockpuppet.band/blog/3472-Oops-All-YouTube" rel="alternate" type="text/html" />
        <published>2025-11-07T22:46:56-08:00</published>
        <updated>2025-11-07T22:46:56-08:00</updated>
        <id>urn:uuid:5c04f626-4172-579b-88e7-ef901e8db11a</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>After going through the rigmarole of making nice visualizer videos for Refactor, I noticed that I&rsquo;d already done that a year ago! In fact I&rsquo;d done it for a few albums and I&rsquo;d forgotten about that.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>After going through the rigmarole of making nice visualizer videos for Refactor, I noticed that I&rsquo;d already done that a year ago! In fact I&rsquo;d done it for a few albums and I&rsquo;d forgotten about that.</p>

        
            <p>I&rsquo;ll replace the Refactor videos with the new ones on Monday because they new ones are way better and that album is pretty special to me (and I&rsquo;ll just delist the old videos rather than delete them outright), but I think I&rsquo;ll leave Radio Ready and Instrumental alone.</p><p>In any case here&rsquo;s my current tentative YouTube album rerelease schedule:</p>
<table>
<thead>
<tr>
<th>Week</th>
<th>Monday release</th>
<th>Thursday release</th>
</tr>
</thead>

<tbody>
<tr>
<td>11/10/2025</td>
<td><a href="http://sockpuppet.band/album/refactor">Refactor</a></td>
<td><a href="http://sockpuppet.band/album/strawberry-jelly-9">strawberry jelly :9</a></td>
</tr>
<tr>
<td>11/17/2025</td>
<td><a href="http://sockpuppet.band/album/foodsexsleep">foodsexsleep</a></td>
<td><a href="http://sockpuppet.band/album/or-die-trying-ost">&hellip;Or Die Trying OST</a></td>
</tr>
<tr>
<td>11/24/2025</td>
<td><a href="http://sockpuppet.band/album/love-and-monsters">Love and Monsters</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2017">Novembeat 2017</a></td>
</tr>
<tr>
<td>12/01/2025</td>
<td><a href="http://sockpuppet.band/album/songs-of-substance">Songs of Substance</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2023-pawmune-and-friends">Novembeat 2023: Pawmune and Friends</a></td>
</tr>
<tr>
<td>12/08/2025</td>
<td><a href="http://sockpuppet.band/album/s7rawberry">s7rawberry</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2019">Novembeat 2019</a></td>
</tr>
<tr>
<td>12/15/2025</td>
<td><a href="http://sockpuppet.band/album/novembeat-2016">Novembeat 2016</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2018">Novembeat 2018</a></td>
</tr>
<tr>
<td>12/22/2025</td>
<td><a href="http://sockpuppet.band/album/transformative-instrumentals-vol-1">Transformative Instrumentals, vol. 1</a></td>
<td><a href="http://sockpuppet.band/album/the-balance-of-sappho-ost">The Balance of Sappho OST</a></td>
</tr>
<tr>
<td>12/29/2025</td>
<td><a href="http://sockpuppet.band/album/admiralo-island">Admiralo Island Witches Club</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2021-lo-fi-beats-to-grind-coffee-to">Novembeat 2021</a></td>
</tr>
<tr>
<td>01/05/2026</td>
<td><a href="http://sockpuppet.band/album/treestoration-ost">Treestoration</a></td>
<td><a href="http://sockpuppet.band/album/herbal-spice-problem-ost">Herbal Spice Problem</a> + <a href="http://sockpuppet.band/album/brickris-tetout-ost">Brickris Tetout</a></td>
</tr>
<tr>
<td>01/12/2026</td>
<td><a href="http://sockpuppet.band/album/deadnames">Deadnames</a></td>
<td></td>
</tr>
</tbody>
</table>
<p>which would actually cover my entire back-catalog, aside from <a href="http://sockpuppet.band/track/wiener-dog-on-a-motorcycle">Wiener Dog on a Motorcycle</a> (which I still want to do a full music video for instead of a visualizer release) and <a href="http://sockpuppet.band/album/pointed-little-quill">pointed little quill</a> which is still available on YouTube Music.</p><p>Of course this is subject to change due to any number of factors, especially if I actually manage to get one of my backburnered albums out in the interim.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=YouTube">#YouTube</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=video">#Video</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="YouTube" label="YouTube" />
        
        <category term="Video" label="video" />
        

        

    </entry>
    <entry>
        
        <title>YouTube self-management update</title>
        <link href="http://sockpuppet.band/blog/2069-YouTube-self-management-update" rel="alternate" type="text/html" />
        <published>2025-11-06T16:03:08-08:00</published>
        <updated>2025-11-06T16:03:08-08:00</updated>
        <id>urn:uuid:8f1a480b-ddf0-56ec-ab25-dfe187e6b2a1</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>If you follow <a href="http://sockpuppet.band/youtube">my YouTube channel</a> you&rsquo;ve probably been at least somewhat inundated with a bunch of videos on your feed with my music reposts. I&rsquo;ve finally figured out a process I&rsquo;m more or less happy with, and am figuring out the best cadence for doing things.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>If you follow <a href="http://sockpuppet.band/youtube">my YouTube channel</a> you&rsquo;ve probably been at least somewhat inundated with a bunch of videos on your feed with my music reposts. I&rsquo;ve finally figured out a process I&rsquo;m more or less happy with, and am figuring out the best cadence for doing things.</p><p>My current plan is to do two releases per week; on Mondays will be what I consider my &ldquo;real&rdquo; or &ldquo;authored&rdquo; albums, and Thursdays will be what I consider &ldquo;jam&rdquo; albums. The categorization of these is a little wishy-washy, but for example, things I&rsquo;ve done for <a href="http://sockpuppet.band/releases/?tag=collection:novembeat">Novembeat</a> and <a href="http://sockpuppet.band/releases/?tag=collection:game-jams">Strawberry Jam</a> are &ldquo;jam&rdquo; albums, while things like <a href="http://sockpuppet.band/album/refactor">Refactor</a> and <a href="http://sockpuppet.band/album/songs-of-substance">Songs of Substance</a> are &ldquo;authored&rdquo; albums.</p>

        
            <h3 id="2069_h3_1_Release-schedule-intended">Release schedule (intended)<a href="http://sockpuppet.band/blog/2069-YouTube-self-management-update#2069_h3_1_Release-schedule-intended" class="toc_link"></a></h3><p>This is my current release schedule plan:</p>
<table>
<thead>
<tr>
<th>Week</th>
<th>Monday release</th>
<th>Thursday release</th>
</tr>
</thead>

<tbody>
<tr>
<td>11/10/2025</td>
<td><a href="http://sockpuppet.band/album/refactor">Refactor</a></td>
<td><a href="http://sockpuppet.band/album/strawberry-jelly-9">strawberry jelly :9</a></td>
</tr>
<tr>
<td>11/17/2025</td>
<td><a href="http://sockpuppet.band/album/foodsexsleep">foodsexsleep</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2021-lo-fi-beats-to-grind-coffee-to">Novembeat 2021</a><sup id="r_e2069_fn1"><a href="http://sockpuppet.band/blog/2069-YouTube-self-management-update#d_e2069_fn1" rel="footnote">1</a></sup></td>
</tr>
<tr>
<td>11/24/2025</td>
<td><a href="http://sockpuppet.band/album/love-and-monsters">Love and Monsters</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2017">Novembeat 2017</a></td>
</tr>
<tr>
<td>12/01/2025</td>
<td><a href="http://sockpuppet.band/album/radio-ready">Radio Ready</a></td>
<td><a href="http://sockpuppet.band/album/or-die-trying-ost">&hellip;Or Die Trying OST</a><sup id="r_e2069_fn2"><a href="http://sockpuppet.band/blog/2069-YouTube-self-management-update#d_e2069_fn2" rel="footnote">2</a></sup></td>
</tr>
<tr>
<td>12/08/2025</td>
<td><a href="http://sockpuppet.band/album/instrumental">Instrumental</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2019">Novembeat 2019</a></td>
</tr>
<tr>
<td>12/15/2025</td>
<td><a href="http://sockpuppet.band/album/songs-of-substance">Songs of Substance</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2023-pawmune-and-friends">Novembeat 2023: Pawmune and Friends</a></td>
</tr>
<tr>
<td>12/22/2025</td>
<td><a href="http://sockpuppet.band/album/transformative-instrumentals-vol-1">Transformative Instrumentals, vol. 1</a></td>
<td><a href="http://sockpuppet.band/album/novembeat-2018">Novembeat 2018</a></td>
</tr>
<tr>
<td>12/29/2025</td>
<td></td>
<td><a href="http://sockpuppet.band/album/novembeat-2016">Novembeat 2016</a></td>
</tr>
<tr>
<td>01/05/2026</td>
<td></td>
<td><a href="http://sockpuppet.band/album/s7rawberry">s7rawberry</a></td>
</tr>
</tbody>
</table>
<p>There&rsquo;s a bunch of albums not yet on that list and I&rsquo;m not sure if I want them to have YouTube rereleases just yet. I&rsquo;ll probably use the empty Mondays to release them, possibly in groups (for example, several of the game jam OSTs are quite short).</p><h3 id="2069_h3_2_Some-technical-details">Some technical details<a href="http://sockpuppet.band/blog/2069-YouTube-self-management-update#2069_h3_2_Some-technical-details" class="toc_link"></a></h3><p>To actually make the videos I&rsquo;ve finally wrapped my head around how FFmpeg filter graphs work, and I&rsquo;m building up a little repertoire of visual hacks that let me make the various things look nice.</p><p>For example, here&rsquo;s the <a href="http://sockpuppet.band/_file/bc077/8/novembeat%202020%20video%20setup.zip">Novembeat 2020 video setup files</a>, for those who are interested. FFmpeg scripts aren&rsquo;t super easy to comment, but probably the trickiest thing is the way the <code>remap</code> filter works; basically, the X and Y channels must be in 16-bit grayscale mode, and directly reference pixel coordinates, but it&rsquo;s not super easy to set up colors like that in Affinity Studio (my graphics editor of choice) so instead I draw things as a grayscale ramp (which end up with values 0-65535 in the 16-bit mapping) and then scale it down to try to map them to 0-255. Buuuuut Affinity also ends up dithering gradients regardless of colorspace or settings, so there needs to be a bit of fudging there too. (In retrospect this is something that would have probably worked better with <a href="https://gimp.org">GNU IMP</a>, which has native support for 16-bit grayscale images.)</p><p><mark>Update:</mark> Nope GNU IMP&rsquo;s UI is still complete garbage for this and wouldn&rsquo;t have improved things. I guess in the future I&rsquo;ll just want to, like, write code.</p><p>As far as uploaading the videos goes, I wrote a <a href="https://github.com/fluffy-critter/yt-uploader">Python script</a> which is rather involved in its setup (since it requires setting up a Google developer account and a &ldquo;cloud application&rdquo;) and which I can only run a few times a day due to the somewhat annoying way that YouTube&rsquo;s API limits work. But my process is basically:</p>
<ol>
<li>Encode all my videos (using the Bandcrash FLAC files as the input source)</li>
<li>Drag them (15 at a time) to the YouTube uploader</li>
<li>Add them all to a new playlist</li>
<li>Download the playlist metadata</li>
<li>Reconcile the playlist metadata with my <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a> album data to automatically generate titles and descriptions</li>
<li>Apply that new data to the YouTube videos and simultaneously schedule them for publication on release day</li>
</ol>
<p>It&rsquo;s a bit annoying but not <em>nearly</em> as annoying as having to hand-edit the descriptions and post schedule.</p><h3 id="2069_h3_3_Some-future-things">Some future things<a href="http://sockpuppet.band/blog/2069-YouTube-self-management-update#2069_h3_3_Some-future-things" class="toc_link"></a></h3><p>I really want to do a proper music video for <a href="http://sockpuppet.band/track/wiener-dog-on-a-motorcycle">Wiener Dog on a Motorcycle</a>. I&rsquo;ve had a very strong image in my head for how it should look. If any animators are interested in taking it on as a gig, let me know. I need to at least do a storyboard and possibly an animatic myself, I think.</p><p>On top of all this I still have <a href="http://sockpuppet.band/blog/2959-Goings-on-in-the-Sockiverse">so many backburnered album projects</a>, and of course I still have 25 days of <a href="https://novembeat.com/">Novembeat</a> left to do&hellip;</p>
            
                <hr/><ol><li id="d_e2069_fn1"><p>This would be a music-only release, rather than the existing <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNhD7WQYFrqckvaweUj9kKls">music videos playlist</a> which has a bunch of non-music stuff in it and is missing the last track, which currently only appears in the <a href="https://www.youtube.com/watch?v=cAdd8tF-WVs">full video</a>.&nbsp;<a href="/blog/2069-YouTube-self-management-update#r_e2069_fn1" rev="footnote">↩</a></p></li><li id="d_e2069_fn2"><p>This will also coincidentally be the same intended day as the album release of Novembeat 2025, but that will already have been on YouTube since I&rsquo;m using that as my primary incremental release mechanism.&nbsp;<a href="/blog/2069-YouTube-self-management-update#r_e2069_fn2" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=YouTube">#YouTube</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=video">#Video</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=FFmpeg">#FFmpeg</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="YouTube" label="YouTube" />
        
        <category term="Video" label="video" />
        
        <category term="FFmpeg" label="FFmpeg" />
        

        

    </entry>
    <entry>
        
        <title>Let&#39;s Novembeat!</title>
        <link href="http://sockpuppet.band/blog/2205-Let-s-Novembeat" rel="alternate" type="text/html" />
        <published>2025-10-30T00:00:00-07:00</published>
        <updated>2025-10-30T00:00:00-07:00</updated>
        <id>urn:uuid:38640c5f-b3dc-597a-9c1d-988bd53d50e2</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p> </p><p>Hey y&#39;all! As you might know, I coordinate an annual song-a-day challenge called <a href="https://novembeat.com/">Novembeat</a>, where in November you try to make something musical every day. <a href="http://sockpuppet.band/releases/?tag=collection:Novembeat">Several of my albums</a> have been produced that way, and last year, in lieu of doing the traditional challenge (aside from a <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNhvYgINS87DnFa5gY0EqZli">handful of low-effort experiments</a>) I mostly used the month as a push to finally finish up <a href="http://sockpuppet.band/album/transitions">Transitions</a>.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        
<figure class="images"><a href="https://novembeat./com"><img src="http://sockpuppet.band/static/_img/e7/5bd8/novembeat_adc3b69293_240x240_q50.webp" width="240" height="240" srcset="http://sockpuppet.band/static/_img/e7/5bd8/novembeat_adc3b69293_240x240_q50.webp 1x, http://sockpuppet.band/static/_img/e7/5bd8/novembeat_adc3b69293_480x480_q50.webp 2x" loading="lazy" class="u-photo" alt="novembeat.png"></a></figure>
<p>Hey y&#39;all! As you might know, I coordinate an annual song-a-day challenge called <a href="https://novembeat.com/">Novembeat</a>, where in November you try to make something musical every day. <a href="http://sockpuppet.band/releases/?tag=collection:Novembeat">Several of my albums</a> have been produced that way, and last year, in lieu of doing the traditional challenge (aside from a <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNhvYgINS87DnFa5gY0EqZli">handful of low-effort experiments</a>) I mostly used the month as a push to finally finish up <a href="http://sockpuppet.band/album/transitions">Transitions</a>.</p><p>I&rsquo;ve always found Novembeat to be a very helpful thing for feeling unstuck with my own musical pursuits, and I&rsquo;d highly recommend it to anyone who wants to get a bit more practice with any aspect of the music creation process.</p><p>My suggestion is to only do it to the level for which you feel it&rsquo;s helpful. Don&rsquo;t burn yourself out on music trying to produce something if it isn&rsquo;t flowing; the point is to challenge yourself, not to push yourself to the breaking point. Most years I haven&rsquo;t actually done something <em>every</em> day, and getting anything done means there&rsquo;s now more music in the world than there was before, and that can only be a good thing.</p><p>Anyway, think of this as an invitation to join in. Or if a weekly-ish cadence is more your speed, check out <a href="https://songfight.org">Song Fight!</a>, which I wrote about <a href="http://sockpuppet.band/blog/569-Song-Fight-The-how-the-what-and-the-why">recently</a>.</p>

        
            
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=novembeat">#Novembeat</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Novembeat" label="novembeat" />
        

        

    </entry>
    <entry>
        
        <title>Goings-on in the Sockiverse</title>
        <link href="http://sockpuppet.band/blog/2959-Goings-on-in-the-Sockiverse" rel="alternate" type="text/html" />
        <published>2025-10-24T11:47:31-07:00</published>
        <updated>2025-10-24T11:47:31-07:00</updated>
        <id>urn:uuid:86c9f8e0-8833-5869-9444-8d6caf548e38</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Hello! I think it&rsquo;s been a while since I&rsquo;ve talked about what&rsquo;s going on with the band and what sorts of things are happening. So here&rsquo;s a casual collection of updates along those lines.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Hello! I think it&rsquo;s been a while since I&rsquo;ve talked about what&rsquo;s going on with the band and what sorts of things are happening. So here&rsquo;s a casual collection of updates along those lines.</p>

        
            <h3 id="2959_h3_1_Music-distribution-stuff">Music distribution stuff<a href="http://sockpuppet.band/blog/2959-Goings-on-in-the-Sockiverse#2959_h3_1_Music-distribution-stuff" class="toc_link"></a></h3><p>While it took a bit longer than expected, the <a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go">removal of (most of) our music from streaming services</a> has finally mostly gone through in most places.</p><p>To that end, we are finally starting to upload individual tracks to YouTube, although that process is going to take a little while. Rather than just put a bunch of boring thumbnail-and-audio videos up, I want everything to have at least some amount of a visual element. For <a href="http://sockpuppet.band/album/transitions">Transitions</a> it was easy enough to do <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNgEemcycIvCNTvegX84_rUc">visualizer tracks</a> since those had already been done for the <a href="https://youtu.be/FAetyU7-hZw">full album video</a>, and of course I&rsquo;d already done this for <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNhD7WQYFrqckvaweUj9kKls">Novembeat 2021</a> and <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNiK4bYX4-ERC58UQpPth1Nd">2022</a> as part of the production of those albums, but for the other albums I&rsquo;ll probably just be doing a simple waveform plot like I did for <a href="https://www.youtube.com/playlist?list=PLNRLpYEdwBNi0vztq5rAsViTEx8xdXe-L">Strawberry Jams I Ate</a> since that&rsquo;s easy to automate.</p><p>Anyway, in other distribution news, a while back, I started drafting a specification called <a href="https://github.com/PlaidWeb/Canimus">Canimus</a> (the name is a Latin word that broadly means &ldquo;we make music&rdquo;) to allow music providers to syndicate their music easily, and I&rsquo;ve been working with a few other folks to try to work out some of the hairier details. As it stands the protocol is ready for my own use case and for anyone who is just interested in publishing a feed to the public Internet, but of course there&rsquo;s going to have to be some long-term thoughts around some of the trickier legal things to deal with. But there are also folks already building player engines, and Sockpuppet&rsquo;s full catalog is available for streaming, at least.</p><p>Unfortunately the actual conversation is scattered between a few different spots, although it&rsquo;s mostly being discussed on <a href="https://mirlo.space">Mirlo</a>&rsquo;s Discord with some other conversations happening over on <a href="https://the.socialmusic.network/t/canimus-yet-another-federation-syndication-approach/686">The Social Music Network</a>, which is also a great community to join if you have any interest in talking about the future of independent music on the Internet. Ideally discussion about the protocol itself will take place on the <a href="https://github.com/PlaidWeb/Canimus/discussions">Canimus GitHub discussions board</a>.</p><h3 id="2959_h3_2_Other-musical-projects">Other musical projects<a href="http://sockpuppet.band/blog/2959-Goings-on-in-the-Sockiverse#2959_h3_2_Other-musical-projects" class="toc_link"></a></h3><p>As far as music production goes, we are currently busy with the following:</p>
<ul>
<li>Actively working on the soundtrack for a video game</li>
<li>Making music for a couple of <a href="http://sockpuppet.band/clients/">ongoing clients</a></li>
<li>Preparing for <a href="https://novembeat.com/">Novembeat</a></li>
</ul>
<p>And the following album projects are currently on the backburner:</p>
<ul>
<li>The next album of Song Fight! and Song Fight!-adjacent songs</li>
<li>An album of covers of other peoples&#39; music we&rsquo;ve done over the years</li>
<li>An album of reimagining a bunch of our old songs into new styles or with updated sensibiliies</li>
<li>A jazz album</li>
</ul>
<p>As you might imagine, every member of the band is quite busy!</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=updates">#Updates</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=distribution">#Distribution</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=YouTube">#YouTube</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Canimus">#Canimus</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Updates" label="updates" />
        
        <category term="Distribution" label="distribution" />
        
        <category term="YouTube" label="YouTube" />
        
        <category term="Canimus" label="Canimus" />
        

        

    </entry>
    <entry>
        
        <title>Review: Kunaki CDs</title>
        <link href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs" rel="alternate" type="text/html" />
        <published>2025-10-16T17:02:38-07:00</published>
        <updated>2025-10-16T17:02:38-07:00</updated>
        <id>urn:uuid:bd900f8d-d25f-5652-ad3f-e40f65eb21d0</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>My first batch of CDs from <a href="http://sockpuppet.band/kunaki">Kunaki</a> arrived today, and here&rsquo;s a brief review of how they turned out.</p>]]></summary>
        <content type="html"><![CDATA[

		

        
        <figure><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="/static/_img/79/8a59/IMG_8621_dee8438854_350x321.jpg" width="350" height="321" srcset="/static/_img/79/8a59/IMG_8621_dee8438854_350x321.jpg 1x, /static/_img/79/8a59/IMG_8621_dee8438854_700x641.jpg 2x" loading="lazy" alt="IMG_8621.jpeg"></a></figure>
        



        <p>My first batch of CDs from <a href="http://sockpuppet.band/kunaki">Kunaki</a> arrived today, and here&rsquo;s a brief review of how they turned out.</p><p>(Short version: They&rsquo;re great!)</p>

        
            <p>I ordered a set of one of each of my first 12 CDs that I had set up with them, namely:</p>
<ul>
<li><a href="http://sockpuppet.band/album/foodsexsleep">foodsexsleep</a></li>
<li><a href="http://sockpuppet.band/album/love-and-monsters">Love and Monsters</a></li>
<li><a href="http://sockpuppet.band/album/radio-ready">Radio Ready</a></li>
<li><a href="http://sockpuppet.band/album/refactor">Refactor</a></li>
<li><a href="http://sockpuppet.band/album/novembeat-2020">Novembeat 2020</a></li>
<li><a href="http://sockpuppet.band/album/songs-of-substance">Songs of Substance</a></li>
<li><a href="http://sockpuppet.band/album/novembeat-2021-lo-fi-beats-to-grind-coffee-to">Lo-Fi Beats to Grind Coffee To</a></li>
<li><a href="http://sockpuppet.band/album/novembeat-2022-original-soundtrack">Original Soundtrack</a></li>
<li><a href="http://sockpuppet.band/album/novembeat-2023-pawmune-and-friends">Pawmune and Friends</a></li>
<li><a href="http://sockpuppet.band/album/instrumental">Instrumental</a></li>
<li><a href="http://sockpuppet.band/album/notions">Notions</a></li>
<li><a href="http://sockpuppet.band/album/transitions">Transitions</a></li>
</ul>
<p>I placed the order on October 13, and the order was shipped out the very next day, and arrived just two days later, even though they were shipped USPS Media Mail. They came direct from Kunaki&rsquo;s manufacturing facility in Sparks, Nevada.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/21/7a55/IMG_8603_c78a5f80a3_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/21/7a55/IMG_8603_c78a5f80a3_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/21/7a55/IMG_8603_c78a5f80a3_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8603.jpeg" title="An unassuming box"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/c3/81ab/IMG_8604_3e6860489b_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/c3/81ab/IMG_8604_3e6860489b_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/c3/81ab/IMG_8604_3e6860489b_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8604.jpeg" title="So many CDs"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/a8/55ec/IMG_8605_7c1897f830_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/a8/55ec/IMG_8605_7c1897f830_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/a8/55ec/IMG_8605_7c1897f830_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8605.jpeg" title="Spread out they seem even more numerous"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/c3/e5a9/IMG_8626_b06014b8eb_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/c3/e5a9/IMG_8626_b06014b8eb_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/c3/e5a9/IMG_8626_b06014b8eb_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8626.jpeg" title="No Tyler you're not gonna fit in there"></a></figure>
<p>Every single CD came shrinkwrapped and felt very professionally-assembled. The print quality is also quite good, much better than from the other short-run manufacturers I&rsquo;ve used. The downside is that they only support two-panel inserts, so for some of my legacy releases I had to scale back the artwork; this was particularly sad for Refactor and Love and Monsters, both of which I had a full spread set up, and on this rerelease I had to pare it back considerably.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/d9/eebf/IMG_8637_dfb81c71dc_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/d9/eebf/IMG_8637_dfb81c71dc_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/d9/eebf/IMG_8637_dfb81c71dc_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8637.jpeg" title="Scaled-back artwork on Love and Monsters"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/13/247a/IMG_8645_482778abb4_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/13/247a/IMG_8645_482778abb4_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/13/247a/IMG_8645_482778abb4_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8645.jpeg" title="Scaled-back Refactor"></a></figure>
<p>But the color quality is great and it turned out exactly as I&rsquo;d expected. (It looks much better in person than what this picture from my unsteady phone camera would indicate.)</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/37/371a/IMG_8616_2e28c64758_620x640_q50.webp" width="620" height="640" srcset="http://sockpuppet.band/static/_img/37/371a/IMG_8616_2e28c64758_620x640_q50.webp 1x, http://sockpuppet.band/static/_img/37/371a/IMG_8616_2e28c64758_1240x1280_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8616.jpeg" title="Cover art detail on Instrumental"></a></figure>
<p>Also, because of the minimal insert capabilities, on some of the releases where I didn&rsquo;t have better ideas of what to put inside, I opted to squeeze all of the lyrics onto a single panel. While you&rsquo;ll probably need a magnifying glass to read it, it&rsquo;s still perfectly sharp and readable.</p><p>The only complaint I have is that the layout teplates Kunaki provided were very minimal and it was difficult to get an idea of where the bleed/crop/trim/bend marks would be, and they don&rsquo;t seem to be symmetrical. As a result, the spines are a bit inconsistent and not quite up to professional standards:</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/0a/ac0a/IMG_8607_db3a68b446_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/0a/ac0a/IMG_8607_db3a68b446_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/0a/ac0a/IMG_8607_db3a68b446_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8607.jpeg" title="Poorly cropped spine"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/93/a8a8/IMG_8608_cb8872d091_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/93/a8a8/IMG_8608_cb8872d091_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/93/a8a8/IMG_8608_cb8872d091_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8608.jpeg" title="But at least it's consistent"></a></figure>
<p>But it&rsquo;s Good Enough for now and it&rsquo;s only the back-facing spine that seems to be affected. I&rsquo;ll definitely be tweaking my layout templates going forward, though.</p><p>Anyway, the other thing I was concerned about was the print quality for the CD labels themselves, and I&rsquo;m happy to say that they look <em>fantastic</em>.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/4a/96df/IMG_8642_db9613a013_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/4a/96df/IMG_8642_db9613a013_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/4a/96df/IMG_8642_db9613a013_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8642.jpeg" title="Radio Ready"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/79/8a59/IMG_8621_dee8438854_640x586_q50.webp" width="640" height="586" srcset="http://sockpuppet.band/static/_img/79/8a59/IMG_8621_dee8438854_640x586_q50.webp 1x, http://sockpuppet.band/static/_img/79/8a59/IMG_8621_dee8438854_1280x1173_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8621.jpeg" title="Novembeat 2020"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/2a/4231/IMG_8615_2b9bd9dd63_640x611_q50.webp" width="640" height="611" srcset="http://sockpuppet.band/static/_img/2a/4231/IMG_8615_2b9bd9dd63_640x611_q50.webp 1x, http://sockpuppet.band/static/_img/2a/4231/IMG_8615_2b9bd9dd63_1280x1222_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8615.jpeg" title="Transitions"></a></figure>
<p>As far as the actual CD replication goes, I was impressed to see that even though they&rsquo;re burned CDs, they look just like a pressed CD to me. And of course, the CDs play just fine in both my Playstation 2 and on my Windows computer with its external optical drive.</p>
<figure class="images"><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/82/9c80/IMG_8612_2fd9116df4_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/82/9c80/IMG_8612_2fd9116df4_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/82/9c80/IMG_8612_2fd9116df4_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8612.jpeg" title="im-press-ive"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/75/9ab7/IMG_8613_e11de75009_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/75/9ab7/IMG_8613_e11de75009_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/75/9ab7/IMG_8613_e11de75009_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8613.jpeg" title="My Japanese PS2 is the only thing approaching a “CD player” I have hooked up right now"></a><a href="http://sockpuppet.band/blog/2010-Review-Kunaki-CDs"><img src="http://sockpuppet.band/static/_img/16/106e/IMG_8622_f49657ed16_640x360_q50.webp" width="640" height="360" srcset="http://sockpuppet.band/static/_img/16/106e/IMG_8622_f49657ed16_640x360_q50.webp 1x, http://sockpuppet.band/static/_img/16/106e/IMG_8622_f49657ed16_1280x720_q50.webp 2x" loading="lazy" class="u-photo" alt="IMG_8622.jpeg" title="I have no idea where Windows Media Player was getting the artwork from, but cool that it worked"></a></figure>
<p>And, thanks to the gapless mastering from <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a>, the tracks all flow exactly as they&rsquo;re intended to, with no extra gaps. The albums that I uploaded using Kunaki&rsquo;s per-track uploader do have two-second gaps between them, unfortunately, but going forward I&rsquo;m always going to use Bandcrash for my CD authoring, because it Just Works and is <a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing">a hell of a lot easier to deal with</a> anyway.</p><p>So, anyway, yeah. Kunaki&rsquo;s output is great and while I wish they had a four-panel insert option and slightly more flexibility in their authoring process (like supporting CD-Text and such), their output is professional and I absolutely recommend the service to anyone who&rsquo;s interested in short-run CD manufacturing and drop-shipping.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=manufacturing">#Manufacturing</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=kunaki">#Kunaki</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Manufacturing" label="manufacturing" />
        
        <category term="Kunaki" label="kunaki" />
        

        

    </entry>
    <entry>
        
        <title>Bandcrash: Not just for self-publishing</title>
        <link href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing" rel="alternate" type="text/html" />
        <published>2025-10-13T19:16:17-07:00</published>
        <updated>2025-10-13T19:16:17-07:00</updated>
        <id>urn:uuid:95d400b6-90c8-536c-a662-ae3c375fc167</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p> </p><p>If you&rsquo;ve poked around this website you probably know that I wrote and use <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a> to build the embedded players for the music previews. You might also be aware of it as the tool that I use to publish my albums to <a href="http://sockpuppet.band/itch">my itch.io page</a> as an alternative to Bandcamp. But I also use it as a tool for a bunch of other things in my music &mdash; including part of how I publish things to Bandcamp and other storefronts.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        
<figure class="images"><a href="https://fluffy.itch.io/bandcrash"><img src="http://sockpuppet.band/static/_img/c4/f936/bandcrash_41e17d7b58_240x240_q50.webp" width="240" height="240" srcset="http://sockpuppet.band/static/_img/c4/f936/bandcrash_41e17d7b58_240x240_q50.webp 1x, http://sockpuppet.band/static/_img/c4/f936/bandcrash_41e17d7b58_q50.webp 2x" loading="lazy" class="u-photo" style="shape-outside: url('http://sockpuppet.band/static/_img/c4/f936/bandcrash_41e17d7b58_240x240.png')" alt="Bandcrash logo"></a></figure>
<p>If you&rsquo;ve poked around this website you probably know that I wrote and use <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a> to build the embedded players for the music previews. You might also be aware of it as the tool that I use to publish my albums to <a href="http://sockpuppet.band/itch">my itch.io page</a> as an alternative to Bandcamp. But I also use it as a tool for a bunch of other things in my music &mdash; including part of how I publish things to Bandcamp and other storefronts.</p><p>Here&rsquo;s some ways in which I use it.</p>

        
            <h3 id="3367_h3_1_Improving-my-production-workflow">Improving my production workflow<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_1_Improving-my-production-workflow" class="toc_link"></a></h3><p>By maintaining my albums in Bandcrash as I work on them, it gives me a nice local player that lets me preview how the music is going to sound in context, since it can help me maintain my track ordering without having to do a lengthy/slow upload process or deal with playlists and libraries in VLC or iTunes or the like. It also gives me a place to edit and preview the liner notes and lyrics sheets.</p><p>Also, it&rsquo;s easy for me to upload the previewer to a website and have other people do test listens.</p><h3 id="3367_h3_2_Improving-distribution-to-other">Improving distribution to other platforms<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_2_Improving-distribution-to-other" class="toc_link"></a></h3><p>When it&rsquo;s time to upload to the various services, it acts as a force-multiplier in a few ways:</p>
<ul>
<li>I can encode the whole album as FLAC and then easily drag-and-drop the files to the <a href="http://sockpuppet.band/mirlo">mirlo</a> uploader, which then parses all of the tags and gives me the correct track ordering, genre tags, and lyrics</li>
<li>I already have edited plaintext lyrics and liner notes that I can easily copy-paste into the Bandcamp editor</li>
<li>The FLAC version is also much faster to upload to Bandcamp than the WAV version, and since I already have my track order set, I don&rsquo;t need to think about things a whole bunch</li>
<li>The <a href="https://itch.io/docs/butler/">butler</a> integration with itch.io automatically uploads all versions there with no real effort on my part</li>
<li>The pre-built .zip files are super easy to sell or distribute on other platforms, such as <a href="http://sockpuppet.band/patreon">Patreon</a>, <a href="http://sockpuppet.band/ko-fi">Ko-Fi</a>, and Gumroad</li>
</ul>
<h3 id="3367_h3_3_Authoring-and-uploading-CDs-for">Authoring and uploading CDs for manufacturing<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_3_Authoring-and-uploading-CDs-for" class="toc_link"></a></h3><p><a href="https://kunaki.com/">Kunaki</a>&rsquo;s standard album uploader is a pain to work with and results in albums with forced 2-second gaps between songs. With the <a href="https://bandcrash.readthedocs.io/en/latest/cd-authoring.html">brand-new CD authoring flow</a> that I released yesterday, it is now much, much easier to publish an album to Kunaki, as now there are only two files to upload (the .bin and the .cue), and everything turns out exactly as it does when played in the local player with gapless transitions.</p><p>Also, external authoring tools are the only way to support more than 25 tracks on a single album with Kunaki, and I couldn&rsquo;t find anything else that works nearly as well for this, which is why I added this functionality to Bandcrash to begin with.</p><p>Any service that can take .bin and .cue files would be able to use this, and even if you just want to burn a bunch of CDs on your own, you can use these files with <a href="https://cdrdao.sourceforge.net/">cdrdao</a> or <a href="https://www.imgburn.com/">ImgBurn</a> or any number of other tools that take bin/cue files, and not have to worry about setting up a bunch of stuff.</p><p>And, as a bonus, you&rsquo;ll get <a href="https://en.wikipedia.org/wiki/CD-Text">CD-Text</a><sup id="r_e3367_fn1"><a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#d_e3367_fn1" rel="footnote">1</a></sup>, so your titles and genres and such will Just Work™ on fancier CD players and peoples&#39; computers.</p><h3 id="3367_h3_4_Game-OST-workflow">Game OST workflow<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_4_Game-OST-workflow" class="toc_link"></a></h3><p>I compose <a href="http://sockpuppet.band/releases/?tag=collection:OST">music for games</a> and this usually means producing both BGM (looping backgroud music) and OST (downloadable soundtrack) versions of things. While I work on the soundtrack for a game, I maintain separate Bandcrash projects for each of these, and then I use Bandcrash to encode the looping versions into .ogg format so that I can share them with the game designers easily.</p><p>In <a href="http://sockpuppet.band/album/novembeat-2022">some rare cases</a> I also use Bandcrash&rsquo;s &ldquo;itch channel prefix&rdquo; functionality to simultaneously upload both versions to <a href="https://fluffy.itch.io/novembeat-2022">the itch page</a>, so that both versions are separately available.</p><h3 id="3367_h3_5_ADVANCED-Maintaining-this-websit">[ADVANCED] Maintaining this website<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_5_ADVANCED-Maintaining-this-websit" class="toc_link"></a></h3><p>This website runs <a href="https://publ.beesbuzz.biz/">Publ</a>, a blogging platform I designed a while back. When I do a release, I run a few scripts to populate the information onto this website:</p>
<ol>
<li>A script that converts Bandcamp&rsquo;s JSON-LD data to Publ pages for the album, tracks, and lyrics (so that my URL structure matches the Bandcamp structure and uses the same slug generation), using Bandcamp&rsquo;s embedded player</li>
<li>Another script that runs Bandcrash on the album, uploads the preview player to my CDN, and then switches my own embedded players over to the Bandcrash player</li>
</ol>
<p>Also, for the spots where my liner notes had more advanced Markdown in them than what Bandcamp can display, I can also copy-paste the Markdown from my Bandcrash liner notes, and this would be super easy to automate as well.</p><p>These scripts are super specific to my own setup, somewhat janky, and probably wouldn&rsquo;t be super useful for others, but at some point I&rsquo;ll probably opensource them along with the Publ templates for this website, because it&rsquo;s nice to provide people with more options for how to maintain their online presence. Even if it can be a bit technical.</p><h3 id="3367_h3_6_In-conclusion">In conclusion<a href="http://sockpuppet.band/blog/3367-Bandcrash-Not-just-for-self-publishing#3367_h3_6_In-conclusion" class="toc_link"></a></h3><p>Bandcrash is a pretty useful tool, and since its file format is just JSON files you can probably come up with some even more interesting use cases for it as a data editor.</p><p>It&rsquo;s also pretty rough and could use a lot of improving; fortunately, it&rsquo;s <a href="https://github.com/fluffy-critter/bandcrash">open source</a>, as is its <a href="https://github.com/fluffy-critter/camptown">player component</a>, and of course I welcome contributions, in both the &ldquo;code and issues&rdquo; sense as well as the financial sense.</p><p>Anyway, if you&rsquo;re someone who makes music and publishes it online or on CD, check it out. Maybe you&rsquo;ll find it useful too!</p>
            
                <hr/><ol><li id="d_e3367_fn1"><p>Depending on the manufacturer. Unfortunately, <a href="https://github.com/fluffy-critter/bandcrash/issues/129">Kunaki does not have any way to support this</a>.&nbsp;<a href="/blog/3367-Bandcrash-Not-just-for-self-publishing#r_e3367_fn1" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=bandcrash">#Bandcrash</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=software">#Software</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=tools">#Tools</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Bandcrash" label="bandcrash" />
        
        <category term="Software" label="software" />
        
        <category term="Tools" label="tools" />
        

        

    </entry>
    <entry>
        
        <title>CD upgrades on the honor system</title>
        <link href="http://sockpuppet.band/cd" rel="alternate" type="text/html" />
        <published>2025-10-13T13:12:11-07:00</published>
        <updated>2025-10-13T13:12:11-07:00</updated>
        <id>urn:uuid:2ab29eaa-636a-5e18-8d49-c5afb806dc89</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I&rsquo;ve finally gone and set up on-demand CD manufacturing for <a href="http://sockpuppet.band/releases/?tag=collection:CD">a bunch of my albums</a>. However, because of how CD sales work on both Bandcamp and Mirlo, I can&rsquo;t easily offer a discount to folks who have already bought the album digitally, and also the shipping rates I have to charge through those sites are not optimal, especially for international customers or people buying multiple albums at a time.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I&rsquo;ve finally gone and set up on-demand CD manufacturing for <a href="http://sockpuppet.band/releases/?tag=collection:CD">a bunch of my albums</a>. However, because of how CD sales work on both Bandcamp and Mirlo, I can&rsquo;t easily offer a discount to folks who have already bought the album digitally, and also the shipping rates I have to charge through those sites are not optimal, especially for international customers or people buying multiple albums at a time.</p><p>So, for now I&rsquo;ve come to a compromise: if you want to buy <em>just</em> the CD of any of my albums, you can do so <a href="https://kunaki.com/msales.asp?PublisherId=222029&amp;pp=1">directly through Kunaki</a>. Note that these versions do not come with downloads, and more importantly, since I&rsquo;m only charging minimal markup over my own costs, I ask that you only buy the CDs there if you&rsquo;ve already bought the album digitally (including via one of my discography bundles).</p><p>Using that link will give you the best shipping rates (especially if you buy multiple albums at a time or are outside the USA) and is also a lot less hassle for me, so it&rsquo;s a win-win.</p><p>On that note, if you want to buy a CD for an album you don&rsquo;t own just yet, it&rsquo;s actually a bit easier and cheaper for everyone if you buy the album digitally and then use my Kunaki store to get the CD. Or, you could buy just the CD and rip it yourself like it&rsquo;s 2003, and then send me a few bucks some other way to make up the difference.</p><p>Anyway, now you have choices for obtaining more collectible forms of my music without it being super expensive.</p><p>Thanks for listening!</p>

        
            
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=music">#Music</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=manufacturing">#Manufacturing</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=kunaki">#Kunaki</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Music" label="music" />
        
        <category term="Manufacturing" label="manufacturing" />
        
        <category term="Kunaki" label="kunaki" />
        

        

    </entry>
    <entry>
        
        <title>CD updates</title>
        <link href="http://sockpuppet.band/blog/998-CD-updates" rel="alternate" type="text/html" />
        <published>2025-10-10T17:29:58-07:00</published>
        <updated>2025-10-10T17:29:58-07:00</updated>
        <id>urn:uuid:39ff6a46-2af6-53ba-b727-ba1f0ba8e28c</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I now have 9 of my albums <a href="http://sockpuppet.band/releases/?tag=collection:CD">available on CD</a>, and I&rsquo;m working on adding all the others which folks have voted for <a href="http://sockpuppet.band/blog/938-Finally-setting-up-CDs">in the poll</a>.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I now have 9 of my albums <a href="http://sockpuppet.band/releases/?tag=collection:CD">available on CD</a>, and I&rsquo;m working on adding all the others which folks have voted for <a href="http://sockpuppet.band/blog/938-Finally-setting-up-CDs">in the poll</a>.</p><p>I definitely want to put <a href="http://sockpuppet.band/album/novembeat-2020">Novembeat 2020</a> on CD but unfortunately that will require some extra process, as it has 29 tracks and Kunaki&rsquo;s online tool only supports up to 25. There&rsquo;s a workaround for that but unfortunately it will take some time to figure out how to actually do it suitably.</p>

        
            <p>On that note: If anyone knows of any good DAO authoring tools, ideally which run on a Mac, please <a href="mailto:fluffy-cddao%40sockpuppet%2eband">let me know</a>! In the meantime, Kunaki does have a somewhat roundabout approach which involves me burning a CD-R and then ripping it back with their own software, but that&rsquo;s&hellip; fraught, and I&rsquo;m not sure I even have any viable CD-Rs anymore. (I somehow doubt the big cheap spindle I bought on clearance from CompUSA is still any good&hellip;)</p><p><mark>Update:</mark> I ended up just doing it myself, and this functionality is now part of <a href="https://fluffy.itch.io/bandcrash">Bandcrash</a>. Also my big cheap spindle was still good!</p><p>But anyway, there haven&rsquo;t been a lot of responses on the poll and I&rsquo;m holding out optimism for the idea that it&rsquo;s just because people haven&rsquo;t made up their mind yet and not that nobody wants to buy anything.</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=manufacturing">#Manufacturing</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=distribution">#Distribution</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Manufacturing" label="manufacturing" />
        
        <category term="Distribution" label="distribution" />
        

        

    </entry>
    <entry>
        
        <title>Finally setting up CDs</title>
        <link href="http://sockpuppet.band/blog/938-Finally-setting-up-CDs" rel="alternate" type="text/html" />
        <published>2025-10-03T22:51:29-07:00</published>
        <updated>2025-10-03T22:51:29-07:00</updated>
        <id>urn:uuid:612f273f-ba37-5e9b-bc0e-459695213be5</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>I&rsquo;m finally getting around to putting more of my albums on CD, thanks to the on-demand manufacturing capability afforded by <a href="https://kunaki.com/">Kunaki</a>. You can see which albums of mine are available via <a href="http://sockpuppet.band/releases/?tag=collection:CD">this collection</a>, and on each of them you can buy the album via <a href="https://sockpuppet.bandcamp.com/merch">Bandcamp</a>, <a href="https://mirlo.space/sockpuppet/merch">Mirlo</a>, or direct from Kunaki.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>I&rsquo;m finally getting around to putting more of my albums on CD, thanks to the on-demand manufacturing capability afforded by <a href="https://kunaki.com/">Kunaki</a>. You can see which albums of mine are available via <a href="http://sockpuppet.band/releases/?tag=collection:CD">this collection</a>, and on each of them you can buy the album via <a href="https://sockpuppet.bandcamp.com/merch">Bandcamp</a>, <a href="https://mirlo.space/sockpuppet/merch">Mirlo</a>, or direct from Kunaki.</p><p>If you buy from Bandcamp or Mirlo the album will also come with the digital download in your choice of formats.</p><p>Anyway, inside you can vote on which additional albums I should focus on making available!</p>

        
            <p>I&rsquo;ve only listed the ones that I&rsquo;m particularly interested in setting up, but if there&rsquo;s one I haven&rsquo;t listed that you want, feel free to write it in.</p>
<div class="strawpoll-embed" id="strawpoll_e6Z2A3x0JgN" style="height: 1028px; max-width: 640px; width: 100%; margin: 0 auto; display: flex; flex-direction: column;"><iframe title="StrawPoll Embed" id="strawpoll_iframe_e6Z2A3x0JgN" src="https://strawpoll.com/embed/e6Z2A3x0JgN" style="position: static; visibility: visible; display: block; width: 100%; flex-grow: 1;" frameborder="0" allowfullscreen allowtransparency>Loading&hellip;</iframe><script async src="https://cdn.strawpoll.com/dist/widgets.js" charset="utf-8"></script></div>
<p>Also at some point I will get around to doing CD setup for <a href="https://elasticstage.com/sockpuppet/">elasticStage</a> for folks in Europe, but their setup process is quite a bit more involved so it hasn&rsquo;t been a priority. It&rsquo;ll come eventually, though!</p>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=manufacturing">#Manufacturing</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=merch">#Merch</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=distribution">#Distribution</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=business">#Business</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=elasticStage">#elasticStage</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Manufacturing" label="manufacturing" />
        
        <category term="Merch" label="merch" />
        
        <category term="Distribution" label="distribution" />
        
        <category term="Business" label="business" />
        
        <category term="elasticStage" label="elasticStage" />
        

        

    </entry>
    <entry>
        
        <title>Where&#39;d your music go?!</title>
        <link href="http://sockpuppet.band/blog/2156-Where-d-your-music-go" rel="alternate" type="text/html" />
        <published>2025-10-02T18:48:22-07:00</published>
        <updated>2025-10-02T18:48:22-07:00</updated>
        <id>urn:uuid:c47916bc-18db-5fe2-bef6-4fe2391a1de3</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Today I removed all my music, except <a href="http://sockpuppet.band/track/the-war-machine">The War Machine</a>, from Spotify, for the reasons explained in that song (and also <a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">in this lengthy diatribe</a>)​.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Today I removed all my music, except <a href="http://sockpuppet.band/track/the-war-machine">The War Machine</a>, from Spotify, for the reasons explained in that song (and also <a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">in this lengthy diatribe</a>)<sup id="r_e2156_fn1"><a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#d_e2156_fn1" rel="footnote">1</a></sup>.</p><p>But doing so also required, for very annoying reasons, removing it from all other streaming platforms as well, because the distributor I was working with, TooLost, had no option for removing music from <em>just</em> one platform without deleting and re-uploading everything<sup id="r_e2156_fn2"><a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#d_e2156_fn2" rel="footnote">2</a></sup>.</p><p>So, when is my music going to get back onto the other streaming platforms? <a href="http://sockpuppet.band/blog/2388-Please-do-not-ask-me-about-streaming-distribution">Ehhh</a>.</p>

        
            <h3 id="2156_h3_1_Why-we-re-at-this-point">Why we&rsquo;re at this point<a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#2156_h3_1_Why-we-re-at-this-point" class="toc_link"></a></h3><p>The state of affairs for independent music distribution is a horror show. Every distributor I&rsquo;ve used has been a nightmare to work with in some way, and has ended up costing me far more in my dealings with them than I&rsquo;ve ever made back. I&rsquo;ve made probably around $100<sup id="r_e2156_fn3"><a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#d_e2156_fn3" rel="footnote">3</a></sup> in total over the past 20 years from streaming. It has cost me a <em>lot</em> more than $100 to make my music available on streaming<sup id="r_e2156_fn4"><a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#d_e2156_fn4" rel="footnote">4</a></sup>.</p><p>Meanwhile, the &ldquo;best&rdquo; month I&rsquo;ve ever had on streaming was the month after <a href="http://sockpuppet.band/blog/3123-Furality-is-gonna-be-amazing">Furality Somna</a>, where I got a brief surge of interest on Spotify, but not enough of one to actually get any of the sustainable characteristics that one would expect. The people who listened to my stuff didn&rsquo;t <em>keep</em> listening to it, my work never ended up in any recommendation feeds or popular playlists, and even with the amount of direct interest I got, I only ended up making around $7, which isn&rsquo;t even enough to receive a payment from my distributor. And it only pays for about two months of distribution fees anyway.</p><p>I&rsquo;ve also written extensively about <a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music">the problems with streaming platforms and Spotify in particular</a>, and that&rsquo;s not an industry I really want to support right now. In addition to Spotify&rsquo;s issues, I&rsquo;ve also learned of reasons to distrust Apple Music and Tidal, for example their <a href="https://tidal.com/partners/pioneerdj">partnerships</a> with <a href="https://rekordbox.com/en/2025/03/apple-music-support/">Rekordbox</a> which makes it so that DJs can stream artists&#39; music into their mixes without materially supporting said artists beyond &ldquo;exposure.&rdquo;</p><p>I&rsquo;ve also had great difficulty with getting my music onto streaming platforms to begin with these days. In addition to costing considerably more to get distribution than I can ever expect to receive in return, every distributor has succumbed to the problems with a glut of AI submissions, where they have lost all trust in musicians who haven&rsquo;t already made it big, and provide Kafka-esque hoops to jump through to prove that my music was made by me. This isn&rsquo;t <em>entirely</em> the fault of the distributors, but it <em>is</em> a symptom of a deeply broken industry.</p><p>I have also applied to many record labels but they only want to sign up-and-coming musicians, not ones with a deep catalog of what they see as unsuccessful releases, or they want people with a much larger social media presence and a fanbase which would be large enough for me to not need a label to begin with. I am not a social media darling (nor do I want to be), and I just plain don&rsquo;t have it in me to try to get what they want of me.</p><p>So I&rsquo;m focusing on what I have control over.</p><h3 id="2156_h3_2_Where-we-are-right-now">Where we are right now<a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#2156_h3_2_Where-we-are-right-now" class="toc_link"></a></h3><p>At the moment, my plan is to do the following:</p>
<ul>
<li>Continue to focus on <a href="http://sockpuppet.band/bandcamp">Bandcamp</a>, <a href="http://sockpuppet.band/mirlo">Mirlo</a>, <a href="http://sockpuppet.band/itch">itch.io</a>, and the other storefronts that value creators <em>and</em> listeners, and evangelizing a return to people <a href="http://sockpuppet.band/blog/121-On-Spotify-and-listening-to-and-collecting-music#own-your-collection">owning their own collections</a></li>
<li>Switch to fully-self-managing the releases on my <a href="http://sockpuppet.band/youtube">YouTube</a> and <a href="http://sockpuppet.band/peertube">Peertube</a> channels, and hopefully at least keep my stuff available through YouTube Music in that way</li>
<li>Focus on building my audience through <a href="http://sockpuppet.band/live">live performances</a> and <a href="http://sockpuppet.band/commissions">commissions</a></li>
<li>Continue to work towards a <a href="https://beesbuzz.biz/blog/11155-A-fair-independent-streaming-platform">fair streaming future</a> and other grassroots efforts like <a href="https://kvrradio.com/">KVRR</a> and <a href="https://theindiebeat.fm/">TheIndieBeat</a></li>
</ul>
<h3 id="2156_h3_3_This-isn-t-permanent">This isn&rsquo;t permanent<a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#2156_h3_3_This-isn-t-permanent" class="toc_link"></a></h3><p>If someone can point me to a fair, ethically-managed distributor that <em>supports</em> independent musicians (rather than using the promise of winning the lottery to keep us constantly buying tickets), I would certainly consider reuploading my catalog somewhere.</p><p>What do I think counts as ethical in this case?</p>
<ul>
<li>Charging an affordable, sustainable amount for the distribution and maintenance of the catalog (even if this means both an annual fee and a royalty cut)</li>
<li>Providing reasonable tools for bulk import/upload of releases (rather than everything being an accessibility nightmare)</li>
<li>Providing <em>actual support</em> to artists who need it, not copy-pasted brush-off responses</li>
<li>Timely distribution of royalty payments, with regular (e.g. annual) lump-sum payments irrespective of minimum thresholds</li>
<li>The ability to pick and choose which streaming platforms works go onto, and the ability to change this later (with takedowns and redistributions on a per-platform basis)</li>
<li>Actually investigating claims of playlist fraud instead of categorically taking down entire catalogs based on a mere suspicion from a platform (and in the meantime, at most only suspending the suspected works on the suspected platforms, <em>not</em> a full takedown from every service)</li>
</ul>
<p>None of these feel very likely to happen in the foreseeable future. But also, the entire streaming music industry needs to change for me to want to really participate in it, and I don&rsquo;t see <em>that</em> happening either. Too much about how the industry works is based around the demands of the major labels in order to keep the major-label content available, even though their requirements ultimately end up working against <em>their</em> interests as well!</p><p>Alternately, if any of the streaming platforms were to allow artists to directly upload and self-distribute to them while still earning royalties<sup id="r_e2156_fn5"><a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#d_e2156_fn5" rel="footnote">5</a></sup>, that would be peachy.</p><h3 id="2156_h3_4_One-size-does-not-fit-all">One size does not fit all<a href="http://sockpuppet.band/blog/2156-Where-d-your-music-go#2156_h3_4_One-size-does-not-fit-all" class="toc_link"></a></h3><p>I know many musicians for whom this path would not make any sense. Last night at an open mic I was talking about this with a friend, and he was very surprised to hear about my experiences with streaming vs. sales; he makes <em>substantial</em> amounts of money from streaming, and very little from Bandcamp (and what he pays to get his stuff on Bandcamp hasn&rsquo;t paid for his Bandcamp earnings).</p><p>A big part of that is that he primarily records and releases covers of popular music. As a result, he ends up getting his audience from people looking for popular songs, and this led to a level of sustainability that works in his favor. This is also why Bandcamp has been a money pit for him, because mechanical licenses for purchase are significantly more expensive than those for streaming.</p><p>But by the same token, what works for other musicians has not worked for me. Why should I keep playing the game when I have 20+ years of experience telling me that it just plain isn&rsquo;t worthwhile for me to do so?</p><p>Anyway. I do not need streaming in order to <a href="http://sockpuppet.band/blog/2700-On-success">feel successful</a>. So for now I&rsquo;m opting out.</p><p>Maybe in the future this will change. But dealing with the stresses and frustration of streaming is the least important thing to me right now with everything else going on in my life.</p>
            
                <hr/><ol><li id="d_e2156_fn1"><p>Yes, I realize Daniel Ek &ldquo;stepped down&rdquo; as CEO, but only by becoming the chairman of the board. He is now essentially the CEO&rsquo;s <em>boss</em>, and still the majority shareholder, so this doesn&rsquo;t actually change anything vis-a-vis my issues with Spotify.&nbsp;<a href="/blog/2156-Where-d-your-music-go#r_e2156_fn1" rev="footnote">↩</a></p></li><li id="d_e2156_fn2"><p>I also had to pay $3 to do it because TooLost was holding my catalog hostage, but that&rsquo;s just pocket change in the grand scheme of things.&nbsp;<a href="/blog/2156-Where-d-your-music-go#r_e2156_fn2" rev="footnote">↩</a></p></li><li id="d_e2156_fn3"><p>Or rather, I&rsquo;ve had numbers in a database totalling around that amount, but I can&rsquo;t even withdraw a bunch of it because it&rsquo;s all in little pieces that are below their respective distributors&#39; payout thresholds, where they will sit forever.&nbsp;<a href="/blog/2156-Where-d-your-music-go#r_e2156_fn3" rev="footnote">↩</a></p></li><li id="d_e2156_fn4"><p>It&rsquo;s hard to put an actual number on it, but I do know I&rsquo;ve spent at least this much:&nbsp;<a href="/blog/2156-Where-d-your-music-go#r_e2156_fn4" rev="footnote">↩</a></p>
<ul>
<li>$225 for two albums distributed via CDBaby in the early days</li>
<li>$125 for an album distributed via TuneCore in the early days</li>
<li>At least $275 for the years I subscribed to DistroKid and TooLost</li>
<li>A few hundred bucks on SoundCloud Pro</li>
<li>A lot of time and effort and energy spent dealing with all this nonsense, and that isn&rsquo;t free and has probably taken years off my life with the stress</li>
</ul>
</li><li id="d_e2156_fn5"><p><a href="https://support.tidal.com/hc/en-us/articles/26542012438673-TIDAL-Upload">Tidal Upload</a>, sadly, <a href="https://support.tidal.com/hc/en-us/articles/26542012438673-TIDAL-Upload#h_01JRD4Y1E3FNVRJETXP7D9DDPQ">does not count</a>:&nbsp;<a href="/blog/2156-Where-d-your-music-go#r_e2156_fn5" rev="footnote">↩</a></p>
<blockquote>
<p><strong>Does the music that I upload earn royalties on TIDAL?</strong></p><p>No, your uploaded files do not earn royalties.</p></blockquote>
</li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=streaming">#Streaming</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Spotify">#Spotify</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=business">#Business</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Streaming" label="streaming" />
        
        <category term="Spotify" label="Spotify" />
        
        <category term="Business" label="business" />
        

        

    </entry>
    <entry>
        
        <title>Self-hosted streaming CDN</title>
        <link href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN" rel="alternate" type="text/html" />
        <published>2025-09-26T20:22:51-07:00</published>
        <updated>2025-09-26T20:22:51-07:00</updated>
        <id>urn:uuid:2a025873-f8cb-59b0-a816-98cf02912659</id>
        <author><name>fluffy</name></author>
        <summary type="html"><![CDATA[<p>Performers who do streaming-based performances on VRChat and other places have a few options for actually providing their stream. Once upon a time it was preetty common for people to use Twitch or YouTube Live, but those are now being locked down due to advertising considerations. So, many people currently use <a href="https://vrcdn.live/">VRCDN</a>, an inexpensive but limited hosted service that you have to pay monthly for. But for folks with a bit more technical acumen, there&rsquo;s another choice, <a href="https://owncast.online/">Owncast</a>, which is basically a self-hosted Twitch-like.</p>]]></summary>
        <content type="html"><![CDATA[

		

        



        <p>Performers who do streaming-based performances on VRChat and other places have a few options for actually providing their stream. Once upon a time it was preetty common for people to use Twitch or YouTube Live, but those are now being locked down due to advertising considerations. So, many people currently use <a href="https://vrcdn.live/">VRCDN</a>, an inexpensive but limited hosted service that you have to pay monthly for. But for folks with a bit more technical acumen, there&rsquo;s another choice, <a href="https://owncast.online/">Owncast</a>, which is basically a self-hosted Twitch-like.</p><p>Here&rsquo;s how I have mine set up and how I run it for (basically<sup id="r_e2089_fn1"><a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#d_e2089_fn1" rel="footnote">1</a></sup>) free.</p>

        
            <h3 id="2089_h3_1_Local-server-origin">Local server (origin)<a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#2089_h3_1_Local-server-origin" class="toc_link"></a></h3><p>First off, I have an Intel NUC running Linux<sup id="r_e2089_fn2"><a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#d_e2089_fn2" rel="footnote">2</a></sup> on my home network. This computer runs a bunch of my home services but mostly sits idle. Its CPU is a 2.7GHz i7-8559U, which is sufficient to transcode my stream to a number of bitrates and resolutions simultaneously. I currently have the following bitrates configured:</p>
<ul>
<li>Original/raw stream (as configured in OBS; usually 1080p60 @ 6000 Kbps)</li>
<li>1080p60 @ 4500 Kbps</li>
<li>720p30 @ 2000 Kbps</li>
<li>360p24 @ 1000 Kbps</li>
<li>180p24 @ 500 Kbps</li>
</ul>
<p>In theory I should also be able to configure it to use Intel Quick Sync for a bit lower CPU utilization, although I haven&rsquo;t gone through the rigmarole to make that happen, as it hasn&rsquo;t been necessary.</p><p>Anyway, Owncast is running on its own user account, creatively called <code>owncast</code>. To make the server automatically start up, I have the following systemd unit file:</p><figure class="blockcode"><figcaption>/home/owncast/.config/system/user/owncast.service</figcaption><pre class="highlight" data-language="systemd" data-line-numbers><span class="line" id="e2089cb1L1"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L1"></a><span class="line-content"><span class="k">[Unit]</span></span></span>
<span class="line" id="e2089cb1L2"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L2"></a><span class="line-content"><span class="na">Description</span><span class="o">=</span><span class="s">Owncast Service</span></span></span>
<span class="line" id="e2089cb1L3"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L3"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb1L4"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L4"></a><span class="line-content"><span class="k">[Service]</span></span></span>
<span class="line" id="e2089cb1L5"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L5"></a><span class="line-content"><span class="na">WorkingDirectory</span><span class="o">=</span><span class="s">/home/owncast/owncast</span></span></span>
<span class="line" id="e2089cb1L6"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L6"></a><span class="line-content"><span class="na">ExecStart</span><span class="o">=</span><span class="s">/home/owncast/owncast/owncast</span></span></span>
<span class="line" id="e2089cb1L7"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L7"></a><span class="line-content"><span class="na">Restart</span><span class="o">=</span><span class="s">always</span></span></span>
<span class="line" id="e2089cb1L8"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L8"></a><span class="line-content"><span class="na">RestartSec</span><span class="o">=</span><span class="s">5</span></span></span>
<span class="line" id="e2089cb1L9"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L9"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb1L10"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L10"></a><span class="line-content"><span class="k">[Install]</span></span></span>
<span class="line" id="e2089cb1L11"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb1L11"></a><span class="line-content"><span class="na">WantedBy</span><span class="o">=</span><span class="s">default.target</span></span></span>
</pre></figure><p>To make this run, I had to enable lingering for the account, with <code>sudo loginctl enable-linger owncast</code> from an administrative user, and <code>systemctl --user enable owncast.service</code> from the owncast account.</p><h3 id="2089_h3_2_Proxy-server">Proxy server<a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#2089_h3_2_Proxy-server" class="toc_link"></a></h3><p>The next thing to do was to expose this server to the greater Internet. There&rsquo;s a few ways you can go about doing this. The most straightforward, if you have an ISP that allows it, is to set up your home router to forward a particular port to the Owncast instance. However, many ISPs do not allow you to run servers this way, and even though mine does, I wasn&rsquo;t super comfortable with the idea of exposing a network port to the wider Internet or with having my home IP address be part of any public Internet service.</p><p>However, I already have a VPS with <a href="https://linode.com/">Akamai Cloud</a> which I use to run all of my websites. So, I set up an ssh tunnel (specifically using <a href="https://www.harding.motd.ca/autossh/">autossh</a> to automatically restart the connection if it drops). To that end, I made a second systemd unit:</p><figure class="blockcode"><figcaption>/home/owncast/.config/systemd/user/owncast-tunnel.service</figcaption><pre class="highlight" data-language="systemd" data-line-numbers><span class="line" id="e2089cb2L1"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L1"></a><span class="line-content"><span class="k">[Unit]</span></span></span>
<span class="line" id="e2089cb2L2"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L2"></a><span class="line-content"><span class="na">Description</span><span class="o">=</span><span class="s">Owncast ssh tunnel</span></span></span>
<span class="line" id="e2089cb2L3"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L3"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb2L4"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L4"></a><span class="line-content"><span class="k">[Service]</span></span></span>
<span class="line" id="e2089cb2L5"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L5"></a><span class="line-content"><span class="na">ExecStart</span><span class="o">=</span><span class="s">autossh -NT -R 29929:localhost:8080 MYSERVER.example.com</span></span></span>
<span class="line" id="e2089cb2L6"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L6"></a><span class="line-content"><span class="na">Restart</span><span class="o">=</span><span class="s">always</span></span></span>
<span class="line" id="e2089cb2L7"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L7"></a><span class="line-content"><span class="na">RestartSec</span><span class="o">=</span><span class="s">5</span></span></span>
<span class="line" id="e2089cb2L8"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L8"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb2L9"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L9"></a><span class="line-content"><span class="k">[Install]</span></span></span>
<span class="line" id="e2089cb2L10"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb2L10"></a><span class="line-content"><span class="na">WantedBy</span><span class="o">=</span><span class="s">default.target</span></span></span>
</pre></figure><p>where <code>MYSERVER.example.com</code> is the actual hostname of my VPS. I enabled this service with <code>systemctl --user enable owncast-tunnel.service</code> and now localhost connections to 29929 on my VPS connect to port 8080 on my NUC. (No need for Tailscale!)</p><p>Finally, I set up a caching reverse proxy for <a href="https://live.sockpuppet.band">my owncast server</a>. This is how I did it in nginx:</p><figure class="blockcode"><figcaption>/etc/nginx/vhosts-enabled/live.sockpuppet.band</figcaption><pre class="highlight" data-language="nginx" data-line-numbers><span class="line" id="e2089cb3L1"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L1"></a><span class="line-content"><span class="k">server</span><span class="w"> </span><span class="p">{</span></span></span>
<span class="line" id="e2089cb3L2"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L2"></a><span class="line-content"><span class="w">    </span><span class="kn">listen</span><span class="w"> </span><span class="mi">80</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L3"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L3"></a><span class="line-content"><span class="w">    </span><span class="kn">listen</span><span class="w"> </span><span class="s">[::]:80</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L4"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L4"></a><span class="line-content"><span class="w">    </span><span class="kn">server_name</span><span class="w"> </span><span class="s">live.sockpuppet.band</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L5"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L5"></a><span class="line-content"><span class="w">    </span><span class="kn">return</span><span class="w"> </span><span class="mi">301</span><span class="w"> </span><span class="s">https://</span><span class="nv">$host$request_uri</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L6"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L6"></a><span class="line-content"><span class="p">}</span></span></span>
<span class="line" id="e2089cb3L7"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L7"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb3L8"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L8"></a><span class="line-content"><span class="k">proxy_cache_path</span><span class="w"> </span><span class="s">/var/tmp/live_sockpuppet</span><span class="w"> </span><span class="s">levels=1:2</span><span class="w"> </span><span class="s">keys_zone=live_sockpuppet:10m</span><span class="w"> </span><span class="s">max_size=10g</span></span></span>
<span class="line" id="e2089cb3L9"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L9"></a><span class="line-content"><span class="w">                 </span><span class="s">inactive=60m</span><span class="w"> </span><span class="s">use_temp_path=off</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L10"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L10"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb3L11"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L11"></a><span class="line-content"><span class="k">server</span><span class="w"> </span><span class="p">{</span></span></span>
<span class="line" id="e2089cb3L12"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L12"></a><span class="line-content"><span class="w">    </span><span class="kn">server_name</span><span class="w"> </span><span class="s">live.sockpuppet.band</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L13"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L13"></a><span class="line-content"><span class="w">    </span><span class="kn">listen</span><span class="w"> </span><span class="mi">443</span><span class="w"> </span><span class="s">ssl</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L14"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L14"></a><span class="line-content"><span class="w">    </span><span class="kn">ssl_certificate</span><span class="w"> </span><span class="s">/path/to/sockpuppet.band.crt</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L15"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L15"></a><span class="line-content"><span class="w">    </span><span class="kn">ssl_certificate_key</span><span class="w"> </span><span class="s">/path/to/sockpuppet.band.key</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L16"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L16"></a><span class="line-content"></span></span>
<span class="line" id="e2089cb3L17"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L17"></a><span class="line-content"><span class="w">    </span><span class="kn">location</span><span class="w"> </span><span class="s">/</span><span class="w"> </span><span class="p">{</span></span></span>
<span class="line" id="e2089cb3L18"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L18"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">Host</span><span class="w"> </span><span class="nv">$host</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L19"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L19"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">X-Forwarded-Host</span><span class="w"> </span><span class="nv">$host</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L20"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L20"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">X-Forwarded-Server</span><span class="w"> </span><span class="nv">$host</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L21"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L21"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">X-Forwarded-Proto</span><span class="w"> </span><span class="nv">$scheme</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L22"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L22"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">X-Real-IP</span><span class="w"> </span><span class="nv">$remote_addr</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L23"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L23"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">X-Forwarded-For</span><span class="w"> </span><span class="nv">$proxy_add_x_forwarded_for</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L24"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L24"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_http_version</span><span class="w"> </span><span class="mi">1</span><span class="s">.1</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L25"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L25"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">Upgrade</span><span class="w"> </span><span class="nv">$http_upgrade</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L26"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L26"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_set_header</span><span class="w"> </span><span class="s">Connection</span><span class="w"> </span><span class="nv">$connection_upgrade</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L27"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L27"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_pass</span><span class="w"> </span><span class="s">http://127.0.0.1:29929</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L28"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L28"></a><span class="line-content"><span class="w">        </span><span class="kn">proxy_cache</span><span class="w"> </span><span class="s">live_sockpuppet</span><span class="p">;</span></span></span>
<span class="line" id="e2089cb3L29"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L29"></a><span class="line-content"><span class="w">    </span><span class="p">}</span></span></span>
<span class="line" id="e2089cb3L30"><a class="line-number" href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#e2089cb3L30"></a><span class="line-content"><span class="p">}</span></span></span>
</pre></figure><p>This caching configuration means that this edge server only needs to proxy each HLS segment from my home network once, so in theory I can get a full gigabit of upstream from my VPS without overly burdening my home connection (although my home connection has plenty of bandwidth to spare, all the same).</p><h3 id="2089_h3_3_Wider-distribution-with-a-CDN">Wider distribution with a CDN<a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#2089_h3_3_Wider-distribution-with-a-CDN" class="toc_link"></a></h3><p>This is optional, but I also use <a href="https://cloudflare.com/">Cloudflare CDN</a> for DDOS and bot mitigation, as well as better caching performance worldwide. So far I&rsquo;ve never come even <em>remotely</em> close to exceeding the bandwidth capacity of my VPS (which should theoretically be able to serve around 200 simultaneous viewers), but Cloudflare&rsquo;s free tier means I don&rsquo;t have to worry about scaling at all.</p><p>I&rsquo;m not a huge fan of Cloudflare for a number of reasons, but it&rsquo;s made it a lot easier for me to deal with the constant deluge of AI bot traffic that&rsquo;s been causing me so much stress lately, and having a proper geographically-distributed CDN is a nice bonus.</p><p>In theory, if your ISP allows running servers, you could also configure Cloudflare to talk directly to your home router, although I believe doing arbitrary port forwards requires a paid plan.</p><h3 id="2089_h3_4_Finally-streaming">Finally, streaming!<a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#2089_h3_4_Finally-streaming" class="toc_link"></a></h3><p>To send a stream out, instead of using the public-facing hostname (live.sockpuppet.band), I connect OBS to the local IP address, so that I don&rsquo;t have to go out to the public Internet just to be routed back home. This way I also don&rsquo;t have to expose Owncast&rsquo;s RTMP port to the public Internet, which gives me better security. On the minus side, this means I cannot easily share my server with others to allow others to stream with my infrastructure, but that&rsquo;s never come up. If I ever wanted to do a cooperative stream with someone, I could use a WebRTC proxy such as <a href="https://vdo.ninja/">VDO.ninja</a>, but setting that up is outside the scope of this blog post.</p><p>Anyway, when someone connects to <a href="https://live.sockpuppet.band">my owncast</a> they are viewing it through Cloudflare, which pulls the data from my VPS, which in turn proxies it over the SSH tunnel to the Owncast instance running on my device at home. The raw stream (used, for example, by a VRChat in-world player) is available at <code>https://live.sockpuppet.band/hls/stream.m3u8</code>.</p><h3 id="2089_h3_5_How-to-roll-your-own-streaming-C">How to roll your own streaming CDN<a href="http://sockpuppet.band/blog/2089-Self-hosted-streaming-CDN#2089_h3_5_How-to-roll-your-own-streaming-C" class="toc_link"></a></h3><p>Okay so let&rsquo;s say you just want to roll your own VRCDN-like thing, and don&rsquo;t care about having your streaming box be directly on your local network. Here&rsquo;s what I&rsquo;d do for that:</p>
<ol>
<li>Set up a VPS of some sort, even one which only runs when you need it to (which both DigitalOcean and Linode/Akamai support)</li>
<li>Install <a href="https://owncast.online/">owncast</a> on it</li>
<li>Install nginx or apache as a fronting webserver, and have it just reverse proxy into Owncast (so you can run Owncast on port 80/443 without having to run Owncast itself as root)</li>
<li>Front the server with Cloudflare, and have it cache aggressively</li>
</ol>
<p>For streaming you&rsquo;ll need to connect directly to the server by IP address (or by having a hostname that&rsquo;s <em>not</em> Cloudflare-proxied), but otherwise you&rsquo;re good to go from here.</p><p>In such a setup you&rsquo;ll probably need to limit the bitrates that you provide.</p><p>Anyway, a suitably-capable VPS will cost around 5.4¢/hour while it&rsquo;s running, and theoretically be able to support hundreds, if not thousands, of simultaneous viewers.</p>
            
                <hr/><ol><li id="d_e2089_fn1"><p>It&rsquo;s only basically free because I already have a public Internet server I run my websites on and a local computer I can use for Owncast. If you don&rsquo;t already have a VPS of some sort, my particular setup won&rsquo;t work for you.&nbsp;<a href="/blog/2089-Self-hosted-streaming-CDN#r_e2089_fn1" rev="footnote">↩</a></p></li><li id="d_e2089_fn2"><p>All of this could also be run on Windows or macOS, but setting up a persistent server and ssh tunnel on those platforms is not something I&rsquo;ve had to internalize.&nbsp;<a href="/blog/2089-Self-hosted-streaming-CDN#r_e2089_fn2" rev="footnote">↩</a></p></li></ol>
            

            

        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=technology">#Technology</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=owncast">#Owncast</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=streaming">#Streaming</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=VRChat">#VRChat</a>
        

        ]]>



        </content>
        <category term="Blog" label="Blog" />
        
        
        <category term="Technology" label="technology" />
        
        <category term="Owncast" label="owncast" />
        
        <category term="Streaming" label="streaming" />
        
        <category term="VRChat" label="VRChat" />
        

        

    </entry>
    <entry>
        
        <title>Hello Internet Archive!</title>
        <link href="http://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="http://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="http://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="http://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="http://sockpuppet.band/track/come-out">Come Out</a>, <a href="http://sockpuppet.band/track/behind-a-mask">Behind a Mask</a>, and <a href="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://sockpuppet.band/blog/?tag=music">#Music</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=performances">#Performances</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=Internet+Archive">#InternetArchive</a>
        
        <a rel="tag" href="http://sockpuppet.band/blog/?tag=archive.org">#ArchiveOrg</a>
        
        <a rel="tag" href="http://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>
    

    
</feed>