Gapless playback on Android!

I am disproportionately happy about something geeky again today :). I finally found an Android app that supports gapless playback properly.

This has annoyed me ever since my faithful iPod provided the perfect finale to one of the worst weekends of my life back in 2010 by suddenly dying completely and leaving me music-less just before a 5 hour car journey on my own. I decided to save money by getting a big memory card for my HTC Wildfire and putting all my music on there instead of replacing the iPod. Mostly this worked ok, but two things about the default Android music player app began to irritate me quite a lot. One is the fact that once you’ve started playing a song, there doesn’t seem to be any way to go back to the track list for that album or the album list for that artist. If you decide you want a different song by them (which I do quite often), you have to go right back to the start of the process and find them in the alphabetical list of artists again, then the album list, then the track list.

The other annoyance was the lack of gapless playback. On the iPod if you ripped a CD with tracks that were supposed to run straight into each other without a gap (like the first two tracks on Sergeant Pepper to give a well known example), they would play correctly and you wouldn’t even notice the transition. On Android there was always a gap between, no matter how you ripped them. This probably wouldn’t have bothered most people but I am (a) easily irritated when technology doesn’t do what I want, (b) the sort of person who likes to immerse myself in music and that doesn’t really work when there’s suddenly a jarring silence that’s not meant to be there, and (c) a big fan of several artists (Mike Oldfield, The Arcade Fire and Evanescence to name three) that tend to use quite a few gapless tracks on their albums.

I had a hunt around online for ways of getting gapless playback on Android, but it quickly became apparent that not many other people had managed to do it either. There were several apps that claimed they would do it… something called Museek tried to simulate gapless playback by slightly overlapping each track with the next one, the effect of which was, erm, “interesting” but still quite a long way off being seamless. Others could only do gapless if you went back and re-ripped each album as one single huge file instead of individual tracks. Others I think could only do it if they were running on a version of Android that supported it, which mine (2.2) doesn’t.

I was sure it must be possible, though, and last year I started hacking together an app to do it myself. The built in Android audio decoding libraries wouldn’t do gapless properly, but there was no reason you couldn’t bypass those and do the decoding in the app code instead – it would just be more work. After a few days I had an app that was capable of playing two OGG files with no gap whatsoever between them, but I got bored of it and it slipped way down my todo list before I’d got around to making it do anything useful.

And then today I found Poweramp… which uses exactly the same approach as my little app was going to, doing the decoding itself instead of using the Android system libraries. For the last few hours I’ve been stress testing it on all the gapless albums I can find and I’m very impressed. It even makes a decent attempt at removing the gaps when playing a file format that doesn’t support gapless (like standard MP3), though it’s only completely seamless when playing formats that do (OGG, etc.). I’m still using the trial version at the moment but I think this may be the first mobile app I actually end up paying for. Highly recommended 🙂

 

IVFDF 2012

IVFDF. The amazing, legendary Inter-Varsity Folk Dance Festival.

What more can you say about it? Well something, I hope, or this’ll be a very short blog entry.

This was my third IVFDF; I went to it in Durham in 2010 and again in Bristol last year. This time it was in Aberdeen so not so far to travel. I opted to drive myself up rather than go on the bus with the rest of the Edinburgh crowd so that I could stay an extra night after. For a while on Friday this seemed like the wrong decision as there was a last-minute panic about whether Kwik Fit would have finished replacing what sounded like pretty much all of my car’s suspension components in time (I have to say they weren’t living up to the first part of their name very well at all. Maybe that’s why they spell it wrong so that they can get off on a technicality). But it was done, with fifteen whole minutes to spare.

Despite the fact that most of my previous trips to Aberdeen were for things I’d rather not think about now, I actually still quite like the place, and I quite like the drive up as well. I stopped once, in a layby near Stonehaven, to find a geocache, then made it to the university campus by 7 as planned. At that point, as I wandered among the dark and mostly deserted buildings, I realised I should maybe have actually looked up where I was supposed to be meeting everyone rather than just assuming it would be easy to find. (I had the same realisation last year, funnily enough). After a while I ran into a nice couple who had the same problem. They’d come all the way from Switzerland… and I thought I’d travelled a long way last year when I went to Bristol!

We found the festival reception with the help of my smartphone and got registered. I was just ahead of the New Scotland bus. After they’d signed in it was straight off to the Friday night ceilidh, in Elphinstone Hall.

Nice hall, apart from (a) a very slippery floor that made me frightened to go too fast in case I ended up flying out the door, and (b) the fact that they suddenly stopped letting people in after a while, even people who’d just gone out for fresh air and wanted to come back in because their friends/possessions were still inside. This wouldn’t have been so unreasonable, but the door staff weren’t actually counting people in and out, so how could they possibly know when it had reached capacity?? An impromptu smaller ceilidh started up in one of the other buildings, which I went to for a while and was also fun.

Our sleeping accommodation was miles away (literally), and it wasn’t exactly the Hilton. Actually… technically it was the Hilton:

I never sleep very well on the floor and tonight was no exception. My new inflatable pillow already had a slow puncture and I’d forgotten my face mask so the light from outside the doors was keeping me awake until I decided that at this point I didn’t care how weird I looked and wrapped a scarf right round my head.

But the next morning I still felt a lot better than I had on the first morning of last year’s IVFDF. I guess 4 hours’ sleep on a floor is still preferable to a near-nervous-breakdown followed by 2 hours’ sleep on a floor (don’t ask, it’s a long story). By the time I’d traipsed back to the uni campus through the rain carrying most of my stuff, I decided that I desperately needed coffee, and also that I’d had enough of walking so I just got in my car and drove until I found a Wetherspoons that was open. (I’m afraid I’m one of these dreadful people who visits places and always ends up in Wetherspoons or Starbucks or even McDonalds… in theory I do like the idea of sampling the local cafes and giving them custom, but in practise I always seem to end up in a rush and just wanting a coffee or a burger and no surprises).

I was slightly disappointed to find their kitchen was closed and I could only get a coffee and no breakfast… but not half as disappointed as the two guys who found they weren’t allowed their two pints of Strongbow until 11am… last I saw of them they were desperately phoning someone to ask where in Aberdeen would sell them booze at 9am on a Saturday. Which seemed weird as I’d always have assumed the sort of people who want Strongbow at 9am would mostly be the sort who’d already discovered you can’t get it. Ah well. I took advantage of the time while I drank my two coffees to whip out my netbook, log my geocache find and start writing this blog entry.

Got back to the campus feeling much more awake, in time for the second block of dance workshops. There were plenty to choose from as always at IVFDF and I did a bit of Scottish Country followed by a bit of Contra, which is always fun. In the afternoon I stress-tested my new suspension components on some of Aberdeen’s wide selection of speed bumps and found the showers (which is more than I managed to do last year!). Once again my ignorance of the sporting world came back to bite me, as when I came out of the shower the street was swarming with football fans and it took ages to get my car out… I’d had no idea that the Aberdeen stadium was anywhere near, nevermind that they were playing today. When I looked at the map the stadium was indeed right there. I think my brain just filters them out normally.

Highlight of the afternoon was New Scotland’s “Lord Of The Rings” dem:

which I nearly missed due to being on the slowest bus EVAR back from town, but thankfully I only missed the very start and was there for the gripping finale.

On Saturday night there was a bigger selection of dances. I went to the Contra, intending to maybe check out the Scottish Country dance later on, but I made the mistake of eating too much first and after a few Contra dances I realised if I didn’t stop and get some fresh air, something very bad was likely to happen. (I didn’t actually eat that much at all, but Contra can be a bit like non-stop fast spinning, so even not very much is too much!).

Once again I only got about 4 hours sleep… but then the indoor camping was only £2 for the whole weekend so overall about 25p per hour’s sleep, which is not a bad rate. The coffee shop on campus wasn’t open by the time I stumbled in, so I had to go off on a quest for coffee, which ended in Wetherspoons again. Then… Highland workshop. (When I first started I didn’t know the difference between Highland dancing and Scottish Country. Highland is the one where you dance on your own and point your feet in different places, sometimes around swords, and make the stag’s antlers with your arms. Country is the one where you dance in a set with a partner). I must have been to at least five or six beginners’ Highland workshops since I took up dancing three years ago, and I never was able to quite get it. It just doesn’t come naturally to me at all. I could just about manage the steps, but as soon as I tried to add in the arms and the turning I would find myself turning the other way from everyone else and with the wrong arm up. Today, satisfyingly, I finally succeeded in doing a Highland Fling! (well, close enough). Not bad considering I was on 4 hours sleep.

After all that hard work, some light relief at the “Silly Dances” workshop was welcome. I’ve never done a dance before where the instructions include “Bounce!” and “Hug the person opposite you!”. There should definitely be more of them.

Finally, the festival closed with the Survivors’ Ceilidh, which I did manage to survive despite falling sideways off a chair. Next year’s festival in Sheffield was being heavily advertised. Looking forward to it already :).

The weekend was rounded off nicely by meeting Laura for some geocaching. It was a good haul: we managed to find two in Aberdeen (one in the centre and one on an industrial park on the outskirts), one by an old bridge near Laurencekirk, one amazingly close to the Kingsway in Dundee, and one in Dunfermline (that was a fun one as we had to walk around the abbey collecting clues first to decode the co-ordinates).

So yeah… good weekend 🙂 on the one hand it’s a shame there can’t be a dance weekend away every two weeks. On the other, it would probably kill me.

 

Dance Weekend in Wooler

A couple of weekends ago, I went for a weekend away in Wooler with my dance society. The dancing weekends are always good fun, but I was a bit worried about going back to the village where I was previously nearly knocked unconscious by a flying welly… so on balance I decided that if I came back without a Dunlop logo shaped scar on my head and a concussion, I’d consider the trip a success.

I actually quite enjoyed the coach journey down to Wooler. It made a nice change not to be driving and to have time and space to do some reading (a short story of my mum’s), some meditation, and some DS playing (finally got further in Mario 64 after being stuck for a while). It was also much quicker than I’d expected and we were there in less than two hours. Before the first dancing started there was time to find bedrooms and eat enormous fish suppers to build up our strength for the activity ahead. On the first night this consisted of a ceilidh (with live band!) followed by the traditional Chair Game (everyone sits in chairs in a circle. Someone in the middle shouts out a statement and if it applies to you, you move around the circle by some number of chairs. If there’s already someone sitting in that chair, you sit on top of them. If there’s already someone sitting on top of someone else there, you sit on top of them. If there’s already someone sitting on top of someone sitting on top of… well, you get the idea. Normally, the first person to make it back to their original chair wins… though on this occasion the game was drastically rigged in favour of new members, with statements like “If you’ve been a member of this club for more than a year, go back five places”. Rigged, I tell you).

I didn’t expect to sleep brilliantly the first night, and indeed I didn’t. I never do in hostels, even though this was a nice one that even had two pillows per bed and my roommates were pretty quiet. On the other hand I didn’t expect to be awakened by the Star Wars theme music blasting down the corridors at 8am (but I was!). It was certainly a more epic way to be wakened up than by a plastic Wallace saying “Morning Gromit, time for walkies!” in my ear, as I was accustomed too for many years.

A few cups of coffee later, and I was fine, or at least fine enough to do dance workshops and help in the kitchen, which was the important thing. Workshops included a fiendish Scottish Country dance called Platypus Reel which was probably deliberately designed to confuse people, a refresher course in Contra (a sort of fast moving American ceilidh equivalent, one of my favourites), and learning Mazurka (a Polish folk dance). Food consisted of some delicious dishes from the Kilted Libyan Chef, along with cupcakes decorated during a “Dessert Workshop” for people who wanted a break from dancing.

I also found the time to wander around the village and the hostel. I didn’t find the village green type place where the welly incident occurred, but that was probably for the best. The hostel had several nice murals painted on the walls:

(The ones in the toilets are not pictured. I decided it might be best not to hang around there holding a large camera).

On Saturday night after dinner was the highlight of the weekend – the main dance. This time, the theme was “Masquerade Ball”. I hadn’t had time during the week to make or buy a mask specially, so I had to make do with what I had in the flat. It came down to a choice between some flimsy little cardboard things… or this:

It was variously described as looking like a Mexican Ninja, a pirate, and several other things that I won’t mention to protect my more innocent readers. But it did the job, and won me a well-deserved “Most Disturbing Mask” prize at the end of the night. If it hadn’t been for Stefan’s homemade welding mask, I probably would have won “Most Unrecognisable Person” as well. (I originally bought the mask to use in a very silly parody of Breaking the Magician’s Code, in case you were wondering why I would own such a thing).

The evening was fun and involved plenty of Country dancing, Contra dancing, a bit of other dancing and finally the “other” chair game, during which I kept getting stuck in the middle. Maybe the mask was obstructing my peripheral vision so that I couldn’t see the vacant chairs in time. Or maybe I’m just rubbish at these things anyway.

Again I didn’t sleep very much (Ride of the Valkyries and James Bond served as the second morning’s wake-up call). Luckily there wasn’t very much to do today except clean up the hostel and then go for a walk up a nearby hill. It was actually more tiring than I expected, and so cold at the top that most of the group had to dance Mairi’s Wedding just to keep warm.

Thanks to the bus coming at 3pm instead of 2pm, we had some time after the walk to sit around the hostel and play the most unsuccessful game of Chinese Whispers I’ve ever played.

Anyway… thanks to a busy and tiring couple of weeks, this blog entry is a tad later than I’d planned, but I knew I had to get it done today… because tomorrow I’m off on another dance weekend away! This time to IVFDF 2012 in Aberdeen. This will be my 3rd IVFDF and if it lives up to the other two it should be a great trip. Blog entry probably to follow…