<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>thorx.net &#187; music</title>
	<atom:link href="http://blog.thorx.net/tag/music/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.thorx.net</link>
	<description>...to confuse &#38; unexpect‽</description>
	<lastBuildDate>Tue, 31 Mar 2020 12:54:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6.1</generator>
		<item>
		<title>getting to the core of the matter</title>
		<link>http://blog.thorx.net/2011/06/blogcore/</link>
		<comments>http://blog.thorx.net/2011/06/blogcore/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 13:33:18 +0000</pubDate>
		<dc:creator>nemo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://blog.thorx.net/?p=280</guid>
		<description><![CDATA[Sometimes lazy bloggers just quote IRC&#8230; &#60;QuantumNinja&#62; if I ever decide to start a queer core band I am making sure to do a tour entirely in katters district &#60;Screwtape&#62; In *both* pubs! * Screwtape wonders what kind of core &#8220;queer core&#8221; is. * Screwtape checks: grep &#8216;ard$&#8217; /usr/share/dict/words &#124; sed -e &#8216;s/$/core/&#8217; &#124; less [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Sometimes lazy bloggers just quote IRC&#8230;</p>
<p>&lt;QuantumNinja&gt; if I ever decide to start a queer core band I am making sure to do a tour entirely in katters district<br />
&lt;Screwtape&gt; In *both* pubs!<br />
* Screwtape wonders what kind of core &#8220;queer core&#8221; is.<br />
* Screwtape checks: grep &#8216;ard$&#8217; /usr/share/dict/words | sed -e &#8216;s/$/core/&#8217; | less<br />
<span id="more-280"></span>&lt;Screwtape&gt; &#8220;fuseboardcore&#8221; &lt;&#8211; high-voltage electronica<br />
&lt;nemo&gt; Blackbeardcore  &lt;&#8211; what&#8217;s inside the dread pirates&#8230;<br />
&lt;Screwtape&gt; &#8220;guardcore&#8221; &lt;&#8211; music for prisons<br />
&lt;nemo&gt; Howardcore  &lt;&#8211; for Liberals<br />
&lt;nemo&gt; Julliardcore   &lt;&#8211; for modern Liberals who hate Julia<br />
&lt;Screwtape&gt; &#8220;Hansardcore&#8221; &lt;&#8211; filled with samples from your favourite politicians<br />
&lt;Screwtape&gt; &#8220;beardcore&#8221; &lt;&#8211; ZZ Top<br />
&lt;nemo&gt; Shepardcore   &lt;&#8211; it&#8217;s what the SHEEPLE listen to<br />
&lt;nemo&gt; Wardcore   &lt;&#8211; hospital music<br />
&lt;Screwtape&gt; &#8220;lanyardcore&#8221; &lt;&#8211; Where *everybody* gets a backstage pass.<br />
&lt;nemo&gt; churchyardcore   &lt;&#8211; you aint heard Gospel Music like *THIS* before<br />
&lt;nemo&gt; drunkardcore  &lt;&#8211; what pub bands are in the FUTURRRRRRRRE<br />
&lt;Screwtape&gt; &#8220;leopardcore&#8221; &lt;&#8211; Tribal rhythms with animal skins.<br />
&lt;nemo&gt; graveyardcore   &lt;&#8211; for zombies<br />
&lt;Screwtape&gt; &#8220;laggardcore&#8221; &lt;&#8211; I was into that band *way* after it was cool.<br />
&lt;nemo&gt; &#8220;heavenwardcore&#8221;  &lt;&#8211; music for the Rapture<br />
&lt;Screwtape&gt; &#8220;orchardcore&#8221; &lt;&#8211; The Apples In Stereo<br />
&lt;nemo&gt; &#8220;straightforwardcore&#8221;  &lt;&#8211; this music is exactly what it says it is <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
&lt;nemo&gt; &#8220;substandardcore&#8221;   &lt;&#8211; nobody listens to this much, except ironically<br />
&lt;Screwtape&gt; &#8220;overheardcore&#8221; &lt;&#8211; musique concréte<br />
&lt;nemo&gt; &#8220;wizardcore&#8221;   &lt;&#8211; from JK&#8217;s unfinished draft of &#8220;Harry Potter and the Four Seasons&#8221;<br />
&lt;Screwtape&gt; &#8220;Picardcore&#8221; &lt;&#8211; o/~ Star Trekkin&#8217;, across the universe&#8230; o/~<br />
&lt;Screwtape&gt; &#8220;placardcore&#8221; &lt;&#8211; The music video to Weird Al&#8217;s &#8220;Bob&#8221;<br />
&lt;Screwtape&gt; &#8220;Rjchardcore&#8221; &lt;&#8211; I think my /usr/dict/words has an OCR error. <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
&lt;nemo&gt; not seen that<br />
&lt;nemo&gt; haha<br />
&lt;nemo&gt; mine is good<br />
* Screwtape blames Fedora.<br />
&lt;Screwtape&gt; &#8220;schoolyardcore&#8221; &lt;&#8211; skipping rhymes, with a heavy beat.<br />
&lt;Screwtape&gt; &#8220;shipyardcore&#8221; &lt;&#8211; Authentic Pirate Hip-Hop<br />
&lt;nemo&gt; Rjchard   &lt;&#8211; Scientific Linux (a sibling of CentOS) has the same problem<br />
&lt;Screwtape&gt; rpm says the wordlist comes from http://en.wikipedia.org/wiki/Moby_Project<br />
&lt;Screwtape&gt; I wonder where Debian gets theirs.<br />
&lt;nemo&gt; not sure to be honest<br />
&lt;Screwtape&gt; Apparently from wordlist.sf.net.<br />
&lt;nemo&gt; there you go then<br />
&lt;nemo&gt; http://dict-common.alioth.debian.org/  &lt;&#8211; nice logo</p>
<p>Thanks @afda. Thafda.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thorx.net/2011/06/blogcore/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>my experiment in custom iPhone ringtones via linux</title>
		<link>http://blog.thorx.net/2010/08/my-experiment-in-custom-iphone-ringtones-via-linux/</link>
		<comments>http://blog.thorx.net/2010/08/my-experiment-in-custom-iphone-ringtones-via-linux/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:04:06 +0000</pubDate>
		<dc:creator>nemo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[experiments]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://blog.thorx.net/?p=194</guid>
		<description><![CDATA[thanks to recent nautilus (I assume is responsible &#8211; as seen in Ubuntu Lucid Lynx) ability to view the iPhones file paths, we can try this (typing this as I go, so this is draft on-the-fly quality notes) * create an m4a file (I made mine exactly 40seconds according to audacity and saved as a [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>thanks to recent nautilus (I assume is responsible &#8211; as seen in Ubuntu Lucid Lynx) ability to view the iPhones file paths, we can try this (typing this as I go, so this is draft on-the-fly quality notes)<span id="more-194"></span></p>
<p>* create an m4a file (I made mine exactly 40seconds according to audacity and saved as a .wav, then used faac to convert to m4a (faac in.wav &#8211;title &#8220;ringtone experiment&#8221; -o tone.m4a ; mv tone.m4a tone.m4r)</p>
<p>* copy tone into iPhone://iTunes_Control/Ringtones/tone.m4r</p>
<p>* edit iPhone://iTunes_Control/iTunes/Ringtones.plist to add in the details of the new ringtone. Fortunately I had an existing one already, so I just copied that &#8211; updating the GUID (I changed one character), the Name (&#8220;funky new ringtone&#8221;) and the Total Time (40000) fields.</p>
<p>&#8230;and bingo, the ringtone is visible in the settings (selectable, plays), but does not lock in as the ringtone to use! ok, clearly some work needed.</p>
<p>incidentally, this is a 32GB iPhone 3Gs with iOS4.0.2, never been jailbroken or anything underhanded done to it before. It was unlocked from the carrier a few days ago (thanks .au law) and that required a lengthy restore, but otherwise smooth.</p>
<p>&#8230;ok, so back to it: plugged it into iTunes (Mac) &#8211; it couldn&#8217;t read from the device (an error!)</p>
<p>&#8230;rebooted phone &#8211; and the new ring tone now works correctly. YAY! =)  is this success?</p>
<p>&#8230;plugging it into iTunes again and&#8230; it&#8217;s all &#8220;Verifying iPhone&#8221; at me &#8211; something I don&#8217;t generally recall. &#8230;ok, it&#8217;s backing up as normal now&#8230;</p>
<p>and the ringtone tab in iTunes tells me it doesn&#8217;t know about the tone I added in, it&#8217;s syncing, so I suspect it&#8217;ll delete my added tone&#8230;</p>
<p>&#8230;and checking in my iPhone after it&#8217;s done, what do you know &#8211; my custom added ringtone is all gone. Checking back via linux &#8211; and the tone.m4r file has been deleted, Ringtones.plist has been completely rewritten.</p>
<p>So, I assume (not surprisingly at all) that iTunes needs to know about it, as the authorative master, and tell the iPhone how it&#8217;s gonna be. This fits with my observed philosophy of the iPhone &#8211; as an adjunct to the master information on the computer.</p>
<p>&#8230;</p>
<p>so, round 2&#8230; I add the m4r into the iTunes library &#8211; it automatically adds it in as a ringtone &#8211; that&#8217;s nice. I assume iTunes assumed it was a ringtone by the file extension. And in the iPhone tab it shows up as available to be sync&#8217;d&#8230; and bingo. it works.</p>
<p>ok, so not a pure linux solution &#8211; unless you never sync your phone to iTunes anyway &#8211; but it DOES let you make a custom ringtone without requiring garageband. That&#8217;s something isn&#8217;t it?</p>
<p>And I assume the method would work under windows too&#8230; anyone want to give it a go and get back to me? <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thorx.net/2010/08/my-experiment-in-custom-iphone-ringtones-via-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OK Go &#8211; the video reviews</title>
		<link>http://blog.thorx.net/2010/03/ok-go-the-video-reviews/</link>
		<comments>http://blog.thorx.net/2010/03/ok-go-the-video-reviews/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 14:45:37 +0000</pubDate>
		<dc:creator>nemo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[band]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.thorx.net/?p=155</guid>
		<description><![CDATA[So OK Go are a fun and quirky group, quickly gaining renown for their quirky videos. How did they get to this point? Here is my trip down OK Go video discovery lane I was, of course, assisted in this by the existance of all the OK Go videos on one neat site. Conveniently, it&#8217;s [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So <a href="http://www.okgo.net/">OK Go</a> are a fun and quirky group, quickly gaining renown for their quirky videos.</p>
<p>How did they get to this point?</p>
<p>Here is my trip down OK Go video discovery lane<span id="more-155"></span></p>
<p>I was, of course, assisted in this by the existance of all the OK Go videos on one neat site. Conveniently, it&#8217;s their own: <a href="http://www.okgo.net/media/videos/">http://www.okgo.net/media/videos/</a></p>
<p>Also note: I will mainly be focusing on their video/visual style and evolution, with only passing commentary on the music. Finally, I was assisted in this by my silent partner in review, and her comments will occasionally find note here too.</p>
<p>&#8230;And so, on to the chronological order&#8230; <em>[edit: it's not really chronological order, it's just the order they appear on their site. This page is basically a snapshot of the conversations my friend and I had about these videos, as we watched them in the order presented to us by the OK Go site]</em></p>
<h3>What To Do</h3>
<p>There is not much to say about this early clip. It looks for all the world like label-dictated style for an upcoming group who has yet to define themselves. It features a pretty &#8216;mainstream indy&#8217; style. Simple setting, shot in black and white. No effects</p>
<p>Notable lyric: &#8220;could have been a genius if you had an ax to grind&#8217;</p>
<h3>You&#8217;re So Damn Hot</h3>
<p>Another clip which looks for all the world like a label formula. Clips from live shows on the road interspersed with flash-inspired animation. Nothing to write home about.</p>
<h3>Get Over It</h3>
<p>Yet another label formula clip. This time they&#8217;re in the center of an empty hall, performing, with occasionally clip-art shots of popculture items to sync with the lyrics.</p>
<p>Notable video moment: the slow motion ping pong. This felt like the first moment of OK Go&#8217;s future video quirkery coming out.</p>
<h3>Don&#8217;t Ask Me (Dance Booth version)</h3>
<p>This is clearly when OK Go started to cut their own creative teeth, as it were. It has a low budget self-made feel to it, with the band and random extras singing/dancing or just showing off (or even looking bored sometimes even!) to the music.</p>
<p>It&#8217;s gorgeous and smile inducing.</p>
<h3>Don&#8217;t Ask Me</h3>
<p>This label version of the same song is totally formulaic, and could have been produced for any generic band. Black and white, with simple colour patterns in the background, and don&#8217;t forget the cookie cutter dancing girl! (you will though)</p>
<p>It&#8217;s boring and yawn inducing.</p>
<p>Notable anything? Sorry, nothing at all.</p>
<h3>Do What You Want</h3>
<p>This video is a little bit dizzy inducing with it&#8217;s rapid motion hyperactive  bullettime-esque motion pans. I&#8217;d guess that band had creative input, but still played within the label marketing system. We get a generic band-surround-by-girls setting -  but the wallpaper (more of this next clip) behind them is quirky, and the girls are real (not fake models). But yet we still get a girls-dancing-in-slow-motion scene&#8230;</p>
<h3>Do What You Want (Wallpaper version)</h3>
<p>Taking their own lyrical advice, we have here an amazing example of the band striking out and just making what they want. At least, that&#8217;s how it feels! The concept is simple &#8211; the band and some performers, all performing&#8230; stuff!</p>
<p>The frenetic editing pace suits perfectly &#8211; but the masterpiece is the outfits. Everyone and everything (within reason) is covered in the same gorgeously hideous wallpaper pattern. It adorns clothes, instruments, the floor, the wall, furniture, segways&#8230;</p>
<p>Watching this, I feel that they have found themselves&#8230;</p>
<p>Notable video moment: the pogo stick&#8230;</p>
<p><em>[edit: as noted by Rachel (thankyou!), this clip came after the Treadmill listed below. I don't feel it changes my overall conclusion though. I think it just places it as a clip made with the groups new-found confidence in their own artistic abilities <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]</em></p>
<h3>Invincible</h3>
<p>This is an odd one. I think it&#8217;s a group idea &#8211; to blow things up (cos that&#8217;s always fun, who cares about originality ALL the time anyway?), but it&#8217;s also full of generic &#8216;band performing&#8217; clips too. My guess is that this is the band&#8217;s idea, but that they ceded some creative license to the label for the sake of finances and ability to make it&#8230;</p>
<p>Notable video moment: the chandelier</p>
<h3>A Million Ways</h3>
<p>To me, this is the precursor to the genius of Here It Goes Again, in the same way that Rubber Soul was the precursor to Revolver.</p>
<p>I think this may have been the first time the band &#8216;just went ahead and made it&#8217; and totally circumvented the &#8216;system&#8217;. And what do they do? They dance around in the back yard! And it&#8217;s great!</p>
<p>For the first time we have a feel not only for the groups quirky style, but for the band members involved. Without this, there never would have been the treadmills&#8230;</p>
<p>Notable video moment: letting the video run past the end of the performance</p>
<p><em>[edit: again, thanks Rachel. This was a practice video which was leaked and went viral. Ok, so it wasn't deliberate in it's low-key, but shows their style coming through loud and clear <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ]</em></p>
<h3>Here It Goes Again</h3>
<p>OK Go, On Treadmills.</p>
<p>The clip which may have guaranteed OK Go lasting posterity even if they never made anything else again. I can&#8217;t say much to this that hasn&#8217;t been said a million times. How do you know it&#8217;s genius? From the sound of a million viewers all saying &#8220;why did I never think of that?&#8221;</p>
<p>Notable video moment: when you rewind to watch it again.</p>
<h3>WTF</h3>
<p>I must admit, this video actually annoyed me, but my silent partner in review thought it amazing. To my eye, making a whole video where the visual effect is that of a crashed Windows 3.1 (or 95/98/2000/XP) program &#8211; was cringe worthy.</p>
<p>In fairness, it did have potential though. If the effect had been applied selectively, whilst other times &#8216;locking&#8217; the background in place, then I may well have been equally impressed. Silent partner, otoh, thought it was great.</p>
<p>And it&#8217;s not like there weren&#8217;t scenes which made good use of the style either &#8211; I don&#8217;t deny that. But the basic premise upon which all this cleverness was built? Just didn&#8217;t do it for me. So overall: cringe, with a concession of clever.</p>
<p>Notable video moment: the chair (which instead reminded me of old-skool demo scene <img src='http://blog.thorx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>This Too Shall Pass</h3>
<p>I love this and think it&#8217;s genius (though my silent partner thought it &#8216;meh, with a side order of cute&#8217;). It just grows and amazes as one long clip unfolds and expands, with new people and camera angles when you least expect.  I don&#8217;t want to give it away, so I&#8217;ll only say that it&#8217;s the first reveal of the brass which does it for me.</p>
<p>Notable video moment: every time you wonder how you didn&#8217;t see that person before now</p>
<h3>This Too Shall Pass (Rube Goldberg Version)</h3>
<p>Their most recent piece is a stunning piece of fun invention. I think it shows that the band is willing to now use the medium of video clips to make cool stuff, even if it has only a passing meaning to the song (and why not, it&#8217;s not like the formulas the labels push do any better anyway!).</p>
<p>This time a huge Rube Goldberg machine accompanies them in time with the song. A song which soon gets stuck in your head too (though I did find the Marching Band version to be rather forgettable, so ymmv).</p>
<p>The treadmill video gets a cameo here, and I think that the band feels they have more to show the world than just that one idea, and don&#8217;t want to be overshadowed by their own history after all.</p>
<p>I only hope that they don&#8217;t burn out, forget about the music, or typecast themselves in trying to escape the treadmill meme&#8230;</p>
<p>Notable lyrics: &#8220;let it go / this too shall pass&#8221;</p>
<h2>Conclusion</h2>
<p>Some groups &#8211; and indeed, people, start out quirky and imaginative, but when they begin to achieve fame, they get scared. They close down and start repeating themselves for fear of losing what they have, and instead lose that very edge that got them started.</p>
<p>Others instead, seem to use the power of fame to push the envelope of what is possible/accepted or expected &#8211; and so expand their own edge, in relative fearlessness of the effect it may have on their fanbase or reputation.</p>
<p>And it is into this latter category that I put Gonzo the Great.</p>
<p>oh, and also: OK Go.</p>
<h4>Post Script:</h4>
<p>Being a newly confirmed fan of both their video and their music &#8211; and I am kicking myself that I found out they were here in Brisbane a few weeks ago&#8230; and only found out this week when I discovered this clip history. No matter, next time&#8230;</p>
<p><em>[edit postscript: I wrote this review after an evenings entertaining video watching. I have since been corrected on some chronology and facts, and no doubt will find new errors in my assumptions down the track. In the interest of satisfying both my desire to not revise history, but also to not spread misinformation; I will update this post with edits like this as I find or am informed of errors. The original post will remain otherwise untouched. </em></p>
<p><em>&#8230;that&#8217;ll sure teach me to write and post at midnight! <a href="http://wiki.thorx.net/wiki/ISFN">[1]</a>]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thorx.net/2010/03/ok-go-the-video-reviews/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>binary grep to find mp3s stored in zip</title>
		<link>http://blog.thorx.net/2009/07/binary-grep/</link>
		<comments>http://blog.thorx.net/2009/07/binary-grep/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:21:20 +0000</pubDate>
		<dc:creator>nemo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://blog.thorx.net/?p=20</guid>
		<description><![CDATA[Once upon  a time whilst sorting my mp3 collection, I ran across a little problem. The tags which I had found and saved to the id3 tags using quod libet (being my favourite tag editor &#8211; better than the related Ex-Falso incidentally) were not showing up in Rhythmbox (being my favourite actual audio player). Instead, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Once upon  a time whilst sorting my mp3 collection, I ran across a little problem. The tags which I had found and saved to the <a href="http://en.wikipedia.org/wiki/Id3">id3</a> tags using <a href="http://code.google.com/p/quodlibet/">quod libet</a> (being my favourite tag editor &#8211; better than the related Ex-Falso incidentally) were not showing up in <a href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a> (being my favourite actual audio player). Instead, Rhythmbox was seeing the OLD tags.</p>
<p><em>This is curious</em>, thinks I. And I go off in search for answers&#8230;<br />
<span id="more-20"></span></p>
<p>So I am examining the file directly (using <a href="http://www.greenwoodsoftware.com/less/">less</a>), and eventually notice it has an interesting structure. It is in fact an mp3 inside a <a href="http://en.wikipedia.org/wiki/ZIP_(file_format)">zip</a> file (using the STORE method) with then NEW id3 tags surrounding the zip! End result &#8211; &#8216;<a href="http://darwinsys.com/file/">file</a>&#8216; sees the id3 tags, and assumed mp3 data. Quodlibet was writing the outside layer of  id3 data, but rhythmbox was reading the inside (true mp3) id3. (note that in examining backups, the zip data already had the false id3 tags before quodlibet ever saw it)</p>
<p>Anyway, fixing was easy. First strip the outside id3 tags using <a href="http://sourceforge.net/projects/id3v2">id3v2</a> (or similar). Then extract the mp3 from the zip file (which in this case had been renamed with an .mp3 file extension), and finally re-tag using the original method.</p>
<p>I note that these files had not previously been caught since the zip file had them stored using the &#8216;STORE&#8217; method. ie, uncompressed. All music players tested (quodlibet, rhythmbox, <a href="http://www.mplayerhq.hu/">mplayer</a>, <a href="http://mpg321.sourceforge.net/">mpg321</a>) played the file fine &#8211; effectively ignoring the multiple leading (and trailing) id3 tags and PKZIP headers and footers. They just found mp3 data directly as expected and played it. And no, I can&#8217;t tell you now which players saw which set of id3 data. I didn&#8217;t test this.</p>
<p>Ok, that&#8217;s all well and good, but what about the rest of the music collection? Could this have happened elsewhere?</p>
<p>Sure could! And the solution is simple. Grep for the PKZIP file header in EVERY audio file you have.</p>
<p>This is the core of this post however, as it turns out that of the standard GNU commandline <a href="http://www.gnu.org/software/grep/">grep</a> and variants (egrep, rgrep, etc), none of them can grep for arbitrary binary strings.</p>
<p>commandline FAIL!</p>
<p>Seriously. I was surprised that what seemed like such an obvious thing was unavailable using standard tools!</p>
<p>Fortunately, like all good problems, someone had scratched this ones itch &#8211; and I quickly found <a href="http://debugmo.de/?p=100">bgrep</a>. (Here is the link again and in the clear, because this is the central point of this blog:  <a href="http://debugmo.de/?p=100">http://debugmo.de/?p=100</a> )</p>
<p>It&#8217;s small, simple, compiled in an instant, and did exactly what I wanted: which in this case was to grep for the hex string <tt>504B0304</tt> &#8211; that being the four byte header of a PKZIP file.</p>
<p>So let&#8217;s get to the core  of it. You want to binary grep your entire music collection for a PKZIP file header &#8211; so you&#8217;ll want to run something like this  (assuming $PWD is your music library directory):</p>
<pre>find . -type f -print0 | xargs -n1 -0 bgrep 504B0304</pre>
<p>You&#8217;ll want to capture the  output for sorting, as for each match it gives the matching filename, and the hex offset the match (ie, what you&#8217;d expect given the context of the original grep).</p>
<p>A true zip file will have an offset of <tt>00000000</tt>, whilst a zip file with an unwanted id3 header will have an offset approximately in the range between <tt>00000500</tt> and  <tt>00000700</tt>.</p>
<p>Remember, this is only a four character binary string, and is quite likely to occur elsewhere in your data, given a large enough data set. Any hits from this search will still require individual evaluation, in which case they can be cleaned up with the suggestions noted previously.</p>
<p>Happy musics everyone!</p>
<p style="padding-left: 30px;"><em>&lt;edit&gt;<br />
tmbinc &#8211; the author of bgrep &#8211; pointed out to me that bgrep is recursive by default anyway, so in fact the only command needed from your music directory is:</em><br />
<strong><tt>bgrep 504B0304 *</tt></strong><br />
=)<br />
<em>&lt;/edit&gt;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thorx.net/2009/07/binary-grep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
