Sunday, 26 May 2013

Sunny Weather, Sunny Music?

With a clear sky and the bright sunshine finally arriving in Bristol it feels right to recommend some high energy local pop-punk records.

So in the optimism of sunshine our first stop is Caves' Homeward Bound (Spotify), fittingly covered with an overexposed picture of the lead singer eating an ice cream.

The music is upbeat, uncomplicated and races along at a high rate of knots and has all the sing-along "Wooaa Oooo OoooOOos" you could ask for in the short tracks.

The lyrics reveal the album's title in recurring themes of leaving, the wrestling of 'should I stay or should I go' and the consequences of decisions made.

Opener Time and Time Again acts as an overture to what we hear in more detail later: "Leave with nothing, return with less / ... / a wave from the platform as the carriage pulls away / was a bit too much to ask" and the chorus of "I always make the same mistakes".

In I'm Not Sorry we get a struggle to be accepted for what you are, for not following the expectations that others have of you, but framed again as a decision to leave "I always wanted to be here / never felt anything in the way for me / until you kept me here,". The lack of freedom expressing that we can't know our own character until we reach a limit where we have to struggle to express it.

My favourite track is Water Wings, where the protagonist struggles to take the good without being drowned by the associated bad, failing to leave and being overcome.

And that's where we hit the crux of the struggle presented in Homeward Bound, does leaving solve anything? Or does it just allow you to repeat the same mistakes somewhere else without resolving them? It opens new possibilities, allows you to escape bad situations and is exhilarating, but also feels lonely and incomplete. Is it a sign of strength or a lack thereof to be forever travelling on?

If Homeward Bound is the voice of having tried it and the complicated answer of an inconclusive experience, then Munice Girl's Revolution Summer EP (Spotify) is the waiting and itching to get started on your own adventure, but not knowing if you've got the conviction to actually go and unsure of the benefits you'll get for doing so.

The five tracks don't mince words and Feel It Soon kicks us off with "I sit and wait for hours for my real life to begin / And I don't know the time I'm wasting / or the mess I'm getting myself in". But this isn't simple laziness or the lack of energy, it's the fear of "We all think time will tell / but what if it doesn't? / What if I can never get shot of this doubt?". The worry that even once we've resolved to do something it won't fix anything. Their conclusion is "Let's focus on the people we can never live without", but that's a simple answer to a complicated question and feels like its given knowing that it's easy to say but hard to actually achieve.

While the EP's called Revolution Summer you feel that the title should have a trailing question mark. Is it really? Are we going to make it happen and should we? Kasper And Randow's chorus "I don't what I'm going to do / I'm sick of having to decide" raises frustrating, energy sapping indecision to rousing sing along.

By the track Revolution Summer it finally feels like we've finally made the choice, "Don't hesitate / it'll never push you forward", that hanging around isn't going to solve anything, knowing we'll make mistakes, but we can live with that. But then subversively even in the moment of our decision that doubt returns, lurking, "we're holding out for something better / we say the same thing every year / I'm ok, this is not forever", but if you don't move at some point it will have been effectively forever.

It's all done with bouncing bass and sing along melodies, but there's a depth below achieved through the self questioning lyrics, the doubt placed between the firm conclusions.

If Revolution Summer is uncertain about the future, Homeward Bound has experienced it and speaks as a warning that even after the hard choices have been made it's difficult to know if they were the right ones or not; don't expect any clear conclusions. It's clearly a warning that has made it back to the members of Muncie Girls who've regularly shared stages with Caves. These two records feel to me like a snapshot into a mind before and after having made a decision to break out, as such the two compliment each other well.

I recently read an article complaining about the lack of female road narratives, but after listening to these two records, both with female lead singers and what feels like a distinctly less male outlook, I can't agree with opinion. The narratives are there, but they look at a different aspect, weighing more the entire purpose of leaving and travelling, not just what you see when you're on the road.

They might not be the typical self confident swagger of, say, a classic Tom Petty story:  It's rubbish here  (Hometown Blues), let's go (Rebels) and then setting off on an adventure of self discovery (Kings Road, Learning to Fly, Running Down a Dream etc. etc.) to find who you and the world really are. Doesn't mean they are any less road/journey narratives, just the road isn't explicitly mentioned, it hangs ominously in every thought revealed, so obvious that pointing it out would seem silly.

What Caves and Muncie Girls give us is a more complete picture. While classically we're left hanging in the journey itself and it's all good, by looking at the before and after as the real emotional growing points, not the repeating stasis of tedious journeys, we can try to see how that experience impacts when you meet the mostly sedentary real world, not the moving isolated bubble you live in behind the steering wheel.

Saturday, 25 May 2013

Controlling a RGB LED with a Raspberry Pi

You can use the General Purpose IO pins on a Raspberry Pi to easily control an LED. If you choose a three colour red-green-blue (RGB) LED you can mix these colours to create a wide range of colours, in the same way a pixel on your screen does.

I used a common cathode RGB LED, wiring the cathode to the ground pin on the Pi. Then the three legs are each wired to a GPIO pin on the board. In this case red to 12, green to 16 and blue to 18.

From the datasheet and the GPIO outputs I'd calculated the following resistances were needed between the LED and the GPIO's 3.3V supply. If you're using different LEDs check their current draw and typical forward voltage and use Ohm's law to calculate the resistor you need (or use the handy LED Resistor Calculator).

Assuming a 20mA current draw per leg:

Colour Typical Fwd Voltage Internal  Additional Commonly Available

But using these resulted in the green and blue were much brighter than the red, so when all the colours were on at the same time to create a 'white' light, it was distinctly blue. The yellow (red and green mixed) also came out very green.

After some experimenting with different resistor values and measuring with a multi-meter I managed to achieve an even white colour with the values below.

Colour Resistor Used Measured Voltage   Drop   
Red 1.88V
Green 220Ω 2.66V
Blue 100Ω 2.69V

I used the Python GPIO library that comes with Raspbian, which recently added an experimental Pulse Width Modulation (PWM) feature , so make sure you follow the update instructions to make sure you have version 0.5.2a or later.

I included a small function that cycles through each colour at different speeds so the colour changes, creating an effect similar to Mitch Altman's Trippy RGB Waves Kit that I saw a couple of weeks ago at the Bristol Hackspace
 #Controlling a RGB LED with built in PWM.  
 #Mostly copied from GPIO PWM example:  
 import time  
 import RPi.GPIO as GPIO  
 import math  
 red = 12 #pin numbers to match LED legs  
 green = 16  
 blue = 18  
 GPIO.setup(red, GPIO.OUT) #setup all the pins  
 GPIO.setup(green, GPIO.OUT)  
 GPIO.setup(blue, GPIO.OUT)  
 Freq = 100 #Hz  
 #setup all the colours  
 RED = GPIO.PWM(red, Freq) #Pin, frequency  
 RED.start(0) #Initial duty cycle of 0, so off  
 GREEN = GPIO.PWM(green, Freq)    
 BLUE = GPIO.PWM(blue, Freq)  
 def colour(R, G, B, on_time):  
   #colour brightness range is 0-100  
   #turn everything off  
 def PosSinWave(amplitude, angle, frequency):  
   #angle in degrees  
   #creates a positive sin wave between 0 and amplitude*2  
   return amplitude + (amplitude * math.sin(math.radians(angle)*frequency) )  
   while 1:  
     for i in range(0, 720, 5):  
       colour( PosSinWave(50, i, 0.5),  
           PosSinWave(50, i, 1),  
           PosSinWave(50, i, 2),  
           0.1 )  
 except KeyboardInterrupt:  
 #Stop all the PWM objects  
 #Tidy up and remaining connections.