Tag Archives: web audio

Reading list, 5

13-19th April 2015

  • tableflip dot club by (╯°□°)╯︵ ┻━┻: “We’ve watched mediocre men whiz by us on a glass escalator […] we’re denied opportunities because we aren’t “ready” for them […] It’s time we take our potential elsewhere […] We’re sharing our long memories of all the creeps who’ve hit on us and the cowards who’ve failed to promote us”. Oh wow. This resonates so much with some of my experiences, wow. Yes. More tableflips are in order!
  • Of undocumented Chrome features and unreadable W3C specs by ppk: “this sad state of affairs prevents me from writing tests and reporting their outcome on all these new, exciting technologies”, or why new undocumented APIs without examples are a tragic failure
  • The newly created Web Audio London meetup has published videos with the talks from the first meetup! they are in its YouTube channel
  • There is also a Music Hackspace in London! I haven’t been so I can’t tell how good is it.
  • More music: my pal Andy Lemon made a series of Commodore 64-based covers of 80s tunes
  • Gifsicle – command line animated GIFs. We can always add new tools for our Animated GIF battles. Its website is pretty terse but the GitHub page is more detailed: “it can merge several GIFs into a GIF animation; explode an animation into its component frames; change individual frames in an animation; turn interlacing on and off; add transparency; add delays, disposals, and looping to animations; add and remove comments; flip and rotate; optimize animations for space; change images’ colormaps; and other things”… *swooooooooning*
  • More control over text-decoration by Chris Coyier at CSS-Tricks — where the text-decoration CSS property can be further controlled with three new sub-properties: text-decoration-color, text-decoration-line and text-decoration-style. This is fantastic! I’m going to start using text-decoration-style: wavy everywhere! ;-)
  • More CSS! Gradients are sometimes hard to visualise, so Patrick Brosset wrote a tool which would do exactly that. This week, he moved it from codepen to a GitHub repository. Look at it–can you make it better?
  • Despoblados en Huesca – a website that collects all the abandoned towns and smaller settlements in Huesca, an Spanish province. I’m fascinated both by this and by the idea that some people do take over some of these settlements and make them inhabitable again. This notion of self-sufficiency has always intrigued me.
  • DiscoGS – I acquired a Sinology home NAS last week and I have been carefully rearranging and sorting my music collection. This website is a fantastic resource when you really start getting perfectionist and detailed about PROPERLY TAGGING the files.

Notes on the Web Audio Conference

I’m writing this from Paris after two days of web audio discussions on the Web Audio Conference: I think my brain hasn’t processed everything yet and I couldn’t even attend all the talks and events as I’ve got to prepare for FOSDEM and work on my normal duties too.

So I’ll be somewhat vague and generic to start with, and possibly keep editing the post to add links to things.

If you follow me on twitter you might have seen a lot of tweets during the conference. Lots of libraries and tools were presented. It was great that, as Jan Monschke mentioned, they all were open source and encouraged contributions. It is also, I believe, a symptom that there is SO MUCH WORK to do on this field that people feel underpowered and unable to build all that we need in order to get as creative/expressive as we’d like, or at least, as we can be in other platforms.

So that was cool. However, I can learn about tools and libraries from the comfort of my home and chair. What is really cool is being able to take part in “the hallway track” discussions and do some “networking”, but this is something the conference didn’t really facilitate. The schedule was really TIGHT, and didn’t leave time to process / discuss the new ideas with the people around you, let alone think about them yourself. It all felt really crammed together.

Granted, there was some time for questions after each talk, but I don’t think that’s the right moment or place.

Correction/update: there is an afternoon “hacks” session at Mozilla today which can be used for networking/discussion.

There were a few more aspects that were Not Cool At All, such as the whole line up of speakers being mostly white and male. I think I could count with one hand the number of women on the room (me included) and I’d still have free fingers. In other contexts this would have been outrageous. I tried to encourage diverse groups to send their proposals, and it didn’t work, but I don’t want to make myself feel exclusively responsible for this.

Finally, some members of the conference staff were overly zealous and made me feel incredibly uncomfortable: repeated bag searches on the way in, by the same security officer. Being addressed/yelled at in French, and policed all the time even when in our office. I was yelled at when trying to get some water from the table before lunch because it wasn’t the right time yet (but there wasn’t any other water to drink!). Some of my colleagues were told not to take drinks from the office kitchen’s fridge even if they are Mozilla employees (!!). Some people need to chill down. C h i l l d o w n.

The Web Audio conference is a wonderful and so very much needed forum. At times it even felt like a magic pioneering place, a one of a kind meeting that we were fortunate and privileged to be part of. I want/expect it to get better and better in future editions :-)

Meanwhile, in Mozlandia…

Almost every employee and a good amount of volunteers flew into Portland past week for a sort of “coincidental work week” which also included a few common events, the “All hands”. Since it was held in Portland, home to “Portlandia“, someone started calling this week “Mozlandia” and the name stuck.

I knew it was going to be chaotic and busy and so I not only didn’t make any effort to meet with non-Mozilla-related Portlanders, but actively avoided that. When the day has been all about socialising from breakfast to afternoon, the last thing you want is to speak to more people. Also, I am not sure how to put this, but the fact that I visit some acquaintance’s town doesn’t mean that I am under any obligation to meet them. Sometimes people get angry that I didn’t tell them I was visiting and that’s not cool :-(

Continue reading

Tools for the 21st century musician—super abridged dotJS edition

I attended dotJS yesterday where I gave a very short version of past past week’s talk at Full Frontal (18 minutes versus 40).

The conference happened in a theatre and we were asked not to use bright background so I changed my slides to be darker and classier.

It didn’t really go as smoothly as I expected (a kernel panic a bit before the start of the talk, and I got nervous and distracted so I got more nervous and…), but I guess I can’t always WIN! It was fun to speak in French if only one line, though: Je suis très contente d’être parmi vous!–thanks to Thomas for the assistance in coming up with the perfect presentation line, and Guillaume and Sasha for listening to me repeat it until it resembled passable French!

While the video is edited and released, here’s a sample in the form of slides, online and their source code in GitHub.

It was fun to use CSS filters to invert the images so they would not be a big white block on top of a dark background. Yay CSS filters!

.filter-invert {
    filter: invert(100%) brightness(2);
}

Also, using them in transitions between slides. I discovered that I could blur between slides. Cinematic effects! (sorta, as I cannot get vertical/horizontal blur). But:

.bespoke-active.emphatic-text {
  filter: none;
}
.bespoke-inactive.emphatic-text {
  filter: blur(10px);
}

I use my custom plugin presentation-fullscreen for getting real fullscreen in my slides. It’s on npm:

npm install presentation-fullscreen --save

then just

require('presentation-fullscreen');

will add a new option to the contextual menu for making the whole body go fullscreen.

I shall write about this tip and how I use bespoke.js in general, and a couple thoughts and ideas I had during the conference soon. Topics including (so I don’t forget): why a mandatory lack of anonymity is not the solution to doxxing, and the ideal talk length.

Tools for the 21st century musician

That is the title of the talk I gave yesterday at Full Frontal in Brighton. The video is still not out but here are the slides (and the source for the slides, with all the source for the examples).

If you were in my Web Audio workshop in Berlin, this talk followed the same style, except I refined some points and sadly forgot a couple. I also showed the Web Audio Editor in Firefox DevTools, which I didn’t in Berlin because Jordan was going to talk about it after me.

I had a little bit of a surprise at the end of the talk, when I “presented” for the first time a little project we’ve been working on for a while: OpenMusic. And I have “quoted” the presented word because the work has always been in GitHub in the open, so if you followed me in GitHub you might have seen all the repos popping up and wonder what the hell is Sole doing lately.

So, just in case you weren’t in the conference, OpenMusic aims to be a nice collection of interoperable/reusable Web Audio modules and components. This is an idea that Angelina sort of had when they saw my audio tags talk last year, and has been brewing in the back of our minds until a couple of months ago when the A-HA! moment finally happened.

And so I’ve been pulling apart components and pieces from my existing Web Audio-based code, because I realised I was doing the same thing over and over and I wanted to do new things but I didn’t want to do the same thing yet again. So, small npm based modules it is. And a bunch of them!

I’m a bit short on time lately (and I’m being very generous on this description), so some of the modules are a bit too rushed and a tad obscure, but they should work and have some minimal documentation already, and they’ll get better. Be kind while I deconstruct my hacks–or better yet, start deconstructing yours too! =)

Thanks to Remy for inviting me to this ultra cool conference… and accidentally triggering the A-HA moment!