Devlog #6
Hi there!
I'm Duncan Geere, and this is the Loud Numbers Devlog - a newsletter chronicling the development of a podcast about turning data into music that I'm making with my friend Miriam Quick.
Fear vs Beer
This week, Miriam worked on the mini-sonifications we're putting together on the sound of beer. On second listen, they were sounding a little too scary, with their looming horn crescendi and unsettling pitch bends (as I said to Miriam, “the tone is DANGER! rather than ‘YUMMY BEER!’”) so we made some changes:
- Made the harmonies simpler and less dissonant
- Tweaked the Roland TB-303 cutoff of the bitterness sound to make it rounder and smoother-sounding
- Made the alcohol sound less woozy, toning down the pitch bend
- Replaced the slightly ominous bass boom that represented the body of the beer with a daft funky bassline. Before vs After.
Not so scary now!
Colour to Key
This week we also experimented with mapping beer colour to key. The word ‘chromatic’ (as in chromatic scale) is derived from χρῶμα, Greek for colour, so we were keen to see if this would work.
You can supposedly change the pitch of a synth (or audio sample) in Sonic Pi using the pitch_shift
effect.
# Shifts pitch down a semitone.
with_fx :pitch_shift, pitch: -1 do
play 60
end
We tried this, but it made everything sound like it was playing through an old dial-up modem. The results using the transpose function in Logic were much better for individual samples, but when we transposed the whole audio file there were strange gaps in the sound.
A more laborious but far more successful way of changing the key of a synth in Sonic Pi is to modify each element in the code directly by using .map
to shift an array (chord) up or down a certain number of semitones. Here, c could represent some data, such as a number representing the colour of a beer.
# Define MIDI notes in chord
x = [50, 55, 59, 65]
# Define N semitones to shift up or down
c = -1
use_synth :square
# Shift x up or down by c
play x.map {|i| i+c}
Much better! However, this doesn't work with external samples – so we'll be re-exporting various instrumental samples from Logic in all the different keys we need over the next week. Unless anyone knows a faster method – if so let us know!
Radioactivity
We've also been starting work on the next episode, which is about the media circus surrounding Brexit.
We used the (excellent) Guardian API to grab details of every article about Brexit published between the EU referendum and the date Britain formally left the EU, and we're planning to sonify it in the style of a Geiger counter.
Periods of extreme article-publishing will correspond to high "radioactivity", which we'll augment with data on the value of the pound against the euro and some samples of political speeches.
Our starting point is this handy bit of code, created by David's Fiddle, demonstrating a Geiger-like sound in Sonic Pi.
We'll share more on this in the coming weeks.
Resources
Finally, a couple of resources for those of you following along at home.
We were totally inspired by this five-minute TED talk from sculptor Nathalie Miebach, which touches on a little of the complexities of mapping physical parameters to music (and baskets).
We're thinking about putting together a short, simple course on data sonification for people to learn. But in the meantime, here's a great post from The Programming Historian that has a few starting points in different coding languages.
See you next week!