50p reverse LED Arduino theremin

Okay, it’s not exactly musical, but this is a pretty cool quick Arduino project you can make with:

  • an LED
  • a piezo buzzer
  • er, that’s it

Okay, you need an Arduino, but it doesn’t even use a resistor.

I used the code in this project: http://mvartan.com/2013/03/11/1-photo-theramin-and-more-fun-with-reversed-leds/ and removed the push button because I found it worked better with the button always pressed – so I just shorted it out.

I wired up the LED and the buzzer like this:

The important thing is that the LED is wired up back to front – this is what makes it act like a light detector, rather than emitter. You connect the long, positive leg of the LED to ground (GND) and the short, negative leg to Analogue pin 0 (A0).

Connect the positive side of the buzzer to Digital pin 8, the negative side to GND and I just shorted digital pin 7 to GND because I couldn’t be bothered to tweak the code – in the original a push button sits between Digital pin 6 and GND.

Wire it up, upload the code and the closer you move your hand to the LED, the more ambient light gets blocked and the higher the pitch of the note goes.

Oddly, when I tried to film this on my iPhone, the soundtrack was almost entirely silent, though it was really loud in the room – and loud enough on my Fuji X10 still camera. Also, if you touch the negative side of the LED, it goes NUTS!

Posted in Arduino | Tagged , | Leave a comment

Last Orders podcast is here!

My first ever podcast is ready to consume – lend me 15 minutes and I will take you on a journey to an old builders’ yard in South East London, now home to shiny brewing vessels and where you can learn the dark (and not so dark) arts of mashing, sparging and hopping.

I’ll be making an MP3 download and RSS feed available shortly.

You can also see my photos and read about the brewery here: http://www.suppertime.co.uk/blogmywiki/2015/03/brewschool/

Posted in radio | Tagged , , , , | Leave a comment

My life in the Bush of ghosts

Yesterday, thanks to the kindness of Wanda Petrusewicz in remembering me, I was able to look inside Bush House, straddling Aldwych and the Strand in London.

It was the home of the BBC World Service from 1941 until 2012, and I worked there from 1991 until 2010 – most of my BBC career. But Bush House was never owned by the BBC; it was built by an American Irving T Bush as a world trade centre in the 1920s. It was the most expensive office building of its day, and (I think) one of the first steel-framed buildings of this type in London. The building has now been redeveloped into offices, currently empty but it may be leased by King’s College across the road.

So, with so much of my working and personal life tied up in the concrete, marble and steel, what did I make of its renovation?

It makes an interesting comparison with the current debate about the future of Alexandra Palace: how much of the BBC’s changes to Ally Pally in the early days of TV should be retained? Well, in Bush House absolutely no trace of the BBC remains. The developers have successfully stripped the building back to its shell – no mean feat, as I know from cabling in risers and weird cubby holes in Bush just how much crap the BBC added to the building.

As you’d expect, the splendid marble staircases and strange old letterboxes on the landings are retained exactly as they were:

The eccentric, but beautiful, old Italian-made lifts have been replaced with modern ones, lacking that familiar World Service voice, though you may be pleased to learn that one tradition has been retained: we got, briefly, stuck in one.

The main Aldwych reception in Centre Block looks better than it ever did in my BBC career, having opened up the glass balconies above, although I am disappointed the (original?) dark wooden booths labelled ‘TELEPHONE’ and ‘PORTER’ by the revolving doors have vanished without trace:

Almost all internal walls have been removed, meaning that as soon as you step off a landing, it’s very hard to get your bearings. Entire studios – which once seemed so important and immovable – have been swept away, as if they never existed. Here’s the site of S46, home to countless World Briefing / Newsdesk / Radio Newsreel broadcasts:

And here I am pretending to sit at the mixing desk in S39, the studio I helped redesign and redevelop for BBC News:

Not so long ago, it looked like this:

Studios S36 and S38 (can you spot Kofi Annan?) broadcast most of the BBC World Service English language current affairs programmes for decades: Newshour, The World Today, Europe Today and more:

Today this is what remains:

So, if you’re sentimental about BBC radio’s history, the redevelopment may upset you. I thought I’d get emotional about it, but the renovation allows the beauty of the original architecture to shine through. Amazing details, like this window, which were hidden by studios, ducts and whatnot now sparkle:

I must have walked past this window a thousand times (it’s behind where C21 was, close to the really old Studio Manager common and quiet rooms on the 2nd floor Centre Block South) without ever knowing it was there.

Most areas have been opened up and look the same now, so it can be hard to know what floor you are on. The floors are shiny metal, ready to be carpeted, the heating ducts that ran round the windows have been stripped out giving more space and allowing you to get closer to the windows. Even on a cloudy day there was a great sense of light, helped no doubt by the total lack of furniture and people.

This is what the newsroom, once bustling 24 hours a day, looks like now:

Hardly recognisable from the late 90s:

Or even the 2000s:

I do wonder if whoever inhabits the new Bush House will pick up on any sense of the building’s history and past. The dramas, literal and metaphorical, that played out in the spaces workers will sit. The breaking news stories: the end of WW2, Cuban missile crisis, the fall of the Berlin Wall, 9/11; the days when millions of people in Eastern Europe tuned into the Polish/Czech/Hungarian ‘sausage’ programmes I and others made in a basement studio in the early hours of the morning; the laughter, anger, sheer panic of live radio, the tears and love affairs that filled the corridors and canteen. Does a building, the stone and steel, soak any of this up? The builders swear that the old library (‘News Inf’, short for News Information) is haunted. Perhaps the ghost of an old cutter & sticker (the people whose jobs were to cut out newspaper cuttings and file them accordingly) stalks the lower ground floor, across the landing from the BBC Club?

Ah, the Bush House Club. Famous for its fishtank, which legend has someone smashed one night (perhaps when themselves smashed), causing water and fish to spill out across the room, drinkers picking up fish and chucking them in pint pots and G&Ts to keep them alive. It’s just an empty space now, a buidling worker oddly watering the spot where the fishtank once stood, and where Neil Sleat introduced me to my wife.

I leave you with my favourite tribute to Bush House. Thomas Hannen and Owain Rich’s beautiful film incorporating clips from this programme. Four and a half minutes that perfectly sum up 80 years of extraordinary multi-lingual broadcasting, in a special place; part United Nations, part university, always – until the end – apart from the rest of the BBC.

You can see more of my photos of Bush House today here and a massive set of photos old and new here.

Posted in BBC, nostalgia, radio | Tagged , , , , | 5 Comments

CoolPlay for MacOS X

What is CoolPlay? A Coldplay tribute band? Well, yes it is – but it’s also a piece of Windows audio play out software written for BBC News between 2000 and 2010.

At its simplest, it allows you to load audio (in MP3, MP2 or WAV format) into a playlist and play it out at the press of a button. “So what?” you may cry, “loads of programs do that.” Well, yes there are loads of audio players for all kinds of platforms, but almost all of them have a problem when it comes to playing audio out on the radio or in the theatre: when they get to the end of a track, they almost always play the next track immediately afterwards. This is not something you normally want on the wireless – you want to be able to talk in between the pre-recorded items or music.

I’ve long mused that it would be cool if there were a Mac (or Linux – but that’s another story) version of CoolPlay, and for some reason it took until today for me to try running CoolPlay in WINE on an Mac. Actually, I may have tried it before and it didn’t work – but today it did.

I installed the WINE / WINE Bottler combo on my hackintosh netbook running OS X 10.6.8. WINE is a way of running Windows applications in other operating systems, and it requires an X86 processor to run, so I won’t be running CoolPlay on a RaspberryPi any time soon (though I’d love to have a go at writing my own simple version of it).

Anyway, by Jove it seems to work. I then packaged it up as a standalone OS X app and tested it on an iMac running 10.6.8 and a MacBook Air running 10.9.5. This also seems to work with a few wrinkles, outlined below. It also makes the file HUGE – it’s about 570MB as opposed to 1.7MB for the original WindowsXP EXE file. But it means you can run it without installing WINE first, which you may not want to, or be able to do.

I even got the ‘quick record’ function to work using Soundflower to route the iMac’s audio output to the input:

Bit of history: CoolPlay was written by Matt Hardiman, and you can still download the Windows version here. It was used widely in BBC network and World Service radio and beyond. I designed the splash screen for it, and I think I did some work on the .CHM help files, but it was a long time ago and I may be misremembering that. It has some features that may seem arcane now, as it grew to suit both Radio 4 and Five Live broadcast areas in TV Centre where D-CART was used for audio play out, and Bush House where World Service News used DAVE2000 and the rest of World Service used Radioman. It’s only when you start thinking about how you’d emulate its functionality, that you realise how incredibly sophisticated it is – easy to use but damned clever. And it has plenty of features that are still immensely useful today:

  • You can re-order a playlist while an item is playing.
  • It tells you at what clock time an item will finish playing.
  • You can preview the end of a track.
  • It deliberately makes it hard to stop playing your audio – the spacebar is play, but to stop a track you have to use the numeric keypad or press S. Trust me, this is a good idea. Especially if you’ve ever played out a half hour feature and pressed STOP by accident.
  • You can segue individual tracks together if you need to.
  • It puts audio in a local cache, so if you loaded audio off a server and lose your network connection, you can still keep on air.
  • It saves playlists in the common M3U format, readable by other software.
  • It even enables playlists to be edited remotely, say in a production area, and it will update the playlist in the studio automatically.

So what are the wrinkles?

Generally it seems to work pretty well, but I’d need to ‘soak test’ it a bit more before recommending using it in anger on anything broadcast-critical. One big problem is that re-ordering tracks by dragging and dropping items in a playlist is very hard, as the cursor and highlight vanishes. You can get round this, however, by using CTRL and the up and down arrows (though in OS X Mavericks I had to turn off some Mission Control keyboard shortcuts that clash in System Preferences).

It takes quite a long time to open on first run, you get an error message about serial remotes and it may be hidden behind other apps, but it opens swiftly on subsequent runs. The file system in WINE is a bit bonkers, but you can set the application preferences in CoolPlay so it will by default look somewhere sensible for new audio and playlists.

There’s no INSert key on a Mac, which is awkward as that’s the keyboard shortcut for inserting new audio or playlists. SonB discovered, though, that F3 (or Fn+F3) does the same thing – how or why I have no idea this works, and it may be the cause of some randomly weird flickering menu behaviour I’ve seen a few times, so there may be a better solution involving using some OS X key-mapping shenanigans.

The playlist also gets a bit messy around the ‘NEXT’ labels which show the next track to be played – they don’t get cleared when you cursor up and down the playlist. This can be tidied up by pressing F5 (or Fn+F5) which redraws the playlist.

If you wanted to use this in a more formal broadcast environment, you could use a MakeyMakey to wire up fader starts and real chunky push buttons to CoolPlay to allow you to play, stop and navigate a playlist.

As I hinted at before, I’d love to write something like CoolPlay for a RaspberryPi. Imagine a really good radio play out system costing less than £50? That’d be great for school, student and community radio stations. No idea where to begin though… something web-based? Python code with a GUI wrapper controlling MPC? Ideas… ideas…

Posted in BBC, MacOS X, radio, Windows | Tagged , , , | 2 Comments

Updated list of BBC network radio URLs

Update March 2021

Please note this is a VERY old blog post and the BBC is closing the streams listed below. I mainly listen online to Fip which is not affected.

Have a look here for new streaming addresses and read the notes further down about extracting URLs from PLS files.
https://gist.github.com/bpsib/67089b959e4fa898af69fea59ad74bc3#file-bbc-radio-m3u

Updated April 2016 to include BBC local radio streams

The BBC has changed the way it streams a lot of its radio stations on the internet. You can read more about the changes on the BBC Blog.

One upshot of this was that none of my many RaspberryPi internet radios would pick up BBC stations any more. Yes, I know I can listen to most of them on DAB, but I like to be able to listen to everything in one place.

So here’s an updated list of URLs – these work with the Pimoroni Displayotron3000 Raspberry Pi radio which uses VLC as its player. I’ve not tried them with any of my MPC/MPD-based radios yet.

The nice thing about this list is it includes separate streams for Radio 4 FM and LW, useful if you want to listen to the full-length Yesterday in Parliament, for example. World Service isn’t on this list because I think the old URLs I was using are still working.

(As of Feb 2020, fip can be found at http://icecast.radiofrance.fr/fip-midfi.mp3, Scala Radio at https://stream-mz.planetradio.co.uk/scalahigh.aac)

National stations

BBC Radio 1
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p

BBC Radio 1xtra
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1xtra_mf_p

BBC Radio 2
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio2_mf_p

BBC Radio 3
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio3_mf_p

BBC Radio 4FM
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio4fm_mf_p

BBC Radio 4LW
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio4lw_mf_p

BBC Radio 4 Extra
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio4extra_mf_p

BBC Radio 5 Live
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio5live_mf_p

BBC Radio 5 Live Sportsball Extra
http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_five_live_sports_extra.m3u8

BBC Radio 6 Music
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_6music_mf_p

BBC Asian Network
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_asianet_mf_p

BBC World Service UK stream
http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-eieuk

BBC World Service News stream
http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-einws

Nations and regions

Radio Cymru

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_cymru_mf_p

BBC Radio Foyle

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_foyle_mf_p

BBC Radio nan Gàidheal

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_nangaidheal_mf_p

BBC Radio Scotland

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_scotlandfm_mf_p

BBC Radio Ulster

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_ulster_mf_p

BBC Radio Wales

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_walesmw_mf_p

Local radio (all broadcasting exactly the same programme as I compiled this!)

BBC Radio Berkshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrberk_mf_p

BBC Radio Bristol

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrbris_mf_p

BBC Radio Cambridgeshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrcambs_mf_p

BBC Radio Cornwall

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrcorn_mf_p

BBC Coventry & Warwickshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrwmcandw_mf_p

BBC Radio Cumbria

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrcumbria_mf_p

BBC Radio Derby

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrderby_mf_p

BBC Radio Devon

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrdevon_mf_p

BBC Essex

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lressex_mf_p

BBC Radio Gloucestershire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrgloucs_mf_p

BBC Radio Guernsey

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrguern_mf_p

BBC Hereford & Worcester

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrhandw_mf_p

BBC Radio Humberside

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrhumber_mf_p

BBC Radio Jersey

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrjersey_mf_p

BBC Radio Kent

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrkent_mf_p

BBC Radio Lancashire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrlancs_mf_p

BBC Radio Leeds

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrleeds_mf_p

BBC Radio Leicester

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrleics_mf_p

BBC Radio Lincolnshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrlincs_mf_p

BBC Radio London

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrldn_mf_p

BBC Radio Manchester

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrmanc_mf_p

BBC Radio Merseyside

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrmersey_mf_p

BBC Newcastle

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrnewc_mf_p

BBC Radio Norfolk

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrnorfolk_mf_p

BBC Radio Northampton

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrnthhnts_mf_p

BBC Radio Nottingham

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrnotts_mf_p

BBC Radio Oxford

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lroxford_mf_p

BBC Radio Sheffield

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsheff_mf_p

BBC Radio Shropshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrshrops_mf_p

BBC Radio Solent

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsolent_mf_p

BBC Somerset

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsomer_mf_p

BBC Radio Stoke

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsomer_mf_p

BBC Radio Suffolk

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsuffolk_mf_p

BBC Surrey

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsurrey_mf_p

BBC Sussex

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrsussex_mf_p

BBC Tees

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrtees_mf_p

BBC Three Counties Radio

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lr3cr_mf_p

BBC Wiltshire

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrwilts_mf_p

BBC WM 95.6

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lrwm_mf_p

BBC Radio York

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lryork_mf_p

Update, July 2015: Fip has also moved, it’s now at http://audio.scdn.arkena.com/11016/fip-midfi128.mp3 – not sure if there is still a working low bandwidth stream.

Posted in BBC, radio, Raspberry Pi | Tagged , , , , | 90 Comments