Music & Movements - Skiffle, Punk & Raspberry Pi


(Andy Wootton) #1

Someone mentioned skiffle the other day then riffed into talking about punk which was made possible by new, cheaper solid-state electronics amplification and second-hand instruments from junk shops in a time of synths. It was only recently pointed out to me that the immediacy of New Wave (I believe you kids call it Post-Punk now) came from the faster response of the amps compared to valves. Skiffle used recycled tea-chests and old broom handles as bass instruments. Look, it was the 50s.

Most economic downturns are accompanied by an angry, artistic reaction to austerity at street-level, using dirt cheap gear. We haven’t really had one this time. It’s been all music industry distraction from the problem. I was wondering what the Millenials punk weapon of choice would be. I think it might be the Raspberry Pi and a junk-shop MIDI keyboard. Then I realised that a Pi would also fit in a foot-pedal, so there could be a digital effects revolution based on networked FOSS-swapping. “C30-C60-C90, Yeah!” Where is my “Hacked digital is killing the electronic instruments industry” meme?

‘Birmingham Flan Flingers, v.Pi’? I should probably let someone younger do the cultural references.

SRSLY tho! Has anyone done any serious digital music hacking? I’ve meant to for about 20 years.


(Andy Wootton) #2

From my man Joe who makes analogue pedals:

"I’ve seen a few Arduino digital effect builds that look quite tasty, but
I’ve not seen anyone run a Raspberry Pi pedal yet. If you could find a
way to run DAW effect plug-ins to affect a guitar signal in real-time,
you could be onto something pretty damn special!

Free software is killing analogue in the bedroom studio, but the
gig-proof-ness of analogue pedals means that they still rule the roost live."

I pointed out that these things can survive a classroom full of kids and spares cost £30

Is this appropriate Lounge talk @LimeBlast? There’s no obvious place for music as an art rather than a distraction from work. ‘Digital Arts’ would cover it and include ‘UX & Design’, as well as including photographical, film & musical bit-wranglers.


(Andy Wootton) #3

A Linux DAW effect is code running in Linux. A Pi can run Linux. The Pi 3’s have built-in WiFi. It doesn’t sound like an impossible problem but you maker guys know best.

I’ve also wondered if a Pi or Ardino could do A-D conversion on the low-voltage signal out of a turntable. Modern HiFi amps don’t seem to have line input. I know you could buy one for the cost of a Pi but where’s the fun in that? Obviously it would suck all the ‘warmth’ out of the electricity but that seems a small price to pay.


(Marc Cooper) #4

Just leaving these here:


(Andy Wootton) #5

Raspbian includes Sonic Pi. Music for programmers. I’d made a few bleeps with it but didn’t know what it could do http://sonic-pi.net/#examples


(Daniel Hollands) #6

Pinging @adre


(Andy Wootton) #7

Discovered since: Sonic Pi is written in Ruby, the guy’s TedX talk is great. He suggested that code is the new Punk and saying you can’t should be like saying you can’t write, for everyone. Maybe a generation who grew up in their bedrooms don’t want to strum a guitar or hit things with sticks.

Then again: a motion sensitive Arduino guitar https://m.youtube.com/watch?v=xkrGyFWPb5o


(Andy Wootton) #8

Despite the name, Sonic Pi runs on other platforms too.
There are Debian unstable packages and an Ubuntu repo

http://sonic-pi.net/


(Andy Wootton) #9

This article points out that Linux isn’t suitable for true real-time apps because it’s a time-sharing system. “Unix is snake-oil” - Ken Olson.
https://pypi.python.org/pypi/RPi.GPIO

When Sonic Pi installs Jack, it asks whether to give real-time tasks priority.


(Marc Cooper) #10

I mostly agree, however the devil’s in the detail of the definition of “true real time app”. Even hardware “apps” are reliant on a clock and have to do stuff before servicing an interrupt. {rabbit hole}

Back in Linux world, it is possible to pin processes to CPUs. In fact, you can dedicate them to processes via kernel parameters (see isolcpus) and you can configure the CPU not to receive OS interrupts, although not completely – but then a “true real time app” (to be useful) has to listen to inputs at some point {rabbit hole}.

There are also cpusets – Debian has a package for that – which lets you configure CPUs in userspace.

As always, it’s about specifics and trade offs.


(Andy Wootton) #11

I used to work for a DEC OEM. The true real-time guys didn’t trust Virtual Memory or Ethernet :slight_smile:

One of them had a beard, socks with sandals and a 1000 Yard stare.


(Marc Cooper) #12

Yesterday, I was telling tales of coding sheets, of punched cards, of one compile a day – if production didn’t fail at all – of desk-checking code with handwritten tests, of finding the bug in a 12-inch high core dump, in hex, from a completion code and the registers’ contents. I don’t have a beard nor sandals, and the distance of my stare, such as it is, depends on the focal length of the specs I’m wearing. Time and tech moves on unremittingly. Judgements along with them.


(Andy Wootton) #13

They were right to be worried, at the time but as kit gets faster, code can be sloppier. They were writing the OS for specialist PDP-11 kit that did jobs like counting the pulses off power station generators. Missing one was expensive. CEGB would have sued their asses. You couldn’t afford to have non-deterministic components.


(Marc Cooper) #14

Sloppy code isn’t what we’re seeing, though. Well, JavaScript aside, which is just a temporary diversion in browser-space for neophytes. Contemporary languages are terse and expressive, and their environments direct abstractions of the networked hardware architecture.

I’d be happy to sit in a plane with software written in elixir. I love that folk are delivering hardware driven by nerves (the elixir firmware platform).

I might be repeating myself, but flying back from Oman earlier in the year we got stuck on the ground in Abu Dhabi. The pilot came on to apologise for the delay stating that they were trying to avoid the equivalent on Windows ctrl-alt-del on the plane’s software, since rebooting the plane took an age. It did have me wondering what the software was written in, though. And what platform.


(Andy Wootton) #15

Your story reminded me of a visit to British Steel, standing below steel being smelted, in a ‘danger do not enter’ area, realising the process control software had been written by someone I thought was clueless.


(Kevin Carmody) #16

I’ve been using sonic-pi on the Mac. It’s great fun and really straight forward. it uses it’s own Ruby runtime, etc, so it’s totally self contained.


(Andy Wootton) #17

My ‘new’ Mac wouldn’t run it because it was on Snow Leopard. I’m still trying to work out how to upgrade.


(Andy Wootton) #18

I have an idea for a fork of this project https://m.youtube.com/watch?v=V9-ltPsbw9g


(Andy Wootton) #19

Apparently from the same team at Cambridge. This time with a Clojure front-end

I was only looking for something to play a tone :slight_smile:

Doh! emacs, obviously.

I notice that this uses emacs slime mode which I’d previously been told had been replaced by cider, to hook emacs into a REPL.


(Andy Wootton) #20

I’ve realised [it was obvious to anyone who was awake] that criticisms of Pis for real-time that I repeated earlier in the thread are really criticisms of Linux. I’ve discovered that there are ‘true’ real-time OSs available for Pi too.