This is to be sung to the tune of ‘Still Alive‘ by Jonathan Coulton. I will post a recording, and probably a video, some time in the next few days.
This isn’t TRIUMF
We’re sending a beam through CMS.
Can’t wait to see some novel interactions.
Popular Science
will call up their troubadour(k)y man
To sing in praise of all of us
and he’ll sound better than this.
But there’s no sense cheering over every beam
they’ll just keep appearing till you have an umpteen
when the celebration’s done,
do your calibration run.
Tell the crackpots they’re all still alive.
We’re not yet colliding.
But soon we’ll be lighting up the barrel
with 14 TeV of former protons
We’ll smash them to pieces
and slam every piece into a wire
except the LSP because
it will go all the way through.
Now our points of data come from crystals of lead tungstate,
and we’re out of beta we’re releasing a few years late
but the science gets done,
and more funding will come
now you’ve seen that you’re all still alive.
We’ll find the Higgs boson.
We’ll find that the answer’s forty-two.
Maybe we can even find the question.
We’ll blow up the planet.
That was a joke. ha ha, fat chance.
Anyway, this spaceplane’s great,
let’s try to make it collide.
Look at me still talking when there’s science to do
when I look up there I think I see a mu-mu.
But we need to repair
see you in the new year,
In the meantime the DAQ’s still online.
And believe me we are still online.
We’re taking cosmics and we’re still online
And when there’s beam we will be still online
And ISOLDE will be still online
Because those show-offs had beam all the time.
All the time
still online
This is the Thing I didn’t feel like finishing last week.
In case you didn’t know, TRIUMF is a particle accelerator facility in Canada, CMS is the Compact Muon Solenoid, the best and most lead-tungstate-packed of the detectors on the Large Hadron Collider, which was originally slated to start up in 1998, but circulated its first beam in September 2008 and then had to be shut down again due to a helium leak soon afterwards. Jonathan Coulton is the contributing troubadour for Popular Science magazine, the LSP is the Lightest Supersymmetric Particle, which may be a stable particle which does not interact with anything in the detector, ISOLDE (three syllables) is a radioactive ion beam facility at CERN which has been running for years and years and don’t need no Large Hadron Collider, mu-mu is not a loose Hawaiian dress but a pair of muons, perhaps from the decay of some other particle, DAQ is data acquisition, and the spaceplane is a lie.
Is it obvious that I work on data acquisition for the lead-tungstate-packed CMS ECAL?
Since I’m not too confident in my singing abilities, I thought I’d get my computer to sing it instead, then it would at least sing in perfect pitch. Also, it kind of goes with the song, since the original was sung by an artificial intelligence. Although it would be better if my version were sung from the point of view of the LHC.
Getting a computer to speak is easy; Macs have been doing it since they first came out in 1984, and other computers did it before that. Getting it to sing is a little more difficult. For this I used the TUNE format, which is supported in Mac OS X 10.2 and later, to tell the speech synthesiser what frequencies to sing at. There’s an application called Repeat After Me which will generate the TUNE syntax for you, but it’s meant for normal speech intonation, based on frequencies rather than musical notes, and it’s pretty painstaking to get it to actually sing. So I spent the weekend delving into the speech synthesis APIs.
I added onto the Nonsense Poet application I created to write Les Élements, so that for each syllable you specify a musical note and a duration, and it converts the syllables to phonemes, the notes to frequencies, and writes a TUNE file for you. I’m in the process of entering all the notes (thanks to Colleen Kennedy for transcribing the song, so all I have to do is remember how to read music) and figuring out the right durations (by actually cutting up the original song, because I’ve found that it doesn’t sound as good if you just assume that each quarter note lasts the same amount of time.) I am nowhere near finished yet, since once I got the application working, I realised that I had better actually finish writing the lyrics and all this blurb before doing that. Essentially the lyrics are ruined by the fact that I spent most of my time playing with speech synthesis, and the speech synthesis isn’t ready yet because in the end, I still had to finish the lyrics. But this is a draft, and the cool thing is, once I’ve entered the notes and timings into my program, the lyrics can be changed and re-recorded very easily. I can also easily experiment with different voices… for testing I’ve been using Victoria.
So as I said, I’ll post a recording some time soon, but for now, here is a proof of concept. If you’re using Mac OS X 10.2 or higher, paste the following into any text field (except perhaps the ones in Firefox, which don’t tend to support normal system-wide features), go to the Edit menu, submenu Speech, and choose ‘Start Speaking’. Make sure you copy the [[inpt]] things at the start and end, otherwise it will assume it is normal text and your computer will be reading out numbers until next week (or until you click ‘Stop Speaking’.)
[[inpt TUNE]][[cmnt
syllable: DIHs note: G (392.001831 Hz) duration: 0.26 seconds ]]D {D 86.666664; P 392.001831:0} IH {D 86.666664; P 392.001831:0} s {D 86.666664; P 392.001831:0} [[cmnt
syllable: IHz note: F# (370.000488 Hz) duration: 0.24 seconds ]]IH {D 120.000000; P 370.000488:0} z {D 120.000000; P 370.000488:0} [[cmnt
syllable: IXnt note: E (329.633026 Hz) duration: 0.1 seconds ]]IX {D 33.333332; P 329.633026:0} n {D 33.333332; P 329.633026:0} t {D 33.333332; P 329.633026:0} [[cmnt
syllable: trAY note: E (329.633026 Hz) duration: 0.37 seconds ]]t {D 123.333336; P 329.633026:0} r {D 123.333336; P 329.633026:0} AY {D 123.333336; P 329.633026:0} [[cmnt
syllable: IXmf note: F# (370.000488 Hz) duration: 0.45 seconds ]]IX {D 150.000000; P 370.000488:0} m {D 150.000000; P 370.000488:0} f {D 150.000000; P 370.000488:0} % {D 480; P 349.234009:0} [[cmnt
syllable: wIYr note: A- (220.003799 Hz) duration: 0.13 seconds ]]w {D 43.333332; P 220.003799:0} IY {D 43.333332; P 220.003799:0} r {D 43.333332; P 220.003799:0} [[cmnt
syllable: sEHnd note: G (392.001831 Hz) duration: 0.43 seconds ]]s {D 107.500000; P 392.001831:0} EH {D 107.500000; P 392.001831:0} n {D 107.500000; P 392.001831:0} d {D 107.500000; P 392.001831:0} [[cmnt
syllable: IHN note: F# (370.000488 Hz) duration: 0.18 seconds ]]IH {D 90.000000; P 370.000488:0} N {D 90.000000; P 370.000488:0} [[cmnt
syllable: AX note: E (329.633026 Hz) duration: 0.13 seconds ]]AX {D 130.000000; P 329.633026:0} [[cmnt
syllable: bIYm note: E (329.633026 Hz) duration: 0.58 seconds ]]b {D 193.333328; P 329.633026:0} IY {D 193.333328; P 329.633026:0} m {D 193.333328; P 329.633026:0} [[cmnt
syllable: TrUW note: F# (370.000488 Hz) duration: 0.26 seconds ]]T {D 86.666664; P 370.000488:0} r {D 86.666664; P 370.000488:0} UW {D 86.666664; P 370.000488:0} % {D 480; P 349.234009:0} [[cmnt
syllable: sIY note: D (293.669708 Hz) duration: 0.37 seconds ]]s {D 185.000000; P 293.669708:0} IY {D 185.000000; P 293.669708:0} [[cmnt
syllable: EHm note: E (329.633026 Hz) duration: 0.47 seconds ]]EH {D 235.000000; P 329.633026:0} m {D 235.000000; P 329.633026:0} [[cmnt
syllable: EHs note: A- (220.003799 Hz) duration: 0.28 seconds ]]EH {D 140.000000; P 220.003799:0} s {D 140.000000; P 220.003799:0} [[inpt TEXT]]
It looks pretty messy, because with the TUNE format you have to write in phonemes instead of text, and specify the pitch and duration of each, but in case you feel inclined to read it, my application has added a few comments (in the [[cmnt]] blocks) saying the note and duration of each whole syllable. With the help of Chris Collins, who can actually read music, I’ve now fixed it to have the right notes. For comparison, since it only took a couple of extra mouse clicks in my application, here are the same parts of the original song:
[[inpt TUNE]][[cmnt
syllable: DIHs note: G (392.001831 Hz) duration: 0.26 seconds ]]D {D 86.666664; P 392.001831:0} IH {D 86.666664; P 392.001831:0} s {D 86.666664; P 392.001831:0} [[cmnt
syllable: IHz note: F# (370.000488 Hz) duration: 0.24 seconds ]]IH {D 120.000000; P 370.000488:0} z {D 120.000000; P 370.000488:0} [[cmnt
syllable: IX note: E (329.633026 Hz) duration: 0.1 seconds ]]IX {D 100.000000; P 329.633026:0} [[cmnt
syllable: trAY note: E (329.633026 Hz) duration: 0.37 seconds ]]t {D 123.333336; P 329.633026:0} r {D 123.333336; P 329.633026:0} AY {D 123.333336; P 329.633026:0} [[cmnt
syllable: AXmf note: F# (370.000488 Hz) duration: 0.45 seconds ]]AX {D 150.000000; P 370.000488:0} m {D 150.000000; P 370.000488:0} f {D 150.000000; P 370.000488:0} % {D 480; P 349.234009:0} [[cmnt
syllable: AYm note: A- (220.003799 Hz) duration: 0.13 seconds ]]AY {D 65.000000; P 220.003799:0} m {D 65.000000; P 220.003799:0} [[cmnt
syllable: mEYk note: G (392.001831 Hz) duration: 0.43 seconds ]]m {D 107.500000; P 392.001831:0} E {D 107.500000; P 392.001831:0} Y {D 107.500000; P 392.001831:0} k {D 107.500000; P 392.001831:0} [[cmnt
syllable: IHN note: F# (370.000488 Hz) duration: 0.18 seconds ]]IH {D 90.000000; P 370.000488:0} N {D 90.000000; P 370.000488:0} [[cmnt
syllable: AX note: E (329.633026 Hz) duration: 0.13 seconds ]]AX {D 130.000000; P 329.633026:0} [[cmnt
syllable: nOWt note: E (329.633026 Hz) duration: 0.58 seconds ]]n {D 193.333328; P 329.633026:0} OW {D 193.333328; P 329.633026:0} t {D 193.333328; P 329.633026:0} [[cmnt
syllable: hIYr note: F# (370.000488 Hz) duration: 0.26 seconds ]]h {D 86.666664; P 370.000488:0} IY {D 86.666664; P 370.000488:0} r {D 86.666664; P 370.000488:0} % {D 480; P 349.234009:0} [[cmnt
syllable: hyUWJ note: D (293.669708 Hz) duration: 0.37 seconds ]]h {D 92.500000; P 293.669708:0} y {D 92.500000; P 293.669708:0} UW {D 92.500000; P 293.669708:0} J {D 92.500000; P 293.669708:0} [[cmnt
syllable: sAXks note: E (329.633026 Hz) duration: 0.47 seconds ]]s {D 117.500000; P 329.633026:0} AX {D 117.500000; P 329.633026:0} k {D 117.500000; P 329.633026:0} s {D 117.500000; P 329.633026:0} [[cmnt
syllable: EHs note: A- (220.003799 Hz) duration: 0.28 seconds ]]EH {D 140.000000; P 220.003799:0} s {D 140.000000; P 220.003799:0} [[inpt TEXT]]
I’ll eventually make a video for this, with pictures of TRIUMF, Jonathan Coulton, and other things which need explanation, interspersed with my footage of people cheering as the first beam of protons was sent all the way around the LHC.