Another music in a different kitchen

Dansette record playerI’ve long wanted some sort of solution for centrally storing and serving music for listening around the house. There are all sorts of commercial products (like Sonos) out there, some eye-wateringly expensive even without any storage, plus numerous open-source projects, better suited to my low-budget, Raspberry Pi-filled household. But, unless I’m missing something obvious, nothing seems to do exactly what I want. Not the commercial products, not XMBC / KODI, not Volumio, not Rune Audio (more on them later), not DLNA/uPnP servers, not headless MPD servers, not VLC… not anything. I’ve tried several of these, they all have their uses. But they don’t quite fit. Or quite work (as I type this, Volumio’s web interface has hung for the millionth time).

Here’s what I’d like to do: I want to hold all our music in some central point in the house, on a solid-state low-power device that’s always on (so this rules out a normal hard disk-drive NAS, using an old laptop or desktop computer, but suggests a RaspberryPi may be employed.) I may want to play the audio back on the device hosting the audio, but that’s not essential. What is essential, is to be able to play the audio on a laptop or desktop, and probably on an iPad or iPhone (via Airplay?) or Android phone or tablet. And possibly on a standalone RaspberryPi in the kitchen. I’d also like to listen to internet radio stations on the kitchen device.

Most solutions seem centred around having a device in the living room, plugged into the network via ethernet and plugged into the ‘hi-fi’. Do you remember hi-fi? It was big in the 70s and 80s. But it’s the space age now, and I don’t have a hi-fi in the living room, nor indeed do I spend any time in there, aside from finally sitting down at 9.50pm and falling asleep in front of the Ten O’Clock News.

My life just isn’t like that any more. I don’t sit in my arm chair, equally placed between two speakers, stroking my finely-chiselled cheekbones like Pete Murphy (out of off of Bauhaus) in a 1980s Maxell cassette tape TV ad. I never had cheekbones, even then. And Bela Lugosi’s dead.*

Volumio media playerVolumio and Rune Audio are forks of Raspify – or Rune is a fork of Volumio, I forget which. It looks like it was an acrimonious split, like The Human League splitting and becoming Heaven 17 and, er, The Human League. Or like Arduino splitting and becoming Arduino and, er, Arduino. Anyway, they are complete operating systems you install on your RaspberryPi (or similar) to play audio through an analogue output or USB DAC. These solutions tend to assume your device stores audio (or accesses a NAS) and plays it locally on a directly-connected hi-fi, but the device does not serve the audio files to other devices, which is something I need. They look cool though – both have lovely, responsive web interfaces to act as remote controls. Volumio is based on Raspbian, Rune on Arch Linux. Of the two I found Rune slightly snappier (more responsive), plus it showed album art and had a few more menu options. Even so, I wasted most of a day yesterday (but hey it was raining and I had to wait in for a John Lewis delivery that never appeared) trying out both – with limited success.

Rune Audio's web interface on a desktop computer

First problem: my audio was all on a 64GB exFAT-formatted Sandisk USB stick. It took 3 hours to copy it all there off an old iMac, so I was reluctant to change the format of this. Volumio and Rune Audio are both supposed to support exFAT drives. Except the drive never mounted in either. The OS could see it at command-line level, but the USB stick never showed up in the web interface. I tried a FAT32 stick – it showed up immediately. So I reformatted my 64GB stick as FAT32 and copied all the audio again – this took another 3 hours. (Having my audio on a drive formatted as something like FAT32 or exFAT is important because I want to be able to add audio to it on a Mac, ruling out NTFS or Linux disk formats).

I think I may have been using Rune Audio by this point – I’ve lost count of the number of times I’ve re-imaged SD cards for RaspberryPis – though I did discover a great OS X utility for doing this, Apple Pi Baker. Anyway, Rune Audio mounted the 64GB FAT32 USB stick and indexed it pretty quickly. It played audio off it! I had fun building playlists on the fly and listening to tracks I’d not heard for ages. The circular volume and progress controls in the web interface work really well.

But I could not get Rune Audio to work wirelessly. It wouldn’t even boot with one wifi dongle attached, and with my regular Edimax wifi dongle it could browse local wifi networks, but refused to join ours. I tried command line tools. No luck. So I reflashed the SD card as Volumio again, mounted the USB stick ok, indexed it (a bit slower), played audio, had to use the IP address for the web interface as the volumio.local address wasn’t working…

So it looked like I had some of a solution. The Volumio RaspberryPi wouldn’t serve audio to other clients, as far as I could tell, but it was playing audio off my 64GB FAT32 USB stick. I even got internet radio to work, which I’d struggled with previously. Then I moved it into the kitchen. At first all seemed good. It played, I controlled it from my phone. Then it hung. It hung a lot. I tried pinging it. 25% packet loss. The darn thing kept falling off the wireless network, sometimes never rejoining it. I moved it to a better location, though it had been in the same spot I’d used the same Pi & wifi dongle previously with no problems to listen to Fip. Still it kept dropping off the network.

I was about to give up entirely, when I noticed something on the back of my broadband router – a USB socket. My old O2 box had acted as a server, but they got bought out by Sky and the replacement Sky box didn’t have a USB socket. I never even checked our new BT one, but there it was – a USB socket, which accepts FAT32-formatted USB drives and will serve them (slowly) as Windows-style SMB shares. Not exactly a DLNA/uPnP media server, but there are some advantages to using this. First, cost: the broadband router is already here, and it’s always turned on anyway, so there’s a zero cost overhead. Secondly, SMB may not be the most media-friendly (or Mac-friendly) way of dishing up files, but at least it makes the files equally available to any device on the home network that will mount or play off an SMB share. I found I could play files in the Finder on my MacBook Air (though directory listings were painfully slow). KODI (XBMC as was) on my MacBook seamlessly indexed and played audio files off the stick in the router (it will also turn your Mac into an AirPlay receiver). I even found an iOS app called BUZZ Player which is a bit clunky, but it too would play audio files off the router.

So that left me with my RaspberryPi with Volumio installed (now connected by ethernet in the living room, where I don’t listen to music). I tried to mount the SMB share a few times and it didn’t work; I was probably doing something wrong, but it then transpired that Volumio gets very upset when you try to delete or ‘unmount’ unsuccessful shares. It goes into a sulk. It hangs. It’s all but useless.

So I may give Rune Audio one more try to see if I can mount the router’s SMB share in it, hoping that I one day solve the wifi problems. I may even see if I can get a DLNA/uPnP server running somewhere – perhaps even on the same Pi?!

But I am starting to think that the best way of getting music around the house would be to put a Dansette in every room. Even in the kitchen. The platters that matter.

Are 'Friends' Electric?

*I have now discovered that I still know all the words to ‘Bela Lugosi’s Dead’. He didn’t die in vain.

Update

I’ve been playing with Rune Audio a bit more. I definitely prefer it to Volumio – it’s quicker and less crashy in my experience. I managed to mount the SMB share containing all my music on my USB stick on my BT broadband router and play audio off it, with occasional glitches (suggesting the BT Homehub is indeed slow serving files). After doing some command line magic to update it to the latest build, I even got it to join my wireless network in the living room, but still couldn’t get it to work in the kitchen. I swapped out the USB wifi dongle and it works better – it will join the wifi network in the kitchen, but the audio playback is so choppy as to be useless.

So it looks like Rune Audio (and Volumio) are great solutions for playing audio back when you can wire in your RaspberryPi (or similar) to the network by ethernet. But here’s the thing: as I type this (in the kitchen) on my MacBook Air, I am listening to audio off the same source (USB stick in the BT Homehub mounted as a SMB share), pretty flawlessly in the OS X version of Kodi. I’ve had occasional glitches, compared with constant glitches and pauses listening to the same source via Rune Audio on a RaspberryPi in the same room.

KODI media player on MacBook

So here’s what I think I will do: put my old netbook in the kitchen to play audio off the router’s SMB share and also use the Spotify client. I can still listen to centrally-held music anywhere in the house on my laptop, or even on my phone using an app like Buzz Player. Total cost: £0.00

Or perhaps I should rebuild that Pi as a uPnP/DLNA server…

Update to the update

I did rebuild that Pi as a uPnP/DLNA server, wired in by ethernet to my broadband hub. I used these instructions. It works pretty well and seems much faster than the BT Homehub serving up a USB stick as a SMB share. The only downside so far is that it doesn’t handle accented characters in file names, but I’m sure that can be fixed somehow.

Posted in computers, Linux, music, Raspberry Pi | Tagged , , , | 2 Comments

Fip has moved

As you may know, I love making little internet radios from Raspberry Pi computers – mostly so I can listen to the wonderful French radio station Fip. Fip plays a mixture of jazz, left-field rock and pop, classical music – it’s hard to describe, but it is my favourite radio station in the world.

My little internet radio in the kitchen stopped working, and it turns out Fip’s streaming URL has changed – you can now find it at http://audio.scdn.arkena.com/11016/fip-midfi128.mp3

Update Feb 2020: now at http://icecast.radiofrance.fr/fip-midfi.mp3

When BBC radio changed its streaming methods recently, it took a huge amount of detective work for me to find out how to play BBC radio – which I’ve paid for as part of the licence fee – on my internet radios. More recently, Apple launched its own radio services, and I found it was impossible to listen to its Beats1 station at launch on a brand new MacBook. Even last night, I updated iTunes to the latest version and found that while I could get Beats1 to play, none of the links to genre-specific ‘featured stations’ did anything at all. Not one. Were they ALL off air at 10pm UK time?

Fip, on the other hand, actually want you to listen. They have this lovely page outlining a myriad of listening options: on FM in different French cities, on their web site, via Android and iOS apps, via satellite and finally, via a direct streaming URL. That’s the way to do it.

Posted in BBC, media, radio, Raspberry Pi | Tagged , , , , | 1 Comment

Accept no substitutes

It’s the end of term in most schools today, and I’d like you to take a moment to think about the supply teachers.

(Vested interest declaration: reader, I am one.)

Nobody loves a supply teacher. The class teachers (usually) have to plan for them. The parents are dismayed at more instability for their kids. And the children… well, I would say they hate supplies, but I think a lot relish the opportunity to re-invent the rules. Yes sir, we always sit where we want. And Peter, he ALWAYS sits in the corner with his back to the board playing with a tennis ball. And Miss always lets us play cards in guided reading.

It’s a tough gig rocking up in a different school every day, not knowing what might be awaiting you. Usually it’s fine. Some times you get beautiful plans and notes about the class and the children to watch out for. I’ve been supply teaching since January and I’ve only had 1 day when I pitched up and there were no plans at all; amazing how planning a day’s teaching used to take me – ooh, about a day, and yet I managed to conjure something out of thin air in 20 minutes – a maths, literacy and computer-less ICT lesson. Some times I’ve been given plans in a face-to-face handover, and then had the most awful day… wondering why you didn’t tell me Stephen is an elective mute. I mean I know you can’t give me a profile of every child in 5 minutes, but that might have been handy to know when questioning the class in maths. Or that Child Z has just been taken into care. Cos then, you know, I might cut Child Z just a tiny bit more slack.

Supply teaching is a fantastic way of seeing how different every school is. Let’s take marking policies. In School A it must all be in purple ink. In Academy X in green. In Primary Q they have a simple 5 colour system: green for good, yellow for outstanding, orange for moving on comments, blue for sadness, black for sarcasm…

It’s also confirmed my view of how you can take any random 30 children and, en masse, they will have a personality. Luckily I’ve only met one truly evil class in 6 months, but they are out there, and I would rather lose a day’s pay than teach them. Most have their ‘characters’, but if you’re lucky enough to get some regular gigs and get to know the children, even ‘difficult’ classes whose reputations precede them (“Oh my god, you’ve got BINDWEED class, I’m so sorry”) can be really rewarding, and contrary to the normal view of supply teachers, the children can be genuinely pleased to see you. And even some of the parents… if you managed to make a connection. But it only happens if you get to know the kids. I don’t think you can build meaningful relationships with 30 children in one day. And without relationships, teaching is impossible, it is nothing.

I don’t resent class teachers their cards and gifts at the end of term – heaven knows they have more than earned them. But spare a second for the supply teachers. Some of us are nice. Some of us try our best in sometimes hostile environments, where we are about as welcome as new material at an 80s band’s gig.

It’s our choice, I know, we take the hit of no holiday pay and no security for not planning, not assessing, not emptying the dishwasher. But we do feel a bit adrift and bereft as we find ourselves unemployed even before the term ends (nobody goes sick on the last day of term)…

Posted in education | Tagged , | Leave a comment

How to get Word to paste unformatted text by default

This is something that drives me mad. Why (oh why) do word processors (Word, Open Office) paste formatted text by default? Almost always what you want to do is to paste unformatted text, so that it matches the font of the document you are pasting into, not the one you copied it from. Anyone who spends a lot of time filling in job application Word documents will feel the need for this.

After ages messing around with the infuriatingly complex OS X key re-mapping tool Karabiner, I found a way of doing it in Word itself. (These instructions relate to Word 2016 for Mac.)

First make a new macro in Word. Go to Tools > Macro > Macros… and make a new macro called PasteUnformatted.

Paste this code into the Visual Basic editor:

Sub PasteUnformatted()
Selection.PasteSpecial DataType:=wdPasteText
End Sub

Then remap the cmd+V shortcut by going to Tools > Customize Keyboard… then pick ‘Macros’ from the Categories list. Find PasteUnformatted and assign cmd-V to it, click on the ‘assign’ button, and now every time you press cmd-V it should paste unformatted text that matches the formatting of the new document you are working on.

If you want to keep the option of pasting formatted text, assign a different, unused keyboard shortcut, but I am so convinced that unformatted is the thing you need 99.9% of the time, I’ve just replaced it.

Posted in computers, MacOS X | Tagged , , , | 19 Comments

Adobe Audition 3 on a modern Mac

I wrote previously about getting CoolPlay to run on a Mac. CoolPlay is WindowsXP software used for playing audio clips, developed for BBC Radio, but it has other uses too, and I don’t know of any Mac software that does the same thing: to allow you to organise a playlist of audio tracks that play one at a time, stopping at the end of each track and waiting for a button to be pressed before playing the next track.

My favourite audio editing / mixing tool is probably Adobe Audition 3 – an old version from 2007, and it was never ported to Mac OS X. More recent versions of Audition are available for Mac, but Audition 3 strikes the right balance for me of simplicity and functionality. It also gained some popularity because it was part of Creative Suite 2, which was released in early 2013 with official serial numbers when Adobe shut down the CS2 activation servers. I still can’t figure out if that means you could nab CS2 and Audition 3 for free, or not.

Could I run Audition 3 on a new MacBook Air running Yosemite? I tried WINE, but without any luck. The Audition installer bombs out very early on. I then thought about using BootCamp to dual-boot the MacBook Air into WindowsXP – but no luck there either. Yosemite and the 2015 MacBook Airs do not support any version of Windows older than 8, and I don’t think Audition 3 plays nicely with Windows 8. It may be possible to install WindowsXP on a new MacBook without using BootCamp, but I have no idea how you’d get the relevant drivers to make XP work properly on Apple hardware.

So I thought I’d have a go at using a ‘virtual machine’ – I installed the free Oracle VirtualBox, and – purely as a proof of concept – installed WindowsXP from an OEM disc. (This Windows install will stop working in 30 days, when it demands to be activated.) I had problems getting VirtualBox to install off a Windows CD-ROM, so I made an ISO disk image of it using OS X Disk Utility (pick the ‘CD master’ option, and rename the resulting .CDR file .ISO), and it worked fine installing from that.

I was very doubtful it would work, but my golly the Audition installer ran perfectly, and it seems to be fast enough to play, edit and mix audio. I even put by MacBook Air to sleep, opened it this morning, Audition was still there and resumed playing instantly when I pressed the space bar. I even managed to record audio straight into Audition running in the virtual WindowsXP machine, using the MacBook Air’s internal microphone, with no tweaking or fiddling with settings. Which is just incredible really.

Mounting USB devices in the virtual XP machine is a bit counter-intuitive; if you plug a memory stick into your Mac, you then have to eject it in OS X, but leave it plugged in so you can then mount it in XP. But it works just fine. I can even see how my web pages look in Internet Explorer 8!

And CoolPlay works too, much more reliably than it does in WINE.

Now if only Microsoft would make WindowsXP free, or open source it…

Posted in computers, MacOS X, Windows | Tagged , , , , , , | 2 Comments