1 00:00:00,000 --> 00:00:07,000 Matt Westcott and The Museum of the History of Science present 2 00:00:07,000 --> 00:00:12,000 The Mahler Project 3 00:00:12,000 --> 00:00:16,000 In 1982, the Sinclair ZX Spectrum was launched. 4 00:00:16,000 --> 00:00:22,000 A computer which gave a generation of schoolchildren their first introduction to computer programming 5 00:00:22,000 --> 00:00:28,000 and started a computer revolution in the UK and beyond. 6 00:00:28,000 --> 00:00:31,000 Its success was largely due to the BASIC programming manual, 7 00:00:31,000 --> 00:00:35,000 written by the creator of Spectrum BASIC, Steven Vickers. 8 00:00:35,000 --> 00:00:41,000 It gave its young readers a friendly, accessible introduction to the world of computer programming. 9 00:00:41,000 --> 00:00:44,000 Chapter 19: BEEP. 10 00:00:44,000 --> 00:00:46,000 Summary: BEEP. 11 00:00:46,000 --> 00:00:50,000 If you haven’t already discovered that the ZX Spectrum has a loudspeaker built into it, 12 00:00:50,000 --> 00:00:53,000 read the Introductory booklet before carrying on. 13 00:00:54,000 --> 00:00:57,000 The loudspeaker is sounded by using the BEEP statement, 14 00:00:57,000 --> 00:01:02,000 BEEP duration, pitch. For example, type this program. 15 00:01:02,000 --> 00:01:05,000 When you run this, you should get the funeral march from Mahler’s first symphony - 16 00:01:05,000 --> 00:01:10,000 the bit where the goblins bury the US Cavalry man. 17 00:01:38,000 --> 00:01:44,000 The chapter ended with a challenge to the reader which probably wasn't meant to be taken too seriously. 18 00:01:44,000 --> 00:01:48,000 Exercise 2: Program the computer so that it plays not only the funeral march, 19 00:01:48,000 --> 00:01:52,000 but also the rest of Mahler’s first symphony. 20 00:01:52,000 --> 00:01:57,000 Even if someone had the patience to type in an entire symphony worth of BEEP commands, 21 00:01:57,000 --> 00:02:00,000 they would certainly run into other limitations: 22 00:02:00,000 --> 00:02:04,000 the Spectrum's 48K of memory, and its limited sound capabilities. 23 00:02:04,000 --> 00:02:07,000 Remember that because there is only one loudspeaker in the computer 24 00:02:07,000 --> 00:02:10,000 you can only play one note at a time. 25 00:02:10,000 --> 00:02:13,000 If you want any more you must sing it yourself. 26 00:02:13,000 --> 00:02:17,000 But if one Spectrum wasn't enough to do justice to Gustav Mahler, 27 00:02:17,000 --> 00:02:20,000 then what about a whole orchestra of them? 28 00:02:24,000 --> 00:02:28,000 Oxford, UK 6th December 2014 29 00:02:30,000 --> 00:02:35,000 I'm Scott Billings, public engagement officer at the Museum of the History of Science, 30 00:02:35,000 --> 00:02:42,000 and one of the exhibitions I worked on last year was an exhibition called Geek Out!. 31 00:02:42,000 --> 00:02:47,000 Geek Out! was a slightly cheeky way of taking lots of instruments from the museum's collection, 32 00:02:47,000 --> 00:02:50,000 that made a case for the fact that there have always been geeks. 33 00:02:50,000 --> 00:02:53,000 There have been geeks throughout history, into astronomy, 34 00:02:53,000 --> 00:03:00,000 geeks who are into amateur radio, and mathematics and calculation and so on. 35 00:03:00,000 --> 00:03:06,000 And as part of that exhibition, we had an area that was devoted to 1980s computing - 36 00:03:06,000 --> 00:03:10,000 the birth of the geek as we might think of them, the computer programmer. 37 00:03:10,000 --> 00:03:15,000 So we had an idea - we thought, wouldn't it be nice to have an event at the museum 38 00:03:15,000 --> 00:03:20,000 that picked up that idea, that got people to come into the museum, visitors, 39 00:03:20,000 --> 00:03:23,000 and let them have a go on some of this early hardware. 40 00:03:23,000 --> 00:03:28,000 Scott invited me to help run a ZX Spectrum gaming section at the event. 41 00:03:28,000 --> 00:03:30,000 As I started gathering machines from friends and contacts, 42 00:03:30,000 --> 00:03:35,000 I told him about my hare-brained idea of putting them together into an orchestra. 43 00:03:35,000 --> 00:03:38,000 To my amazement, he was keen to go along with it! 44 00:03:38,000 --> 00:03:41,000 The secret weapon would be the Spectranet interface, 45 00:03:41,000 --> 00:03:45,000 a new piece of hardware that allows the Spectrum to connect to the internet. 46 00:03:45,000 --> 00:03:51,000 It's previously been used for online games, IRC chat, and even to post to Twitter - 47 00:03:51,000 --> 00:03:54,000 but here it provided the communication channel between the Spectrums 48 00:03:54,000 --> 00:03:56,000 to keep them in sync. 49 00:03:56,000 --> 00:03:59,000 Dylan Smith, the creator of the Spectranet, 50 00:03:59,000 --> 00:04:02,000 was on hand with 12 interfaces, which we believe is a world record 51 00:04:02,000 --> 00:04:07,000 for the number of Spectrums networked in one place. 52 00:04:12,000 --> 00:04:15,000 Throughout the Spectrum's life, programmers found ways 53 00:04:15,000 --> 00:04:18,000 to squeeze better sound out of the Spectrum, 54 00:04:18,000 --> 00:04:21,000 and the later models added a dedicated sound chip 55 00:04:21,000 --> 00:04:24,000 to improve the audio capabilities further. 56 00:04:24,000 --> 00:04:27,000 For full authenticity, we didn't use any of this - 57 00:04:27,000 --> 00:04:31,000 just the plain BEEP instructions demonstrated in the manual. 58 00:04:32,000 --> 00:04:36,000 Of course, we had a bit of 21st century assistance. 59 00:04:36,000 --> 00:04:39,000 Today it's easy enough to download a MIDI version of the symphony from the web - 60 00:04:39,000 --> 00:04:43,000 and to convert that down into the musical scores for 12 Spectrums 61 00:04:43,000 --> 00:04:47,000 is just a routine programming task. But again, it was important 62 00:04:47,000 --> 00:04:50,000 that we stuck to the spirit of the original challenge. 63 00:04:50,000 --> 00:04:53,000 We couldn't just get a more powerful computer to trigger the notes: 64 00:04:53,000 --> 00:04:56,000 it had to come from the Spectrums themselves. 65 00:04:56,000 --> 00:04:59,000 At the heart of the network was a Raspberry Pi, 66 00:04:59,000 --> 00:05:01,000 but this was just providing the time source - 67 00:05:01,000 --> 00:05:04,000 the conductor of the orchestra, if you like. 68 00:05:09,000 --> 00:05:12,000 It was not so busy in the day at the museum, but as the moment approached, 69 00:05:12,000 --> 00:05:16,000 when Matt was going to link the Spectrums together, and set the music going, 70 00:05:16,000 --> 00:05:19,000 the gallery just filled up and up, and by the time that they were doing 71 00:05:19,000 --> 00:05:22,000 the final reboots and jiggling of wires and things like that, 72 00:05:22,000 --> 00:05:26,000 we had a big crowd of people - the gallery was filled with people. 73 00:05:26,000 --> 00:05:31,000 So there was a certain anticipation in the air, when finally 74 00:05:31,000 --> 00:05:36,000 Matt and Dylan got all the Spectrums behaving as they were supposed to behave - 75 00:05:36,000 --> 00:05:39,000 and then the beeps began. 76 00:05:42,000 --> 00:05:46,000 Of course, failures are inevitable with 30 year old hardware, 77 00:05:46,000 --> 00:05:49,000 and at least one of the Spectrums wasn't playing along. 78 00:05:49,000 --> 00:05:55,000 It should have joined in with the main melody some time around... now. 79 00:05:58,000 --> 00:06:00,000 But it didn't. 80 00:06:00,000 --> 00:06:05,000 So this was the longest 30 seconds of my life. 81 00:08:44,000 --> 00:08:47,000 Due to time constraints, we only played the third movement. 82 00:08:47,000 --> 00:08:50,000 The entire symphony is well over an hour, and it's fair to say 83 00:08:50,000 --> 00:08:53,000 that the novelty would have worn off after that long. 84 00:08:53,000 --> 00:08:57,000 But all the programming work was done - we demonstrated that it worked, 85 00:08:57,000 --> 00:09:02,000 and to us, that was enough to declare it a success. 86 00:09:17,000 --> 00:09:21,000 There was a big round of applause, for both the hardware and the human input into the day. 87 00:09:21,000 --> 00:09:24,000 So we were really pleased with the event at the museum, 88 00:09:24,000 --> 00:09:26,000 and our directors were very pleased too. 89 00:09:26,000 --> 00:09:30,000 News of the achievement quickly reached Steven Vickers - 90 00:09:30,000 --> 00:09:34,000 the manual's author, and the person who initially set the challenge. 91 00:09:34,000 --> 00:09:38,000 That is fantastic, and gave me great pleasure. 92 00:09:38,000 --> 00:09:41,000 But what a missed opportunity. If I had known that all I had to do 93 00:09:41,000 --> 00:09:47,000 was set a seemingly impossible Spectrum exercise and then, a mere 30 years later, 94 00:09:47,000 --> 00:09:50,000 people and Spectrums would band together and carry it out, 95 00:09:50,000 --> 00:09:54,000 we could have achieved such great things for the world. 96 00:09:54,000 --> 00:09:58,000 Dr Vickers is now on the look out for a suitable follow-up challenge 97 00:09:58,000 --> 00:10:01,000 to be solved over the next 30 years. 98 00:10:01,000 --> 00:10:04,000 So perhaps, by the year 2050, we'll be back again 99 00:10:04,000 --> 00:10:09,000 to see another piece of computing history being made.