Follow

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 codeberg.org/simonrepp/faircam °˖✧◝(⁰▿⁰)◜✧˖°

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?

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

@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.

@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): codeberg.org/simonrepp/faircam 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}") }): codeberg.org/simonrepp/faircam 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!

@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

@freebliss Still love this!

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

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

https://fortifieduniverse.bandcamp.com/

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

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

Sign in to participate in the conversation
post.lurk.org

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