Development Teaser: I'm working on a self-hostable alternative - implemented as a static site generator written in

As a small tech tradeoff and an experiment I'm integrating a soft paycurtain: Albums can display a price tag, (including a user interaction for setting a price for "name your price" albums), payment directions are given (Liberapay, SEPA, etc. as configured), but the payment itself is not technically enforced, i.e. the listener is asked to affirm by themselves - by clicking a button - that they have paid for what they want, and only then given the download link. I'm open to experiment further with this when I've released faircamp (current codename) to the public. I could also imagine an option for integrating a hard paywall based on entering a token that could e.g. be made exclusively available to your backers on an external platform (ghost, patreon, steady, paypal, ...).

Been fleshing out the first prototype all day today, and having a blast! ✌️

Update on the announced self-hostable alternative: Got tons of work done on the foundation over the last days (architecture, reading, transcoding, caching, syncing, configuration, cli arguments, ...). Today was the first time I did some design exporation (first glimpses attached - these are already in-browser screenshots of the functional interface, not mockups :)). I'm developing out in the open at °˖✧◝(⁰▿⁰)◜✧˖°

Show thread

Been looking a bit into the topic of waveform representation in faircamp. I like the idea of integrating something that adds a varying graphical quality to all releases and tracks without forcing the artist to provide artwork, i.e. having the system generate something graphical from the audio itself, which also has functional value ... Delicate matter anyhow, not yet sure if there will be waveforms in the end. :)

Show thread

Threw some other albums at my waveform computation logic, and I must say I'm beginning to like this idea a lot more °˖✧◝(⁰▿⁰)◜✧˖° The juxtaposed waveforms really add quite a unique graphical signature to the albums (even, or especially, with everything else removed), and somehow just seeing some of the curious waveforms totally triggers my curiosity to hear what's going on in those tracks. :D

Show thread

Random faircamp progress excerpt: Added decoding (and thus waveform generation) for FLAC and WAV, experimented a bit with "waveform thumbnails" for the tracks of releases (might remain an experiment only), today added font customization (supplying custom files, default and custom system font stack options, etc.). I might make the system font stack the default, because environment, page load speed, non-latin scripts, etc., but let's see, in general I'm rather fond of bespoke typo choices and would rather eliminate other optional bytes on the page :)

Show thread

Also there's now a --theming-widget cli option which injects a small overlay widget into all pages and with which one can interactively explore different color configurations for the visual theme - the configuration options are automatically generated as text and can be copied into the config file. (sorry for the weird video compression, wasn't meant to be an encoding glitch art video :D)

Show thread

@freebliss Interesting! Is there a specific reason on why you chose the project or just plain curiosity?

@rostiger I want this badly myself so I can host some of my previous music projects :) (and maybe it will serve as an encouragement for me to get back to producing new stuff too ;))

@freebliss So I guess my question should have rather been: why don't you use Bandcamp?

@rostiger Good point :) There's many factors, one being that I'm currently researching online funding and specifically technological independence related to funding for a potential paid project, so to some degree this has been prompted by the findings of my research over the last weeks. Another is that I'm very much into giving structure and order to media, as in, finding the most simple and beautiful ways to arrange them, and this is an opportunity to do that in-depth with audio, which I haven't so far (or it's been a while at least). And lastly, towards myself it would feel a bit inflated to put my audio projects up on bandcamp right now - I've got a wild mix of demos, improvisations, rehearsal outtakes, gig recordings, experimental noise :D, really old stuff ... I'm not even sure what exactly I want to put up, but I think the process itself - of digging out stuff again, and considering what I want to continue on maybe - will be the really interesting thing, and that somehow feels more at home at my own self-hosted place. :) (and then of course also: making new free software to share with everyone <3 can't help it haha)

@freebliss Sounds like a healthy process! I can really relate to the idea of building tools that suit oneself - I‘m currently coding a static site generator in C. Pretty sure the world doesn’t need any more of these, but it makes me happy because I learn so much, it works just as I want it to and if not, it’s my own fault (and I can fix it!).

@freebliss Anyway, looking forward to what you‘ll come up with!

@rostiger Yeah supercool! I was in fact writing the first bits of faircamp in C as well (before getting impatient haha) :) I've written dozens of static [something] generators over the years and I don't regret any of it - generally when writing something for oneself the abundance of that thing elsewhere becomes competely irrelevant if one does it for the journey and the learning. On top of that I would even argue that the world _does_ need many more static * generators - there's just a lack of imagination going around in terms of what a static * generator can be - somehow 95% of what's out there does not emancipate from the confines of the "generic blog-like" or "plugin-based js-hipster super-generator-framework" notion. :)

@rostiger @freebliss Pretty sure building one's own static site generator is a kind of rite of passage. I seem to build a new one every few years, usually with various ambitions.

@fortifieduniverse @rostiger I've seen a few essays describing the act of creating one's own website as a deeply self-reflective act, one of finding and possibly reinventing yourself, and I couldn't agree more that writing one's own SSG is like a supercharged version of that, rite of passage is spot on. :)

@freebliss @rostiger Absolutely! I honestly think I've probably built about 5 different SSGs over the years.

I'm about to embark on the next one here shortly.

@fortifieduniverse @freebliss To be fair, I'm not really writing it myself. I'm typing off oscean line by line, understanding the code and modifying it where I want to adapt it to my needs.
Basically I'm learning C as I go, Combining it with a proper project makes it feel much more of an accomplishment, too.

@freebliss great to see a new project from you!

have you checked out projects like @funkwhale before implementing something from scratch? or using a mature SSG like #Hugo and just create a custom theme template?

can you share your research on funding? i try to solve funding for public goods like free software at @snowdrift. we have extensive research on funding methods and platforms, but i always like to see more opinions

@davidak Hey David o/ I checked out funkwhale before - I really hope they can sustain themselves further as I'd love to see them blossom! For me personally it's too much though and with faircamp I'm building something really simple instead: A website for browsing, listening and downloading(/purchasing) music - no metrics, no social, just you and the music (and wallet, optionally). ;)

As for hugo I think that would just add unneeded complexity and dependance here - the conventional SSG parts in faircamp are trivial, in fact, these are pretty much done already. However I do want to get into Go very soon, including hugo for potential one-shot SSG projects, which is where it really shines, I believe!

Thanks so much for that linked write-up on funding, that looks amazingly in-depth and well researched - hats off to you! :) As for my own research, I haven't written anything down yet I'm afraid as it's so far been strictly on the side and for my own planning/brainstorming. I'll let you know if and when I put some of it in writing! Just one addition from a cursory glance over your research: I think you might have missed out on (which I only recently have discovered and which looks almost too good to be true). ;)

@freebliss i know ghost as a blog software, but haven't seen their subscription model. that's something that does work (see Patreon), but is not compatible with free software values, since you have to offer exclusive content to paying members

our solution has to solve the freerider problem, so people have incentives to support the project without getting exclusive content. we think our crowdmatching mechanism does that, but we still have to test it

@gcrkrause Yes indeed I do, fantastic project! :) I wrote 2-3 sentences on how faircamp relates to funkwhale in this reply if you're curious about that:

@freebliss Thanks! Seems to be a nice addition to the environment and I get the point: Funkwhale is heavy to host and doesn't fit well for DIY musicians. Thanks for the nice addition!

On the other side I really like the styling of your project and would like to have better artists pages in funkwhale, too. So if you want to get your hands dirty to bring this UI to funkwhale, feel free to get in touch! :)

@gcrkrause Thanks appreciate the feedback! :) If my own creation happens to get too barebones and "socially-undernetworked" for myself at some point I might just get invested in funkwhale :) Are you actively working on funkwhale? I see you're involved in quite a few things! I'm always especially happy to see lots of development in the libre audio field, we can't get enough of that! \o/

@freebliss I currently try to get some stuff done for Funkwhale since Agate wants to step down as maintainer and I want to help keep this project alive.

He, where am I involved? :D I get in touch with many things but for me its hard to stick with a project for a longer time :|

@gcrkrause Read about that, great that your'e trying to help keep it going, fingers crossed!

I can relate to the feeling of struggling with long-term involvement (or put differently the motivation and desire to help out at every corner :)). I think I've come to see that as a life-long journey in itself - finding the place(s) and projects one belongs to and how to be able to make the best impact even if one does not (, can not) stay for very long. These days I find myself rotating between many projects, trying to always come back and complete the circle over and over again, leaving all of them better at each cycle. :)

@freebliss @gcrkrause I'm the opposite. One project is a never ending black hole of work to do.

@be@fosstodon.Well I am not going to another project because I am done, but because I see another important thing which needs help. @freebliss

@freebliss @poemproducer could also be good for feedback on your music platform project.

@wendy @poemproducer yay sure, happy about any comments if anything comes to mind! :)

@fortifieduniverse awesome thanks for letting me know - noted in favor of waveforms. :)

@freebliss These look so nice – almost hand-written. It makes me think of Cy Twombly paintings. I'd much rather look at these than the usual sterile VU-graphs.

@praxeology that's super encouraging to read - thanks a lot! (⌒‿⌒)

@freebliss How are you (technically) drawing these waveforms? I've got some software that I'm working on where I'd like to do something similar.

@fortifieduniverse Calculation is done like this (heads up: doc comment above function is slightly outdated as the code processes interleaved samples now, not a single channel): Drawing itself is done with SVG, constructing a single path's 'd' attribute, see (again this code is a bit outdated, still need to clean up before I can push the latest state :) latest algorithm is just "for (n, amplitude) in peaks { push("L(ine to) {n},{amplitude}") }): I can let you know when I've pushed the exact latest code used for the screenshots I've posted (if my notes above are just cryptic haha), might take some days though as I got a deadline for something else on monday. :)

@freebliss Got it... Looks like you're just calculating average amplitude over windowed regions of the audio? Makes perfect sense. Nice and simple. 👍

@freebliss And yes... I'd love to see whatever you think might be interesting!

@fortifieduniverse I pushed the latest state yesterday, changes are minimal though, basically just what I already hinted at regarding the path drawing algorithm, plus that the svg is now rendered inline so the playback state can be scripted in via js at runtime

@freebliss this looks really exciting, and if you get to a point where you want beta testers i’d be game. i’m launching a new label this summer, so timing could be good.

@emenel Hey thanks, very happy to hear it! Beta testing would be fantastic - much appreciated and I just made a note to ping you when things get stable-ish. :) Also - if you then like what you see and opt to use faircamp further - I'd love to start collecting faircamp sites out in the wild (for others to get inspired and have some reference of what's possible) and would gladly add yours to the link collection then, if you're ok with that! Lastly, if you like to share that already, I'd be curious about the label's genre/very brief context! :)

@freebliss Incredible work! 👏
I'm really looking forward to see how this will turn out

@totoroot Yay thanks so much for the kind words and motivation - I'll keep at it, I'm super eager to see how it finally turns out too haha! :)

@freebliss Still love this!

Actually getting ready to do something similar in a piece of software I'm working on.

@fortifieduniverse Super cool, I'm curious what you'll come up with! I've done some brief search engine research on "audio thumbnails" this week, but wasn't too excited about the things I found, so there's plenty of room to fill apparently (or I need to work on my search skills haha).

Speaking of love this - I looked at your diy studio furniture yesterday and I'm in awe, that's beautiful work there! :) And fits in with the work/life/life's work ethos you're writing about at fortified universe, really dig that kind of dedication, don't ever give that up! 👍

@freebliss I'm developing music composition and performance software using heuristics, data models, and some machine learning. I'm currently working with audio and want a visualizer in the user interface. Like how you're drawing waveforms, so I'm going to do the same thing.

Thank you so much for the kind words! I don't think I could give it up, I'm not sure what else I would do? 😃

I'm excited for the new stuff coming this year. Did you see my "episode 1" last year?

@fortifieduniverse just watched the three of them - mesmerizing :) i particularly enjoyed the narration, so tranquil and peaceful!


Thank you! I'm really excited for the next one. Have some new elements to bring into the storyline. Working on the music for the new episode lately.

@freebliss Also, I don't think I mentioned it... but I'm a bandcamp user and customer:

Totally interested in what you're doing with faircamp for those reasons, too...

@fortifieduniverse yay that's exciting to hear too - "Glad if I can turn you into a happy customer!" :D (that's a joke of course - faircamp is more of an un-business for me personally right now haha) I've listened in a bit yesterday (3 tracks to go), it's a labor of love, compliments! :)

@freebliss Thank you so much for the kind words! I really appreciate you listening. I love that record, there are so many great stories in it.

I'm looking forward to what comes next, though!

And I'm giving a lot of thought to how I want to build a platform for my creative work, so what you're doing with faircamp is very interesting!

I'm also working on a creative journal format specification and tooling for my next web incarnation:

@fortifieduniverse sounds ambitious! seeing your other work I'm quite convinced you'll pull it through anyhow. :)


I appreciate that. 😊

It's a lot of stuff to deal with across everything I'm focused on, but I'm not sure what else I would do! It's fun!

But seriously, I'm having to learn more about really selecting where I put my energy. I'm not so much from the school that suggests focusing on just *one thing* is the ideal way to work... I *like* working across a large surface. But, still... it's valuable to keep that surface as small as possible.

@fortifieduniverse i can so relate to that. so much to deal with, but it's fun, and one thing only just doesn't cut it! ;)

@freebliss Just took a look at your personal website... so much awesome stuff there.

Love your sketches and drawings. That's something I wish I had more time to cultivate. I get by with my scribbles. 😃

@fortifieduniverse Thanks so much - really appreciate the feedback and you taking the time to look at my small place! :)

Occassionally I too wish I had so much more time to cultivate my illustrating haha, but then again I also found I can appreciate even very rough and quick studies I do, sometimes the smallest, random sketches accidentally turn into something precious, just because the magic somehow happens, mostly I put those up rather than the ones I meticulously crafted. :)

@freebliss Sounds like a sweet project! Will be following your progress...

@fortifieduniverse Yay appreciate the feedback :) Thanks for taking the time to reply!

Sign in to participate in the conversation

Welcome to, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.