annotate aotc2.php @ 9:0bfd4457b28f first version blogged on matthiasmauch.net

Removed tag help
author matthiasm
date Sun, 11 Jan 2015 21:26:08 +0000
parents de5bd0c7c7a3
children
rev   line source
matthiasm@0 1
matthiasm@0 2 <style>
matthiasm@0 3 #mmcontainer { position: relative; width: 370px; margin:0 auto; background: #fff; height: 500px; font-size:1em; }
matthiasm@0 4 #layer00, #layer01, #layer02, #layer03, #layer04, #layer05, #layer06, #layer07, #layer08,#layer09, #layer10, #layer11, #layer12 { position: absolute; width: 370px; height: 370px; background: transparent;}
matthiasm@2 5 #layer00 {background: url(./aotc2_files/spiderplot.png) no-repeat;}
matthiasm@2 6 #layer01 { background: url(./aotc2_files/spiderplotTheSexPistols.png) no-repeat;}
matthiasm@2 7 #layer02 { background: url(./aotc2_files/spiderplotTheStranglers.png) no-repeat;}
matthiasm@2 8 #layer03 { background: url(./aotc2_files/spiderplotTheJam.png) no-repeat;}
matthiasm@2 9 #layer04 { background: url(./aotc2_files/spiderplotBuzzcocks.png) no-repeat;}
matthiasm@2 10 #layer05 { background: url(./aotc2_files/spiderplotStatusQuo.png) no-repeat;}
matthiasm@2 11 #layer06 { background: url(./aotc2_files/spiderplotTheClash.png) no-repeat;}
matthiasm@2 12 #layer07 { background: url(./aotc2_files/spiderplotGladysKnightAndThePips.png) no-repeat;}
matthiasm@2 13 #layer08 { background: url(./aotc2_files/spiderplotHotChocolate.png) no-repeat;}
matthiasm@2 14 #layer09 { background: url(./aotc2_files/spiderplotEltonJohn.png) no-repeat;}
matthiasm@2 15 #layer10 { background: url(./aotc2_files/spiderplotQueen.png) no-repeat;}
matthiasm@2 16 #layer11 { background: url(./aotc2_files/spiderplotKateBush.png) no-repeat;}
matthiasm@2 17 #layer12 { background: url(./aotc2_files/spiderplotElkieBrooks.png) no-repeat;}
matthiasm@0 18 .hidden { display: none; }
matthiasm@0 19 .mmemph { font-style: italic; }
matthiasm@0 20 </style>
matthiasm@0 21
matthiasm@0 22 <h2>Clash of Attitudes</h2>
matthiasm@0 23
matthiasm@0 24 <h5><abbr>Thursday, 23 June 2011</abbr></h5>
matthiasm@0 25
matthiasm@4 26 <p class="mmemph">As promised last week our resident Research Fellow Matthias has been hard at work data-mining our music recordings for this new instalment of our Anatomy of the UK Charts series...</p>
matthiasm@0 27
matthiasm@4 28 <p>Not everyone is into dancing. As I showed you in last week's post our audio analysis algorithms can trace the rise of disco after 1974, but around that same time a colourful range of other new styles emerged, including hard rock, glam and art rock... and then there was that other genre: punk, the attitude-laden antidote to "established" music.</p>
matthiasm@0 29
matthiasm@0 30 <p>While we haven't actually come up with a measure of <i>attitude</i> in music, the fact that punk was the anti-establishment, non-musician's music made it relatively easy to track down... </p>
matthiasm@0 31
matthiasm@0 32 <h3>The Democratisaton of Making Music</h3>
matthiasm@0 33 <p class="mmemph">"This is a chord. This is another. This is a third. Now form a band."</p>
matthiasm@0 34 <p>According to the Guardian's <a href="http://www.guardian.co.uk/music/series/a-history-of-modern-music">History of Modern Music</a> these legendary instructions were first printed in the punk zine "Sideburns" in 1977. They are famous because they summarise the anyone-can-play attitude of early punk - the democratisation of making music. Well, if there's any truth in that, looking for harmonically simple music without fancy changes in sound colour should get us straight to punk. Will it?</p>
matthiasm@0 35
matthiasm@0 36 <p>We have a variety of signal processing algorithms that take an MP3 file, extract musical features from it, and then measure how much these features change over different time scales, from note to note, chord to chord, phrase to phrase or even between sections of a song. Looking at these rates of change can give us a good measure of musical complexity.</p>
matthiasm@0 37
matthiasm@0 38 <p>To see how complex the harmony of a song is, for example, we first extract "<a href="http://isophonics.net/nnls-chroma">chroma</a>" features. Chroma describes which notes are sounding at any time in the song. Then we look at how much the chroma changes over a time scale of around 3 seconds, which is the length that a chord is typically sustained. Using this method, lots of chord changes will lead to a high value for harmonic complexity.</p>
matthiasm@0 39
matthiasm@0 40 <p>Likewise for sound colour, usually called "<a href="http://en.wikipedia.org/wiki/Timbre">timbre</a>" in scientific circles, we start by computing a particular spectral feature that is heavily used in speech recognition: <a href="http://en.wikipedia.org/wiki/Mel-frequency_cepstrum">Mel-frequency cepstral coefficients</a> (MFCCs). The rate of change of these MFCCs at a time scale of about a second should get us a measure of timbral complexity. If the instructions from the zine are accurate then punk shouldn't have much harmonic or timbral complexity.</p>
matthiasm@0 41
matthiasm@6 42 <p>In the figure below we have plotted timbre complexity against harmonic complexity. The grey dots show the positions of all songs in our charts database from 1975 to 1980, and we have overlayed some colourful stars, each representing an artist with more than 5 hits. We selected the six least and the six most "complex" artists as ranked by the sum of the squares of our two complexity measures. The centre-point of each star is the median average of the artist's songs. You can select your favourite combination of artists from the list below. The play buttons start playback of the track that's "most typical" of the corresponding artist, i.e. that which is closest to the centre of the star. <em>[edit: sorry, Last.fm have removed many of the examples]</em></p>
matthiasm@0 43
matthiasm@0 44 <div id="mmcontainer">
matthiasm@0 45 <div id="controls">
matthiasm@0 46 <form id="form01" name="form01">
matthiasm@0 47 <div>
matthiasm@0 48 <div style="float:left;">
matthiasm@0 49 <b>No Future!</b><br>
matthiasm@0 50 <input id="chb01" name="chb01" type="checkbox" checked="">
matthiasm@0 51 <label for="chb01" id="label01">The Sex Pistols</label> <a href="http://play.last.fm/preview/41266.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 52 <input id="chb02" name="chb02" type="checkbox" checked="">
matthiasm@0 53 <label for="chb02" id="label02">The Stranglers</label> <a href="http://play.last.fm/preview/110438932.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 54 <input id="chb03" name="chb03" type="checkbox" checked="">
matthiasm@0 55 <label for="chb03" id="label03">The Jam</label> <a href="http://play.last.fm/preview/118333062.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 56 <input id="chb04" name="chb04" type="checkbox" checked="">
matthiasm@0 57 <label for="chb04" id="label04">Buzzcocks</label> <a href="http://play.last.fm/preview/111607925.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 58 <input id="chb05" name="chb05" type="checkbox" checked="">
matthiasm@0 59 <label for="chb05" id="label05">Status Quo</label> <a href="http://play.last.fm/preview/117066062.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 60 <input id="chb06" name="chb06" type="checkbox" checked="">
matthiasm@0 61 <label for="chb06" id="label06">The Clash</label> <a href="http://play.last.fm/preview/116822484.mp3" style="text-decoration: none;">&nbsp;</a>
matthiasm@0 62 </div>
matthiasm@0 63 <div>
matthiasm@0 64 <b>Let them eat cake!</b><br>
matthiasm@0 65 <input id="chb07" name="chb07" type="checkbox" checked="">
matthiasm@0 66 <label for="chb07" id="label07">Gladys Knight and the Pips</label> <a href="http://play.last.fm/preview/3021253.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 67 <input id="chb08" name="chb08" type="checkbox" checked="">
matthiasm@0 68 <label for="chb08" id="label08">Hot Chocolate</label> <a href="http://play.last.fm/preview/3600348.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 69 <input id="chb09" name="chb09" type="checkbox" checked="">
matthiasm@0 70 <label for="chb09" id="label09">Elton John</label> <a href="http://play.last.fm/preview/121473254.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 71 <input id="chb10" name="chb10" type="checkbox" checked="">
matthiasm@0 72 <label for="chb10" id="label10">Queen</label> <a href="http://play.last.fm/preview/124139701.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 73 <input id="chb11" name="chb11" type="checkbox" checked="">
matthiasm@0 74 <label for="chb11" id="label11">Kate Bush</label> <a href="http://play.last.fm/preview/124162424.mp3" style="text-decoration: none;">&nbsp;</a><br>
matthiasm@0 75 <input id="chb12" name="chb12" type="checkbox" checked="">
matthiasm@0 76 <label for="chb12" id="label12">Elkie Brooks <a href="http://play.last.fm/preview/112667005.mp3" style="text-decoration: none;">&nbsp;</a></label>
matthiasm@0 77 </div>
matthiasm@0 78 <div style="clear: both;"></div>
matthiasm@0 79 </div>
matthiasm@0 80 </form>
matthiasm@0 81 </div>
matthiasm@0 82 <div id="graph_ma" style="position: relative;">
matthiasm@0 83 <div id="layer00">&nbsp;</div>
matthiasm@0 84 <div id="layer01" class="hidden">&nbsp;</div>
matthiasm@0 85 <div id="layer02" class="hidden">&nbsp;</div>
matthiasm@0 86 <div id="layer03" class="">&nbsp;</div>
matthiasm@0 87 <div id="layer04" class="hidden">&nbsp;</div>
matthiasm@0 88 <div id="layer05" class="hidden">&nbsp;</div>
matthiasm@0 89 <div id="layer06" class="hidden">&nbsp;</div>
matthiasm@0 90 <div id="layer07" class="hidden">&nbsp;</div>
matthiasm@0 91 <div id="layer08" class="hidden">&nbsp;</div>
matthiasm@0 92 <div id="layer09" class="">&nbsp;</div>
matthiasm@0 93 <div id="layer10" class="hidden">&nbsp;</div>
matthiasm@0 94 <div id="layer11" class="hidden">&nbsp;</div>
matthiasm@0 95 <div id="layer12" class="hidden">&nbsp;</div>
matthiasm@0 96 </div>
matthiasm@0 97 </div>
matthiasm@0 98
matthiasm@0 99 <p>We find it fascinating that - as we would expect - all the famous punk bands such as The Sex Pistols, The Jam, The Stranglers, Buzzcocks and The Clash really do huddle together in the bottom left half of the chart; they really are the least complex of the lot. On the other end of the spectrum we have theatrical and arty performers such as Kate Bush and Queen.</p>
matthiasm@0 100
matthiasm@0 101 <p>In real life, there certainly was a clash of attitudes. When The Sex Pistols' Sid Vicious met Queen's front man he's reported to have asked: "Ah, Freddie Mercury, still bringing ballet to the masses are you?" to which Mercury replied "Oh yes, Mr Ferocious, dear, we are doing our best." While we can choose whether or not to believe that Mercury subsequently kicked Vicious out of the dressing room, we can clearly see that, in musical terms, punks and brainy rockers made sure they stayed clear of each other's territory.</p>
matthiasm@0 102
matthiasm@0 103 <h3>Not Just Punk</h3>
matthiasm@0 104 <p>Some rock bands not normally associated with punk seem to dispute the uncomplicated space of the 'real' punk rock bands: in the figure above, the down-to-earth Status Quo show up in an area quite close to the Buzzcocks. What's more if we rank not only artists with more than 5 hits but all with more than 3, it becomes clear that Status Quo are not the only rockers who have slipped in. Hard rock band Saxon leads the pack.</p>
matthiasm@0 105 <div>
matthiasm@0 106 <div style="float: left; padding: 5px;">
matthiasm@0 107 1. Saxon<br>
matthiasm@0 108 2. The Sex Pistols<br>
matthiasm@0 109 3. Black Sabbath<br>
matthiasm@0 110 4. UK Subs<br>
matthiasm@0 111 5. Cockney Rejects<br>
matthiasm@0 112 6. Motörhead<br>
matthiasm@0 113 7. Generation X
matthiasm@0 114 </div>
matthiasm@0 115 <div style="padding: 5px;">
matthiasm@0 116 8. The Stranglers<br>
matthiasm@0 117 9. The Jam<br>
matthiasm@0 118 10. Secret Affair<br>
matthiasm@0 119 11. Buzzcocks<br>
matthiasm@0 120 12. Status Quo<br>
matthiasm@0 121 13. Dave Edmunds<br>
matthiasm@0 122 14. The Dickies<br>
matthiasm@0 123 </div>
matthiasm@0 124 </div>
matthiasm@2 125 <p>... the full list is <a href="./aotc2_files/artist_complexity.txt">here</a>. </p>
matthiasm@0 126
matthiasm@0 127 <p>So while our measures of complexity do have a negative correlation with punk, they also correlate with other music. It seems as if we still have to develop that attitude detector in order to precisely nail down punk music. What we can quite confidently say though is that the second half of the 70s favoured "simple" music, as shown in the figure below.</p>
matthiasm@0 128
matthiasm@0 129 <p>Among all 15,000 chart tracks, we selected those 20% with the lowest squared sum of our two complexity measures and plotted what percentage of the charts they occupy in each year.</p>
matthiasm@0 130
matthiasm@0 131 <img src="./aotc2_files/141.png">
matthiasm@0 132
matthiasm@0 133 <p>Between 1963 and 1975 the percentage of "simple songs" in the charts doesn't deviate much from around 12%, then there's a dip in 1976, followed by a steep rise. That rise coincides with what can be called the birth of punk: The Sex Pistols' gig at the Lesser Free Trade Hall, Manchester. Only three years later, in 1979, the simplicity trend peaks at over 20%. We can only guess why the proportion then sinks again - does commercial punk not work, maybe? Today's punk purists seem to regard as real punk only stuff that happened before 1979 (punkfm.co.uk writes: "We ONLY play Punk Rock from 1976 to 1979.").</p>
matthiasm@0 134
matthiasm@0 135 <p>Further on in our series we'll see that punk was not at all a passing fad, as we uncover the re-birth of simple music in the late 80s, on a scale that makes the 70s punk wave seem a mere ripple. Before that we'll dissect the early eighties in next week's instalment: "The Curse of the Drum Machine".</p>
matthiasm@0 136
matthiasm@0 137 <div class="mmemph">
matthiasm@0 138
matthiasm@0 139 <h3>References and More Info</h3>
matthiasm@0 140 <p>You can calculate your own Mel-frequency cepstral coefficients with the <a href="http://www.vamp-plugins.org/plugin-doc/qm-vamp-plugins.html">Vamp plugin software</a> developed at Queen Mary, University of London. A plugin for chroma is available <a href="http://isophonics.net/nnls-chroma">here</a>, or you can read <a href="http://ismir2010.ismir.net/proceedings/ismir2010-25.pdf">my paper</a> about it. Unfortunately, the complexity measure is not publicly available yet, but we will make an update once it is.</p>
matthiasm@0 141 <p>The info on punk history was mainly taken from the Guardian's <a href="http://www.guardian.co.uk/music/series/a-history-of-modern-music">History of Modern Music</a>. The "Punk Girl" is a Creative Commons-licensed image from <a href="http://www.vectorportal.com/">Vectorportal</a>.</p>
matthiasm@0 142 <p>Data cheat: we did not have data for all singles of The Sex Pistols from 1975 to 1980 and therefore used all their songs (irrespective of chart date).</p>
matthiasm@0 143 </div>
matthiasm@0 144 <script type="text/javascript" async="" src="./aotc2_files/ga.js"></script><script src="./aotc2_files/jquery.min.js"></script>
matthiasm@0 145 <script type="text/javascript">$(document).ready( function() {
matthiasm@0 146 // alert('js activated');
matthiasm@0 147 $('hidden').hide();
matthiasm@0 148
matthiasm@0 149 $('#chb01').attr('checked', false);
matthiasm@0 150 $('#layer01').addClass('hidden');
matthiasm@0 151
matthiasm@0 152 $('#chb02').attr('checked', false);
matthiasm@0 153 $('#layer02').addClass('hidden');
matthiasm@0 154
matthiasm@0 155 $('#chb03').attr('checked', true);
matthiasm@0 156 $('#layer03').addClass('hidden');
matthiasm@0 157 $('#layer03').toggleClass('hidden');
matthiasm@0 158
matthiasm@0 159 $('#chb04').attr('checked', false);
matthiasm@0 160 $('#layer04').addClass('hidden');
matthiasm@0 161
matthiasm@0 162 $('#chb05').attr('checked', false);
matthiasm@0 163 $('#layer05').addClass('hidden');
matthiasm@0 164
matthiasm@0 165 $('#chb06').attr('checked', false);
matthiasm@0 166 $('#layer06').addClass('hidden');
matthiasm@0 167
matthiasm@0 168 $('#chb07').attr('checked', false);
matthiasm@0 169 $('#layer07').addClass('hidden');
matthiasm@0 170
matthiasm@0 171 $('#chb08').attr('checked', false);
matthiasm@0 172 $('#layer08').addClass('hidden');
matthiasm@0 173
matthiasm@0 174 $('#chb09').attr('checked', true);
matthiasm@0 175 $('#layer09').addClass('hidden');
matthiasm@0 176 $('#layer09').toggleClass('hidden');
matthiasm@0 177
matthiasm@0 178 $('#chb10').attr('checked', false);
matthiasm@0 179 $('#layer10').addClass('hidden');
matthiasm@0 180
matthiasm@0 181 $('#chb11').attr('checked', false);
matthiasm@0 182 $('#layer11').addClass('hidden');
matthiasm@0 183
matthiasm@0 184 $('#chb12').attr('checked', false);
matthiasm@0 185 $('#layer12').addClass('hidden');
matthiasm@0 186
matthiasm@0 187 $('#chb01').change( function() {
matthiasm@0 188 $('#layer01').toggleClass('hidden');
matthiasm@0 189 //alert ('chb01 toggled');
matthiasm@0 190 });
matthiasm@0 191 $('#chb02').change( function() {
matthiasm@0 192 $('#layer02').toggleClass('hidden');
matthiasm@0 193 });
matthiasm@0 194 $('#chb03').change( function() {
matthiasm@0 195 $('#layer03').toggleClass('hidden');
matthiasm@0 196 //alert ('chb01 toggled');
matthiasm@0 197 });
matthiasm@0 198 $('#chb04').change( function() {
matthiasm@0 199 $('#layer04').toggleClass('hidden');
matthiasm@0 200 //alert ('chb01 toggled');
matthiasm@0 201 });
matthiasm@0 202 $('#chb05').change( function() {
matthiasm@0 203 $('#layer05').toggleClass('hidden');
matthiasm@0 204 //alert ('chb01 toggled');
matthiasm@0 205 });
matthiasm@0 206 $('#chb06').change( function() {
matthiasm@0 207 $('#layer06').toggleClass('hidden');
matthiasm@0 208 //alert ('chb01 toggled');
matthiasm@0 209 });
matthiasm@0 210 $('#chb07').change( function() {
matthiasm@0 211 $('#layer07').toggleClass('hidden');
matthiasm@0 212 //alert ('chb01 toggled');
matthiasm@0 213 });
matthiasm@0 214 $('#chb08').change( function() {
matthiasm@0 215 $('#layer08').toggleClass('hidden');
matthiasm@0 216 //alert ('chb01 toggled');
matthiasm@0 217 });
matthiasm@0 218 $('#chb09').change( function() {
matthiasm@0 219 $('#layer09').toggleClass('hidden');
matthiasm@0 220 //alert ('chb01 toggled');
matthiasm@0 221 });
matthiasm@0 222 $('#chb10').change( function() {
matthiasm@0 223 $('#layer10').toggleClass('hidden');
matthiasm@0 224 //alert ('chb01 toggled');
matthiasm@0 225 });
matthiasm@0 226 $('#chb11').change( function() {
matthiasm@0 227 $('#layer11').toggleClass('hidden');
matthiasm@0 228 //alert ('chb01 toggled');
matthiasm@0 229 });
matthiasm@0 230 $('#chb12').change( function() {
matthiasm@0 231 $('#layer12').toggleClass('hidden');
matthiasm@0 232 //alert ('chb01 toggled');
matthiasm@0 233 });
matthiasm@0 234
matthiasm@0 235 });</script>
matthiasm@5 236
matthiasm@5 237 <!--
matthiasm@0 238 <script type="text/javascript">var YMPParams = { autoplay:false, displaystate:3 };</script>
matthiasm@5 239 <script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>
matthiasm@5 240 -->
matthiasm@0 241
matthiasm@0 242
matthiasm@0 243