{"id":2196,"date":"2025-02-11T08:15:41","date_gmt":"2025-02-11T08:15:41","guid":{"rendered":"https:\/\/exponentialdecay.co.uk\/blog\/?p=2196"},"modified":"2025-12-01T16:59:49","modified_gmt":"2025-12-01T16:59:49","slug":"the-sensitivity-index-corrupting-y2k","status":"publish","type":"post","link":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/","title":{"rendered":"The sensitivity index: Corrupting Y2K"},"content":{"rendered":"<p>In December I asked &#8220;<a href=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" target=\"_blank\" rel=\"noopener\">What will you bitflip today?<\/a>&#8221; Not long after, Johan&#8217;s (<a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/digipres.club\/@bitsgalore\">@bitsgalore<\/a>) Digtial Dark Age Crew released its long lost hidden single <a href=\"https:\/\/www.bitsgalore.org\/2024\/12\/30\/y2k\" target=\"_blank\" rel=\"noopener\">Y2K<\/a> &#8212; well, I couldn&#8217;t resist corrupting it.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2241\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png\" alt=\"Image showing a hugely glitched file in Audacity. The waveforms should largely be the same in both stereo channels but they are not.\" width=\"1687\" height=\"612\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png 1687w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-500x181.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-1024x371.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-768x279.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-1536x557.png 1536w\" sizes=\"auto, (max-width: 1687px) 100vw, 1687px\" \/><\/a><\/p>\n<p>Fixity is an interesting property enabled by digital technologies. <a href=\"https:\/\/ross-spencer.github.io\/digipres-glossary\/#fixity\" target=\"_blank\" rel=\"noopener\">Checksums<\/a> allow us to demonstrate mathematically that a file has not been changed. An often cited definition of fixity is:<\/p>\n<blockquote><p>Fixity, in the preservation sense, means the assurance that a digital file has remained unchanged, i.e. fixed &#8212; <a href=\"https:\/\/blogs.loc.gov\/thesignal\/2014\/04\/protect-your-data-file-fixity-and-data-integrity\/\" target=\"_blank\" rel=\"noopener\">Bailey<\/a> (2014)<\/p><\/blockquote>\n<p>It&#8217;s very much linked to the concept of integrity. A <a href=\"https:\/\/unesdoc.unesco.org\/ark:\/48223\/pf0000130071\" target=\"_blank\" rel=\"noopener\">UNESCO definition<\/a> of which:<\/p>\n<blockquote><p>The state of being whole, uncorrupted and free of unauthorized and undocumented changes.<\/p><\/blockquote>\n<p>Integrity is massively important at this time in history. It gives us the guarantees we need that digital objects we work with aren&#8217;t harboring their own sinister secrets in the form of malware and other potentially damaging payloads.<\/p>\n<p>These values are contingent on bit-level preservation, the field of digital preservation largely assumes this; that we will be able to look after our content without losing information. As feasible as this may be these days, what happens if we lose <em>some<\/em> information? Where does authenticity come into play?<\/p>\n<p>Through corrupting Y2K, I took time to reflect on integrity versus authenticity, as well as create some interesting glitched outputs. I also uncovered what may be the first audio that reveals what the Millennium Bug itself may have sounded like! Keen to hear it? Read on to find out more.<\/p>\n<p><!--more--><\/p>\n<h2>Glitching Y2K<\/h2>\n<p>First, let me begin, as I will end by highlighting the musical genius that is the Digital Dark Age Crew&#8217;s Y2K &#8212; please take a look at its <a href=\"https:\/\/www.bitsgalore.org\/2024\/12\/30\/y2k\" target=\"_blank\" rel=\"noopener\">backstory;<\/a> and give it a few more plays on YouTube.<\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/pJ86meMFqT8?si=dsMZGmidMITUc9Y6\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" data-mce-fragment=\"1\"><\/iframe><\/p>\n<hr \/>\n<h2><strong>Content warnings<\/strong><\/h2>\n<h3>For audiophiles and those sensitive to sound<\/h3>\n<p>Audiophiles, and those sensitive to sound might want to avoid pressing play on some of the content below, it gets, very, very glitchy!<\/p>\n<p><em>NB. If you do, what do you feel? I found listening back to some of the audio created some feeling of foreboding and anxiety, I&#8217;m not sure if this is a property of the audio, or something deeper inside me.<\/em><\/p>\n<h3>For digital preservationists<\/h3>\n<p>We&#8217;re going to go outside of the norms of the discipline towards the end of this blog (digital preservation <a href=\"https:\/\/www.youtube.com\/shorts\/hB579XpETrI\" target=\"_blank\" rel=\"noopener\">without a net<\/a>!). Please, reflect, and comment, I&#8217;d love to hear your thoughts; but please also just keep in mind it&#8217;s an idle exploration as a result of some of the experiments here today.<\/p>\n<p>Content warnings done, let&#8217;s press \u25b6\ufe0f<\/p>\n<hr \/>\n<h2>Primed for corruption!<\/h2>\n<p>After my <a href=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" target=\"_blank\" rel=\"noopener\">first blog<\/a> on this I was keen to follow up with some more experiments. Given the timing of Johan&#8217;s post, I felt like it might be a sign to give it a whirl.<\/p>\n<p>I have spent a lot of time looking quite shallowly at a lot of formats and so I am not a specialist in any one file format.<\/p>\n<p>The last time I truly played around with audio, other than formatting my music collection, ripping CDs, or downloading and converting different audio snippets, was probably at high-school, where messing with lo-fi sound bytes was in fashion for us lab nerds.<\/p>\n<p>I didn&#8217;t know where to begin with Johan&#8217;s audio, but respecting fair-use for the purposes of education as much as possible, I knew I needed a small snippet of the file. I also knew that there is a lot of information in an audio file and a lot to try and present in even just a few seconds, and so I took a small 10 second snippet of a passage that I liked.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2218\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity.png\" alt=\"A snippet of audio as shown in Audacity. The image shows the audio's waveform and spectograph.\" width=\"1688\" height=\"738\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity.png 1688w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity-500x219.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity-1024x448.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity-768x336.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/y2k_wav_audacity-1536x672.png 1536w\" sizes=\"auto, (max-width: 1688px) 100vw, 1688px\" \/><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2030007448%3Fsecret_token%3Ds-lagQOOytbPF&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"Y2K: 10 second snippet\" href=\"https:\/\/soundcloud.com\/exponential-decay\/y2k-10-second-snippet\/s-lagQOOytbPF\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">Y2K: 10 second snippet<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>The snippet gave me a baseline from which I could begin trying to glitch the content.<\/p>\n<h2>A question of codec<\/h2>\n<p>I do not know how many codecs FFMPEG supports, but if you run <code>ffmpeg -codecs<\/code> you will see 100s of audio-visual (AV) codecs available.<\/p>\n<p>As mentioned I am not an AV specialist, this is a specialist function within the GLAM sector. What I do know is that the choice of codec will affect how glitching works and how it eventually gets played back through various media players like <a href=\"https:\/\/www.videolan.org\/\" target=\"_blank\" rel=\"noopener\">VLC<\/a>.<\/p>\n<p>I took an easy path to selecting a codec and put the snippet of Y2K into Audacity for re-export and selected the ones I had previously heard of, or thought sounded cool. I would then take these samples and try to corrupt them one by one.<\/p>\n<p>My final list looked as follows.<\/p>\n<h3>Formats and Codecs<\/h3>\n<pre>{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.ac3\",\r\n        \"format_name\": \"ac3\",\r\n        \"format_long_name\": \"raw AC-3\",\r\n    }\r\n} \r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.flac\",\r\n        \"format_name\": \"flac\",\r\n        \"format_long_name\": \"raw FLAC\",\r\n    }\r\n}\r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.mka\",\r\n        \"format_name\": \"matroska,webm\",\r\n        \"format_long_name\": \"Matroska \/ WebM\",\r\n    }\r\n}\r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.ogg\",\r\n        \"format_name\": \"ogg\",\r\n        \"format_long_name\": \"Ogg\",\r\n    }\r\n}\r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.opus\",\r\n        \"format_name\": \"ogg\",\r\n        \"format_long_name\": \"Ogg\",\r\n    }\r\n}\r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.pcm\",\r\n        \"format_name\": \"matroska,webm\",\r\n        \"format_long_name\": \"Matroska \/ WebM\",\r\n    }\r\n}\r\n{\r\n    \"format\": {\r\n        \"filename\": \"ddac-y2k-snippet.wav\",\r\n        \"format_name\": \"wav\",\r\n        \"format_long_name\": \"WAV \/ WAVE (Waveform Audio)\",\r\n    }\r\n}\r\n<\/pre>\n<h2>A script for corruption<\/h2>\n<p>I created a bash script that does a number of things:<\/p>\n<ol>\n<li>creates a derivative file from a source input.<\/li>\n<li>flips a percentage of bits at random using <a href=\"https:\/\/github.com\/aybabtme\/bitflip\" target=\"_blank\" rel=\"noopener\">bitflip<\/a>.<\/li>\n<li>creates a waveform of the new derivative.<\/li>\n<li>repeats the process using the last flipped derivative of the file.<\/li>\n<li>exits when a waveform can no longer be generated.<\/li>\n<\/ol>\n<p>The script looks as follows:<\/p>\n<pre>#! \/usr\/bin\/bash\r\n\r\nFNAME=\"$1\"\r\n\r\nDIRNAME=\"WAVEFORM-$1\"\r\nAUDIODIRNAME=\"AUDIO-$1\"\r\n\r\nrm -rf \"$DIRNAME\"\r\nmkdir \"$DIRNAME\"\r\n\r\nrm -rv \"$AUDIODIRNAME\"\r\nmkdir \"$AUDIODIRNAME\"\r\n\r\nflip() {\r\n  # bitflip 0.001% of a file at random.\r\n  $(bitflip spray percent:0.001 \"$1\")\r\n  cp \"$1\" \"$2-$1\" \r\n}\r\n\r\nwaveform() {\r\n  # create a wavefovm(from an audio file.\r\n  ffmpeg \\\r\n    -i \"$1\" \\\r\n    -f lavfi \\\r\n    -i color=c=black:s=1280x640 \\\r\n    -filter_complex \"[0:a]showwavespic=s=1280x640:colors=white[fg];[1:v][fg]overlay=format=auto\" \\\r\n    -frames:v 1 \\\r\n    -hide_banner \\\r\n    -loglevel fatal \\\r\n    \"$2_out.png\" \r\n    status=$(echo $?)\r\n    return $status\r\n}\r\n\r\nsum() {\r\n  # get the checksum of a blank frame. (currently unused)\r\n  md5 $(md5sum \"$1\")\r\n  if [[ \"$md5\" == \"232069063dee33e87fe588ce0ccdc4c0\" ]]\r\n  then\r\n    return 1\r\n  fi\r\n  return 0\r\n}\r\n\r\nstatus=0\r\nidx=0\r\nwhile [ $status -le 0 ]\r\ndo\r\n  printf -v zp \"%05d\" $idx\r\n  echo $zp\r\n  flip \"$FNAME\" \"$AUDIODIRNAME\/$zp\"\r\n  waveform \"$FNAME\" \"$DIRNAME\/$zp\"\r\n  idx=$(( $idx + 1 ))\r\ndone\r\n\r\n<\/pre>\n<p><em>NB. The <code>sum()<\/code> function is excess but potentially useful as it describes an empty waveform frame. We can maybe exit the script when we first see an empty waveform, or skip the output, but we don&#8217;t do this in these experiments.<\/em><\/p>\n<p>The script allows me to experiment on my seven files, and this is where it starts to get interesting.<\/p>\n<h2>Some formats break, some formats bend<\/h2>\n<p>I started flipping a relatively high percentage of bits per iteration using bitflip. I would find some formats broke quite easily and nothing could be rendered from them and so I had to find a percentage that might work better.<\/p>\n<p>I settled on 0.001%. For each of the formats this looks as follows:<\/p>\n<table>\n<tbody>\n<tr>\n<th>format<\/th>\n<th>percentage<\/th>\n<\/tr>\n<tr>\n<td>pcm<\/td>\n<td>flipping 12 bits out of 1.219088 Mbits (0.001% of 149 KiB) in file<\/td>\n<\/tr>\n<tr>\n<td>wav<\/td>\n<td>flipping 153 bits out of 15.302352 Mbits (0.001% of 1.8 MiB) in file<\/td>\n<\/tr>\n<tr>\n<td>opus<\/td>\n<td>flipping 12 bits out of 1.218616 Mbits (0.001% of 149 KiB) in file<\/td>\n<\/tr>\n<tr>\n<td>ogg<\/td>\n<td>flipping 16 bits out of 1.667504 Mbits (0.001% of 204 KiB) in file<\/td>\n<\/tr>\n<tr>\n<td>mp3<\/td>\n<td>flipping 24 bits out of 2.408424 Mbits (0.001% of 294 KiB) in file<\/td>\n<\/tr>\n<tr>\n<td>ac3<\/td>\n<td>flipping 15 bits out of 1.59744 Mbits (0.001% of 195 KiB) in file<\/td>\n<\/tr>\n<tr>\n<td>flac<\/td>\n<td>flipping 91 bits out of 9.196144 Mbits (0.001% of 1.1 MiB) in file<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>I realized quickly I really only had two candidates robust enough to maybe get some interesting glitches out of. Even flipping 0.001 bits, some formats would only continue to render for one or two cycles. The cycle counts are below:<\/p>\n<table>\n<tbody>\n<tr>\n<th>format<\/th>\n<th>cycles<\/th>\n<\/tr>\n<tr>\n<td>pcm<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>wav<\/td>\n<td>201<\/td>\n<\/tr>\n<tr>\n<td>opus<\/td>\n<td>12<\/td>\n<\/tr>\n<tr>\n<td>ogg<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>mp3<\/td>\n<td>14,991<\/td>\n<\/tr>\n<tr>\n<td>ac3<\/td>\n<td>730<\/td>\n<\/tr>\n<tr>\n<td>flac<\/td>\n<td>187<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Bad candidates: OGG, PCM, and OPUS<\/h3>\n<p>These formats didn&#8217;t really glitch, in that the audio didn&#8217;t so much as corrupt, or change in quality, as just disappear, or stop playing entirely. There were relatively few iterations, and it looks like players do not have very good error correcting capabilities for these formats. Outside of this blog, I would probably have to spend a year trying to understand why this is the case, but we&#8217;ll revisit this a little bit in the conclusions later.<\/p>\n<h3>Good candidates: MP3, and AC3<\/h3>\n<p>These two files just kept on going! I can&#8217;t say that I loved their &#8220;glitches&#8221; (below) but the properties of these files that enabled so many derivatives to be created was truly fascinating, again, we&#8217;ll visit this later.<\/p>\n<h3>Mystery candidate: FLAC<\/h3>\n<p>I&#8217;m going to show the waveform created for flac. The mystery here is that the file is immediately unrecognizable to players after two iterations (almost empty in VLC with just some burst of sound), and entirely unplayable\/corrupt after 4. The audio shows as completely empty in Audacity. The FFMPEG waveform, however, continues to be generated for 188 cycles.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/flac_corruption_cycles.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2230\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/flac_corruption_cycles.gif\" alt=\"Image showing the changing waveform of FLAC as it is slowly corrupted.\" width=\"1280\" height=\"640\" \/><\/a><\/p>\n<p>The images suggest that it may be possible to retrieve something from this file, perhaps, if the format itself could be repaired, the codec underneath ensures some of the data remains playable?<\/p>\n<h3>Workhorse candidate: WAV<\/h3>\n<p>The WAV snippet performed admirably. That being said, its output remained very consistent, with each cycle only really adding noise to the audio, before the format itself was just too corrupt to play. You can see in the waveform that noise appears as a much more dense waveform, and a much spikier waveform in places.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2234\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2.png\" alt=\"Comparison of two wav files side by side. The lower half of the image is a derivative of the first and shows more noise than the original, although it has many of the same properties as the original as well.\" width=\"1840\" height=\"907\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2.png 1840w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2-500x246.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2-1024x505.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2-768x379.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_2-1536x757.png 1536w\" sizes=\"auto, (max-width: 1840px) 100vw, 1840px\" \/><\/a><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1.png\"><br \/>\n<\/a><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2233\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1.png\" alt=\"Comparison of two wav files side by side. The lower half of the image is a derivative of the first and shows more noise than the original, although it has many of the same properties as the original as well.\" width=\"1840\" height=\"907\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1.png 1840w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1-500x246.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1-1024x505.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1-768x379.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_wav_1-1536x757.png 1536w\" sizes=\"auto, (max-width: 1840px) 100vw, 1840px\" \/><\/p>\n<h2>So, MP3 and AC3<\/h2>\n<p>How do we do this?<\/p>\n<h3>Waveform first<\/h3>\n<p>I really like the waveform view of the results. I cheated to create this image with MP3 (just a little) by using an earlier glitch, corrupting 0.05% bits at a time, resulting in ~1500 derivatives. For AC3 I use the complete set of 730:<\/p>\n<h4>MP3<\/h4>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/00000_out_mp3.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2232\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/00000_out_mp3.gif\" alt=\"Animation of an ever changing waveform generated by corrupting an MP3 file over and over again\" width=\"1280\" height=\"640\" \/><\/a><\/p>\n<p>I like how the MP3 just keeps on going.<\/p>\n<p>Because I am using a bit flipping technique to corrupt these files, data is continually being warped; bit values are constantly changing from 0 to 255 with each change upon another change having an impact on what we see. I feel like we get a clear picture of the impact of this in the MP3 example where there are entirely blank frames &#8211; it&#8217;s like we deleted all the data in the file, but as placeholders for &#8220;new data&#8221; flipping the bits means that further data seems to appear from nowhere.<\/p>\n<h4>AC3<\/h4>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/00000_out_ac3.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2231\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/00000_out_ac3.gif\" alt=\"Animation of an ever changing waveform generated by corrupting an AC3 file over and over again\" width=\"1280\" height=\"640\" \/><\/a><\/p>\n<p>The AC3 example is intriguing because the structure of its shape seems to remain consistent until it all of a sudden becomes very coarse and saw-tooth like.<\/p>\n<h4>Recurring patterns<\/h4>\n<p>Across MP3 and AC3 as I continue to play with the output, I saw, at least for my relatively naive approach to glitching, that the shapes in the images above seemed to be consistent across other attempts. The eventual &#8220;saw-toothing&#8221; of the AC3 for example occurred many times during my experiments. MP3&#8217;s robustness saw it on different attempts seemingly glitch out of existence before reappearing and dying.<\/p>\n<h3>Audio second<\/h3>\n<p>This is where I ask you once again to proceed with caution. The audio here gets pretty rough!<\/p>\n<figure id=\"attachment_2238\" aria-describedby=\"caption-attachment-2238\" style=\"width: 1920px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2238\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs.jpg\" alt=\"Image of me circa 2018\/2019 in Beroun, CZ. I'm super-imposed on the everything is fine meme depicting a cartoon of everything being on fire.\" width=\"1920\" height=\"1080\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs.jpg 1920w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs-500x281.jpg 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs-1024x576.jpg 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs-768x432.jpg 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/everything-is-fine-rs-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><figcaption id=\"caption-attachment-2238\" class=\"wp-caption-text\">EVERYTHING IS FINE!<\/figcaption><\/figure>\n<h4>MP3<\/h4>\n<p>It is, perhaps, the quality of the audio that we should reflect on with both the files created during these experiments. I took 9 samples from each output and combined them. We can ask, when does the audio start becoming too difficult to understand? Did we get any cool glitching?<\/p>\n<p>MP3 is available to play below.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2028049172%3Fsecret_token%3Ds-2RcdMDYqgsq&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"Y2K:00000:00150:00500:01000:02000:04000:09610:11000:14450\" href=\"https:\/\/soundcloud.com\/exponential-decay\/y2k000000015000500010000200004000096101100014450\/s-2RcdMDYqgsq\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">Y2K:00000:00150:00500:01000:02000:04000:09610:11000:14450<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>I feel like around the 150th derivative the MP3 starts to lose enough fidelity to continue to be able to easily understand what it is. By the 500th iteration this really is the case, and beyond there we get a lot of noise before the format fades out very quickly.<\/p>\n<p>I&#8217;ve included the MP3&#8217;s dying embers in the output above.<\/p>\n<p>Did we get any cool glitching? Reading around forums, folks have expressed an sense of being underwater in the way MP3 glitches, this seems to happen here. Unfortunately I feel like the glitching we do get is really just digital noise (maybe as you might expect) and we don&#8217;t get any real emergent output, e.g. the quality of the original track doesn&#8217;t change in any significant way, it just gets worse. But what\u00a0 do you think?<\/p>\n<h4>AC3<\/h4>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2029979412%3Fsecret_token%3Ds-bvIWFSuEgo0&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"Y2K:00000:00020:00055:00101:00200:00400:00500:00606:00730\" href=\"https:\/\/soundcloud.com\/exponential-decay\/y2k000000002000055001010020000400005000060600730\/s-bvIWFSuEgo0\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">Y2K:00000:00020:00055:00101:00200:00400:00500:00606:00730<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>The AC3 is quite &#8220;nice&#8221; in the 55th and 101st iterations we can hear bleeps and clicks that feel new and robotic. The audio quickly gets worse after that and starts to sound like a cyborg malfunctioning, and not getting any better!<\/p>\n<p>For me, the way the AC3 degrades is somehow the most anxiety inducing, I really don&#8217;t like it as it gets towards the end after its 700+ cycles.<\/p>\n<p>BUT taking the positives, what I do like, I mean, really really like is that both files can take this punishment and deliver recognizable audio for a good number of bitflips &#8212; this is worth reflecting on.<\/p>\n<h2>Time to be diplomatics<\/h2>\n<p>Digital preservation is tied to integrity. We work on the property of being &#8220;fixed&#8221;, i.e. fixity. We gamble on redundancy and ask our preservation systems to continue this property for us with lots of copies keeping stuff safe (LOCKSS) and lots of integrity checking. Yet, the world is messy. What if something goes wrong? What if we lose integrity? How are we discussing authenticity more widely in digital preservation? How do we prepare ourselves to show something is authentic even if something goes wrong? e,g. we lose data?<\/p>\n<p>An example, we have information encoded in FLAC, it&#8217;s generally received wisdom that it is a good format because it uses lossless compression to store audio at its highest fidelity (read: it makes it cheaper). Yet, in the experiments above we can lose access to its payload very easily. MP3 on the other hand, resists corruption for a number of iterations, we can still gleam from the audio information that makes sense to us, we can hear speech, a bass-line, we know it&#8217;s electronic music of some sort. The MP3 no longer has any of the properties of integrity, its checksums so wildly changed, but, it is analogue-like in its gradual, and somewhat graceful decay. Does the MP3&#8217;s properties here lend itself better to preserving information than the more &#8220;sound&#8221; FLAC?<\/p>\n<p>It reminds me of the discipline of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Diplomatics\" target=\"_blank\" rel=\"noopener\">diplomatics<\/a> which provides us with the tools to understand the authenticity of official records &#8212; some of the materials, especially in the analog sense, may be corrupting in their own ways, faded inks, smudged writing, sun-damaged paper, and nothing getting any younger. Yet! We can make statements about the authenticity, or possible authenticity of something. The discipline relies on access to information. In four out of the seven scenarios above, we lose access to information entirely (at least not without much deeper forensic analysis and remediation), what would we do to understand these records then?<\/p>\n<h3 id=\"sensitivity-index\">A sensitivity index?<\/h3>\n<p>Given all of this, could we naively create a sensitivity (<em>to corruption<\/em>) index for the file formats in our collections? If we numbered the index high for easily corruptible data to low for difficult to corrupt data, what would we see?<\/p>\n<p>If we created a family related index based on the above audio formats, what would the results of the index be?<\/p>\n<table>\n<tbody>\n<tr>\n<th>format<\/th>\n<th>cycles<\/th>\n<th>audible cycles<\/th>\n<th>sensitivity index<\/th>\n<\/tr>\n<tr>\n<td>pcm<\/td>\n<td>5<\/td>\n<td>5<\/td>\n<td>97.5%<\/td>\n<\/tr>\n<tr>\n<td>wav<\/td>\n<td>201<\/td>\n<td>200<\/td>\n<td>0%<\/td>\n<\/tr>\n<tr>\n<td>opus<\/td>\n<td>12<\/td>\n<td>2<\/td>\n<td>99%<\/td>\n<\/tr>\n<tr>\n<td>ogg<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>99.5%<\/td>\n<\/tr>\n<tr>\n<td>mp3<\/td>\n<td>14,991<\/td>\n<td>100<\/td>\n<td>50%<\/td>\n<\/tr>\n<tr>\n<td>ac3<\/td>\n<td>730<\/td>\n<td>30<\/td>\n<td>60%<\/td>\n<\/tr>\n<tr>\n<td>flac<\/td>\n<td>187<\/td>\n<td>0<\/td>\n<td>100%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em><strong>NB.<\/strong> As a very quick and ready method, I based the results on the largest known possible value (200). I would be surprised if there weren&#8217;t better ways to calculate some sort of index.<\/em><\/p>\n<p>It <em>could<\/em> be interesting to see how this shapes our theories of file formats for digital preservation, alas, there is much need for caution.<\/p>\n<h3>An important note about scientific integrity<\/h3>\n<p>Science relies on the careful control of different variables; this is ridiculously difficult to do in the format world. Formats are deeply human things, they exist to store state, or enable information interchange. They exist to support, they exist to entertain.<\/p>\n<p>Importantly, formats are built upon stacks of technology that extend this human characteristic even further, flawed through bugs, or lack of attention, to being robust because of a great deal of care or interest.<\/p>\n<p>A format that exists that is robust today might be robust because of the amount of attention paid to the software or specifications created in the past &#8211; PDF is a classic example of a format that needs to persist, don&#8217;t get me wrong, <em>I don&#8217;t<\/em> need it to, but technologists made their bed with it, and now to ensure important information survives into the future, we will probably always have to preserve the PDF (I mean, <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@wtfpdf\">@wtfpdf<\/a>).<\/p>\n<p>More fun, there are probably ample stories about the importance of the MP3, the iPod, and Apple as we know it today wouldn&#8217;t exist without it. Was MP3 robust before all its attention in the 90s? Or is it robust because of all its attention in the 90s? <em>(I do know we can answer this question, but this is not a format-level analysis, and I probably need to wrap up this blog this year!)<\/em><\/p>\n<p>Either way, I am quite interested in understanding what formats exist today, in today&#8217;s technological conditions, that have these analog, malleable, stretchy properties, and do bend but don&#8217;t break.<\/p>\n<hr \/>\n<h2>Before I go&#8230;<\/h2>\n<p>I want to wrap up with a few footnotes from the testing above and some final thoughts developed while writing.<\/p>\n<h3>The Millennium bug!<\/h3>\n<p>What might it sound like? (I did tease it all the way back in the beginning) Well, maybe this critter, hidden in the AC3?!<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2027567776%3Fsecret_token%3Ds-Cs6J6l8dINj&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\" data-mce-fragment=\"1\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"00054 - Millennium Bug\" href=\"https:\/\/soundcloud.com\/exponential-decay\/00054-millennium-bug\/s-Cs6J6l8dINj\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">00054 &#8211; Millennium Bug<\/a><\/div>\n<p>&nbsp;<\/p>\n<h3>Corrupting MIDI<\/h3>\n<p>Of course, I was disappointed I truly couldn&#8217;t glitch the audio above and create a high-quality output, and so I had the idea to convert it to MIDI audio &#8212; <em>MIDI is an instruction based file-format which means that if we can manipulate those in any way via glitching we might be able to change the output.<\/em><\/p>\n<p>Of course, the first conversion is pretty much corrupting the audio unrecognizably anyway. You can hear that here:<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2030149404%3Fsecret_token%3Ds-ZA994sIEuqH&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"Y2K MIDI: Original\" href=\"https:\/\/soundcloud.com\/exponential-decay\/y2k-midi-original\/s-ZA994sIEuqH\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">Y2K MIDI: Original<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>But then, as hoped, I did find MIDI had nice properties for glitching, and you can hear that here:<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2030150108%3Fsecret_token%3Ds-uv5gK0vCxSG&amp;color=%23ff0d0d&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true&amp;visual=true\" width=\"100%\" height=\"300\" frameborder=\"no\" scrolling=\"no\"><\/iframe><\/p>\n<div style=\"font-size: 10px; color: #cccccc; line-break: anywhere; word-break: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif; font-weight: 100;\" data-darkreader-inline-color=\"\"><a style=\"color: #cccccc; text-decoration: none;\" title=\"exponential-decay\" href=\"https:\/\/soundcloud.com\/exponential-decay\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">exponential-decay<\/a> \u00b7 <a style=\"color: #cccccc; text-decoration: none;\" title=\"Y2K MIDI: Glitched\" href=\"https:\/\/soundcloud.com\/exponential-decay\/y2k-midi-glitched\/s-uv5gK0vCxSG\" target=\"_blank\" rel=\"noopener\" data-darkreader-inline-color=\"\">Y2K MIDI: Glitched<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>You can clearly hear the introduction of new instruments and changes to the pitch; it also becomes more resonant; all while the recording maintains a decent level of fidelity, i.e. it doesn&#8217;t sound noisy or full of feedback.<\/p>\n<p>I have laid the two waveforrms on top of each other for comparison.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2244\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched.png\" alt=\"Two waveforms, one on top of the other. The top waveform is the waveform of the original audio, the bottom waveform is that of the glitched audio.\" width=\"1275\" height=\"1275\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched.png 1275w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched-500x500.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched-1024x1024.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched-300x300.png 300w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/midi-glitched-768x768.png 768w\" sizes=\"auto, (max-width: 1275px) 100vw, 1275px\" \/><\/a><\/p>\n<p>It may be interesting to come back to some long-form MIDI and try some of these experiments again.<\/p>\n<h4>MIDI, and MIDI on Linux<\/h4>\n<ul>\n<li>Check out this cool app from Spotify to create your own MIDI: <a href=\"https:\/\/basicpitch.spotify.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/basicpitch.spotify.com\/<\/a><\/li>\n<li>Source code: <a href=\"https:\/\/github.com\/spotify\/basic-pitch\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/spotify\/basic-pitch<\/a><\/li>\n<\/ul>\n<p>To play MIDI:<\/p>\n<ul>\n<li>Check out TiMidity on Linux to play MIDI without a hardware synthesizer: <a href=\"https:\/\/sourceforge.net\/projects\/timidity\/\" target=\"_blank\" rel=\"noopener\">https:\/\/sourceforge.net\/projects\/timidity\/\u00a0<\/a><\/li>\n<\/ul>\n<p>Thanks to <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/mastodon.gamedev.place\/@matteusbeus\">@matteusbeus<\/a> for suggesting Spotify&#8217;s tooling here and being immediately available to do so!<\/p>\n<h2>And finally<\/h2>\n<p>Thank you all for <del>listening<\/del> reading. Now please do go and give <a href=\"https:\/\/www.youtube.com\/watch?v=pJ86meMFqT8\" target=\"_blank\" rel=\"noopener\">Y2K<\/a> a few more rewinds.<\/p>\n<hr \/>\n<h2>Final footnotes<\/h2>\n<h3>Digital decay<\/h3>\n<p>Manfred Thaller describes two types of digital decay in the README for his <a href=\"https:\/\/web.archive.org\/web\/20090323121026\/http:\/\/hki.uni-koeln.de\/material\/shotGun\/\" target=\"_blank\" rel=\"noopener\">shotGun tool<\/a>:<\/p>\n<blockquote><p>\u201cBit rot\u201d stands for files where the degradation of storage media leads to tiny changes in the data stored, usually individual bits shifting from zero to one or the other way around. This type of damage occurs typically as a result of aging media. Most typically it either affects individual bytes, or sequences of bytes the length of which may vary with media types, will most frequently be 512, however.<\/p><\/blockquote>\n<p>And:<\/p>\n<blockquote><p>\u201cByte loss\u201d stands for files, where faulty copying operations have lead to the loss of individual bytes, so a file is a few bytes shorter. This is usually the result of faulty equipment and \/ or faulty transmission lines. Most typically such a problem will only affect very short sequences of bytes, usually individual bytes only, as larger loss of data gets discovered quickly.<\/p><\/blockquote>\n<p>The experiments in this article are more akin to &#8220;bit rot&#8221;, however, much more artificial. I don&#8217;t believe data could be corrupted like this so easily (at least not naturally) in the wild.<\/p>\n<h3>Digital integrity is variable<\/h3>\n<p>Sean Martin and Malcolm Macleod&#8217;s <a href=\"https:\/\/purl.pt\/24107\/1\/iPres2013_PDF\/Analysis%20of%20the%20variability%20in%20digitised%20images%20compared%20to%20the%20distortion%20introduced%20by%20compression.pdf\" target=\"_blank\" rel=\"noopener\">excellent paper<\/a> describes the variability of the digital image when created through analog means, i.e. through photography. Of course, it makes sense that light signals will be received and processed differently based on the digital camera and lens being used. Integrity need not be so tied to any particular checksum when the subject of the digital image is what gives it value not its specific layout of bytes.<\/p>\n<hr \/>\n<h2>Eno&#8217;s Eno&#8217;s<\/h2>\n<p>A final bit of bonus content, I saw <a href=\"https:\/\/social.coop\/@edsu\/113952593085326592\" target=\"_blank\" rel=\"noopener\">this post<\/a> about the notation on Brian Eno&#8217;s Music for Airports from Ed Summers.<\/p>\n<p>It seemed appropriate somehow while writing this blog. The notation is described by the <a href=\"https:\/\/www.smithsonianmag.com\/arts-culture\/5-12-examples-of-experimental-music-notation-92223646\/\" target=\"_blank\" rel=\"noopener\">Smithsonian Mag<\/a> here, and it is one style of a number of experimental music notations being toyed with at the time by different composers and artists. It&#8217;s a nice read for those who are interested.<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2196\" class=\"pvc_stats total_only  \" data-element-id=\"2196\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In December I asked &#8220;<a href=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" target=\"_blank\" rel=\"noopener\">What will you bitflip today?<\/a>&#8221; Not long after, Johan&#8217;s (<a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/digipres.club\/@bitsgalore\">@bitsgalore<\/a>) Digtial Dark Age Crew released its long lost hidden single <a href=\"https:\/\/www.bitsgalore.org\/2024\/12\/30\/y2k\" target=\"_blank\" rel=\"noopener\">Y2K<\/a> &#8212; well, I couldn&#8217;t resist corrupting it.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2241\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png\" alt=\"Image showing a hugely glitched file in Audacity. The waveforms should largely be the same in both stereo channels but they are not.\" width=\"1687\" height=\"612\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k.png 1687w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-500x181.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-1024x371.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-768x279.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/audacity_corrupted-y2k-1536x557.png 1536w\" sizes=\"auto, (max-width: 1687px) 100vw, 1687px\" \/><\/a><\/p>\n<p>Fixity is an interesting property enabled by digital technologies. <a href=\"https:\/\/ross-spencer.github.io\/digipres-glossary\/#fixity\" target=\"_blank\" rel=\"noopener\">Checksums<\/a> allow us to demonstrate mathematically that a file has not been changed. An often cited definition of fixity is:<\/p>\n<blockquote><p>Fixity, in the preservation sense, means the assurance that a digital file has remained unchanged, i.e. fixed &#8212; <a href=\"https:\/\/blogs.loc.gov\/thesignal\/2014\/04\/protect-your-data-file-fixity-and-data-integrity\/\" target=\"_blank\" rel=\"noopener\">Bailey<\/a> (2014)<\/p><\/blockquote>\n<p>It&#8217;s very much linked to the concept of integrity. A <a href=\"https:\/\/unesdoc.unesco.org\/ark:\/48223\/pf0000130071\" target=\"_blank\" rel=\"noopener\">UNESCO definition<\/a> of which:<\/p>\n<blockquote><p>The state of being whole, uncorrupted and free of unauthorized and undocumented changes.<\/p><\/blockquote>\n<p>Integrity is massively important at this time in history. It gives us the guarantees we need that digital objects we work with aren&#8217;t harboring their own sinister secrets in the form of malware and other potentially damaging payloads.<\/p>\n<p>These values are contingent on bit-level preservation, the field of digital preservation largely assumes this; that we will be able to look after our content without losing information. As feasible as this may be these days, what happens if we lose <em>some<\/em> information? Where does authenticity come into play?<\/p>\n<p>Through corrupting Y2K, I took time to reflect on integrity versus authenticity, as well as create some interesting glitched outputs. I also uncovered what may be the first audio that reveals what the Millennium Bug itself may have sounded like! Keen to hear it? Read on to find out more.<\/p>\n<div class=\"link-more\"><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &ldquo;The sensitivity index: Corrupting Y2K&rdquo;<\/span>&hellip;<\/a><\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2196\" class=\"pvc_stats total_only  \" data-element-id=\"2196\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":2220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[86,114,3],"tags":[308,59,310,312,301,311,298,300,183,303,304,147,103,115,71,302,17,307,313,272,314,299,306,305,309],"class_list":["post-2196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-archives","category-digital-literacy","category-digital-preservation","tag-ac3","tag-archives","tag-audio","tag-audiovisual","tag-authenticity","tag-av","tag-bash","tag-checksums","tag-code4lib","tag-corruption","tag-corruption-index","tag-digipres","tag-digital-archiving","tag-digital-literacy","tag-digital-preservation","tag-diplomatics","tag-file-formats","tag-flac","tag-glitch","tag-glitchart","tag-glitchaudio","tag-integrity","tag-mp3","tag-sensitivity-index","tag-wav","entry"],"a3_pvc":{"activated":true,"total_views":287,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog<\/title>\n<meta name=\"description\" content=\"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog\" \/>\n<meta property=\"og:description\" content=\"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/\" \/>\n<meta property=\"og:site_name\" content=\"ross spencer :: exponentialdecay.digipres :: blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-11T08:15:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-01T16:59:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Ross Spencer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@beet_keeper\" \/>\n<meta name=\"twitter:site\" content=\"@beet_keeper\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ross Spencer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/\"},\"author\":{\"name\":\"Ross Spencer\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"headline\":\"The sensitivity index: Corrupting Y2K\",\"datePublished\":\"2025-02-11T08:15:41+00:00\",\"dateModified\":\"2025-12-01T16:59:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/\"},\"wordCount\":3346,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"image\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/corrupting-y2k.gif\",\"keywords\":[\"ac3\",\"Archives\",\"audio\",\"audiovisual\",\"authenticity\",\"av\",\"Bash\",\"checksums\",\"Code4Lib\",\"corruption\",\"corruption index\",\"digipres\",\"Digital Archiving\",\"digital literacy\",\"Digital Preservation\",\"diplomatics\",\"File Formats\",\"flac\",\"glitch\",\"GlitchArt\",\"glitchaudio\",\"integrity\",\"mp3\",\"sensitivity index\",\"wav\"],\"articleSection\":[\"Archives\",\"Digital Literacy\",\"Digital Preservation\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/\",\"name\":\"The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/corrupting-y2k.gif\",\"datePublished\":\"2025-02-11T08:15:41+00:00\",\"dateModified\":\"2025-12-01T16:59:49+00:00\",\"description\":\"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#primaryimage\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/corrupting-y2k.gif\",\"contentUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/corrupting-y2k.gif\",\"width\":1024,\"height\":600,\"caption\":\"Animated GIF of various corrupted frames from Johan's Y2K cover.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/the-sensitivity-index-corrupting-y2k\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The sensitivity index: Corrupting Y2K\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/\",\"name\":\"ross spencer :: exponentialdecay.digipres :: blog\",\"description\":\"Digital preservation analyst, researcher, and software developer\",\"publisher\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\",\"name\":\"Ross Spencer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"contentUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"width\":2560,\"height\":2560,\"caption\":\"Ross Spencer\"},\"logo\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\"},\"description\":\"Digital preservation domain expert and full-stack software developer.\",\"sameAs\":[\"http:\\\/\\\/www.exponentialdecay.co.uk\\\/blog\",\"https:\\\/\\\/www.instagram.com\\\/b33tk33p3r\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ross-spencer-b6b9b758\\\/\",\"https:\\\/\\\/x.com\\\/beet_keeper\"],\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/author\\\/exponentialdecay\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog","description":"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/","og_locale":"en_US","og_type":"article","og_title":"The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog","og_description":"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?","og_url":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/","og_site_name":"ross spencer :: exponentialdecay.digipres :: blog","article_published_time":"2025-02-11T08:15:41+00:00","article_modified_time":"2025-12-01T16:59:49+00:00","og_image":[{"url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif","width":1024,"height":600,"type":"image\/gif"}],"author":"Ross Spencer","twitter_card":"summary_large_image","twitter_creator":"@beet_keeper","twitter_site":"@beet_keeper","twitter_misc":{"Written by":"Ross Spencer","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#article","isPartOf":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/"},"author":{"name":"Ross Spencer","@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"headline":"The sensitivity index: Corrupting Y2K","datePublished":"2025-02-11T08:15:41+00:00","dateModified":"2025-12-01T16:59:49+00:00","mainEntityOfPage":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/"},"wordCount":3346,"commentCount":8,"publisher":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"image":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#primaryimage"},"thumbnailUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif","keywords":["ac3","Archives","audio","audiovisual","authenticity","av","Bash","checksums","Code4Lib","corruption","corruption index","digipres","Digital Archiving","digital literacy","Digital Preservation","diplomatics","File Formats","flac","glitch","GlitchArt","glitchaudio","integrity","mp3","sensitivity index","wav"],"articleSection":["Archives","Digital Literacy","Digital Preservation"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/","url":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/","name":"The sensitivity index: Corrupting Y2K - ross spencer :: exponentialdecay.digipres :: blog","isPartOf":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#primaryimage"},"image":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#primaryimage"},"thumbnailUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif","datePublished":"2025-02-11T08:15:41+00:00","dateModified":"2025-12-01T16:59:49+00:00","description":"Can we test the robustness of file formats using bitflip techniques? Can we perhaps create a sensitivity index to describe the most robust?","breadcrumb":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#primaryimage","url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif","contentUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/02\/corrupting-y2k.gif","width":1024,"height":600,"caption":"Animated GIF of various corrupted frames from Johan's Y2K cover."},{"@type":"BreadcrumbList","@id":"https:\/\/exponentialdecay.co.uk\/blog\/the-sensitivity-index-corrupting-y2k\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/exponentialdecay.co.uk\/blog\/"},{"@type":"ListItem","position":2,"name":"The sensitivity index: Corrupting Y2K"}]},{"@type":"WebSite","@id":"https:\/\/exponentialdecay.co.uk\/blog\/#website","url":"https:\/\/exponentialdecay.co.uk\/blog\/","name":"ross spencer :: exponentialdecay.digipres :: blog","description":"Digital preservation analyst, researcher, and software developer","publisher":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exponentialdecay.co.uk\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716","name":"Ross Spencer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","contentUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","width":2560,"height":2560,"caption":"Ross Spencer"},"logo":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png"},"description":"Digital preservation domain expert and full-stack software developer.","sameAs":["http:\/\/www.exponentialdecay.co.uk\/blog","https:\/\/www.instagram.com\/b33tk33p3r\/","https:\/\/www.linkedin.com\/in\/ross-spencer-b6b9b758\/","https:\/\/x.com\/beet_keeper"],"url":"https:\/\/exponentialdecay.co.uk\/blog\/author\/exponentialdecay\/"}]}},"views":6563,"_links":{"self":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2196"}],"version-history":[{"count":46,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2196\/revisions"}],"predecessor-version":[{"id":2675,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2196\/revisions\/2675"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/media\/2220"}],"wp:attachment":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}