Dex

Big hearted fluffdragon...

...fictional ex-90s platformer mascot, nerd, plural, Ξ˜Ξ”.


Masto 🐘
scalie.club/@Dex

fluffy
@fluffy

I've seen a couple of posts about Scritch and Blamscamp recently, and that reminded me that I haven't posted about Bandcrash here.

On and off I've been working on this app which handles the annoying parts of encoding and tagging music for uploading onto your own website, rather than being stuck with Bandcamp or the like. Currently, the web player is based on @blackle's blamscamp player engine, although I'm looking at moving it towards another player engine such as @torcado's Scritch, or ideally giving the user a choice in players.

For most of its life, Bandcrash has been a slightly fiddly commandline tool that required knowledge of Python to use well, and that's not a great situation for most musicians. But I'd always intended for it to be an installable GUI application, and the recent Songtradr buyout of Bandcamp has lit a much larger fire under my ass. For the last several days I've been working hard on making the GUI portion it, which will hopefully make it much, much easier for everyone to use. I'm really close to having something I can actually release, at least in so-called "minimum viable product" form.

While Blamscamp and Scritch both do an amazing job of making a player for your albums that you can embed pretty much anywhere (including itch.io), neither of them handle the annoying task of actually encoding and tagging your files, which is one of the things that Bandcamp has historically done an amazing job of and which is hard to do well. Bandcrash basically exists to automate those annoying/tedious/difficult things, and to also build your web player and upload everything automatically to itch.io as well.

You can see some examples of its output on my albums section on itch.io; most of those albums were encoded and tagged by Bandcrash and built with the modified Blamscamp player.

What I really like about using Bandcrash is that I can just edit the album as I go (like on Bandcamp) and push a proverbial button to have it be updated on itch, player and downloadable files and all. I can also upload my purchasable assets easily to Gumroad and Ko-Fi and any other shop that lets me upload a .zip file to be purchased. And I can also embed the player itself on my own website, for those sites which don't allow embedding an iframe or the like. (I'm also going to eventually add OpenGraph support so that you'd be able to embed your player just by linking to it on sites like Cohost and Mastodon!)

Anyway. Yeah. Scritch and Blamscamp are great, and Bandcrash fills in a huge missing piece too.


fluffy
@fluffy

This has been out for a little while now. Get it at https://fluffy.itch.io/bandcrash

My next major step will be to add player customization and ideally give people a choice in player engines.


You must log in to comment.

in reply to @fluffy's post:

If bandcamp has to be replaced, I hope that whatever replaces it shares music publishing information with MusicBrainz (or is as easy to import data from as bandcamp).
Something I worry about is how music purchased on other platforms will actually be available - you mention encoding and tagging, but something very good that bandcamp does is offer format selections for music. It was, for the last few years that I’ve actually had the money to buy music, very nice to not think at all about format availability because everything is in FLAC. Is that something you intend to have bandcrash handle/something the other tools might handle?

I haven't thought about MusicBrainz integration at all, but having submitted a few things to MB I really don't want to open up that can of worms. It's incredibly fiddly and annoying to deal with. But it looks like MB's bandcamp import is handled by a userscript and it'd be theoretically straightforward to write a similar userscript for bandcrash's album descriptor files. I'd rather leave that work to someone else, though.

Bandcrash already encodes to mp3, ogg, and flac (and has since day one β€” good format support is the whole reason it even exists!), and now that I've switched the encoding engine to use FFmpeg it'd be pretty trivial to support other formats (like AAC or whatever). The main barrier to adding more formats is the extremely inconsistent way that the different formats handle metadata (incidentally, Ogg's tags are somehow even worse than id3v2).