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

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 #bandcamp 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 °˖✧◝(⁰▿⁰)◜✧˖°

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. :)

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

Follow

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

Sign in to participate in the conversation
Mastodon

This is a brand new server run by the main developers of the project as a spin-off of mastodon.social 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!