WebMix: Webmonetization + Dj mixes for the next internet

Mark and Ian at Mozfest 2018

While recovering from Covid, I got a little time to finally sort out the WebMix idea which I also wrote up for Mozfest earlier in the year.

With the incredible and generous help of Mark Boas of Hyperaudio, I was able to use Hyperaudio lite to make clearly mark up a list of tunes in a DJ mix. Its what I’ve been looking to do for ages to move away from Mixcloud,

My finally setup was something I was playing with for ages but mainly via a self installed wordpress on my raspberrypi. I found problems when installing hyperaudio and in the end decided to go with a static website. I choose Publii as it had a linux client and I could just write the HTML easily (so many use markdown and other things, which would have made working with hyperaudio more difficult than it needs to be)

With the site creation out the way, I needed somewhere to host it.

Originally I was going to use Yunohost but I couldn’t find a simple webserver to just host the static files, instead I found a proxy server, which points at my NAS, which is running a very simple webserver. Of course the NAS has plenty of space, its also where the mixes sit, has a excellent redundancy and backup system.

The result of the experiment all sits here – https://cubicgarden.info/mixes

Digital Italics WebMix

The core part of WebMix (as I’m calling it) sits in hyperaudio’s transcript and webmontization support.

Hacking hyperaudio’s transcripts

Originally I always saw Hyperaudio for its ability to tie a knot between the written word and the audio (& video). It wasn’t till I saw a demo of the WebMon functionality is when I understood it could be the thing I need for DJ mixes.

With correctly written HTML, I can tell Hyperaudio what it should do, and with Mark’s help we had a prototype up and running.

Here is an example of the code from the quiver in the underground mix.

<li class="active" data-wm="$ilp.uphold.com/B69UrXkYeQPr">
<span data-m="0">Activator, I know you can (That kid chris mix) - Whatever girl</span></li>
<li data-wm="$ilp.uphold.com/3h66mKZLrgQZ"><span data-m="127000">Air traffic (Erik De Koning remix) - Three drives</span></li>
<li data-wm="$ilp.uphold.com/B69UrXkYeQPr"><span data-m="445000">Chinook - Markus Schulz pres. Dakota</span></li>
<li data-wm="$ilp.uphold.com/3h66mKZLrgQZ"><span data-m="632000">Opium (Quivver remix) - Jerome Isma-Ae &amp; Alastor</span></li>

Each tune has a time configured using the attribute data-m, this is  in milliseconds. As I have all the data in the old CUE files I created a long time ago. Mark helped me out with a nice script which saved me manually copying and pasting. (I also considered writing a XSLT to do the conversion). In between sleeping and relaxing with Covid, I got a number of mixes up, changed the theming and finally got to grips with the static file uploading process, and the results you can see on the site.

Current webmix site

Payment and royalties

You will also notice each tune/list item also has data=”wm” attribute with a $ilp (payment pointers). Currently they are pointing to myself and Mark Boas. Obviously I would change them to the payment pointers of the artists/producers/djs involved but I don’t know any which have them so far. Which leads nicely on to the next challenge for WebMix.

I did/do have a plan to do a mix with dance music from artists which have payment providers but that is still in the pipeline. Along side this, myself and Mark thought about some kind of database/airtable/spreadsheet/etc with payment pointers crossed linked to their discogs profile.

WebMix active on my site

Maybe this is something which could be done in the next grant for the web call for participation?

Back to the current experiment, here is Opium (Quivver Remix) – Jerome Isma-Ae Alastor. You could imagine one payment provider decided between all involved which could be used to pay for each time its played on the site. (I am very aware this is very simplex and the royalties of music is a total nightmare!) but the point of the payment pointer is to hide the complexity behind one simple payment pointer, how its divided afterwards is up to each of the parties involved. I’m imagining a management agent, organisation or even dare I say it DAO; responsible for the payment pointer. There’s already things like revshare, which means you can have multiple people/entities behind the payment pointer and theres interest in this space. Long tail economics certainly could benefit here.

Anyway its a long complex area which I’m best staying out of…?

The main point is its all working and expect more updates soon… I know Mark has other ideas, while I still need to get older mixes up. I also would like to tie the whole thing to something federated or at very least setup a activity-pub feed.

Maybe I should be more ill more often?

Web Monetised DJ mixes anyone?

Its Mozilla Festival 2022 virtual week and the grand WebMontisation experiment is underway.

While thinking about the experiment and the ability to tip people, I thought about this aspect within mixes. Originally I thought about it per mix as WebMontization is page level, although there are plans for link level monetization in store.

Then I saw a bunch of Hyperaudio experiments with WebMon. This got me thinking imagine if every artist/label had a payment pointer?
Its not like we don’t have the precise timing metadata, especially when recording a mix digitally.

WebMon Mixing

For example here is the Pacemaker editor, which gives you exact times of when tunes are used and not used. The mix is my latest one, the incidental contact high mix, I do love that mix!

With the advantage of metadata lookup, it wouldn’t take a lot to correctly identify the tune and auto discover the payment pointer of the artist/label. For example here is Protoculture which is appears 3 times in the mix. With something like hyperaudio, it would be pretty straight forward to automatically send a stream or micropayment to the artist/label everytime the track is played within a mix.

With all this in mind, I’m thinking about creating an experiment.

If I was to do a mix using creative commons attributed licensed music, with all artists who have payment pointers. Then provide it through hyperaudio on my site.

Wouldn’t that be a really interesting experiment?

Following what Coil & Mozilla have done with the tipping experiment, I could use payment pointers for a number of charity’s instead?

Coil tipping

My first tip went to Hyperaudio!

Its certainly feel like a perfect DJ Hackday project?

I have refined the idea on the WebMon community site

Project description

The existing models for distributing DJ mixes is frankly painful with many DJs having to fight with take-down notices and copyright flags.
I am investigating ways to self-host and share DJ mixes with the care and attention of what a DJ would like to bring to the mix, and include a way to pay the artist/creator of the music in the mix.

Ways in Which I Am Web Monetizing These Resources

Currently I am Web Monetizing the whole of the site but I am going to change the audio player to HyperaudioLite and take advantage of the new feature to pay per section of the audio.
As a DJ, my main interest is to share the mix with as many as possible without limits and constraints. I will turn off WebMon for myself and use the payment providers of the artists instead. As I expect many artists have not heard of WebMon and so I recommend using payment providers of charities and non-profits instead (same ones Mozilla have used throughout the Mozilla virtual festival).

As more artists and labels start to support WebMontization and get payment pointers. It will be easy to reroute the payments to the new payment pointers and even split payments between groups/collaborations.

Ideally I’d like to see this fit within the fediverse systems like funkwhale, reel2bits or Castopod enabling support for future forms of sharing, ignoring and distributing.