<?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>kbps &#187; foobar2000</title>
	<atom:link href="http://www.kilobitspersecond.com/tag/foobar2000/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kilobitspersecond.com</link>
	<description>A blog about Ubuntu, typography, and contemporary technologies.</description>
	<lastBuildDate>Wed, 11 Jan 2012 18:48:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Alphabetization Is Positively Fucking Shite for (large) Music Libraries</title>
		<link>http://www.kilobitspersecond.com/2009/01/10/alphabetization-is-positively-fucking-shite-for-large-music-libraries/</link>
		<comments>http://www.kilobitspersecond.com/2009/01/10/alphabetization-is-positively-fucking-shite-for-large-music-libraries/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 23:12:33 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[journal]]></category>
		<category><![CDATA[alphabetization]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[Songbird]]></category>

		<guid isPermaLink="false">http://www.kilobitspersecond.com/?p=1473</guid>
		<description><![CDATA[I’ve been running Ubuntu for several weeks now, probably over a month, almost exclusively. There are a couple things I miss about Windows; I keep it installed as a dual-boot option in case it takes me more than half an hour to figure out how to do something in Ubuntu that I can do in [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been running Ubuntu for several weeks now, probably over a month, almost exclusively.  There are a couple things I miss about Windows; I keep it installed as a dual-boot option in case it takes me more than half an hour to figure out how to do something in Ubuntu that I can do in Windows in under two minutes.</p>
<p>One of the things I miss the most, of course, is <a href="/tag/foobar2000/">foobar</a>.  I’ve been using <a href="http://www.getsongbird.com/">Songbird</a>, whose Linux version runs just as well as the Windows version I’ve gotten used to.  But I didn’t truly realize how lost I was without <a href="/2006/07/09/intelligent-browsing-in-foobar/">my library filters</a> in foobar; I think if in Windows I had wanted to play something in Songbird, but didn’t know what to listen to, I would have used my foobar setup to figure it out, then searched for the album in Songbird.  I did this absentmindedly enough that, now that I’m without foobar, I’m alarmed at how difficult it is to navigate my library.  I’m sitting here with Songbird open, and I’ve got <em><strong>1,369</strong></em> artists.  What the hell am I supposed to do with that?</p>
<p>In foobar I had mood tags and clusters based on AllMusic data, so if I wanted something upbeat, I’d just look under the appropriate moods.  If that didn’t work, I’d at least find an artist who came close, and then could use <a href="http://chron.visiondesigns.de/foobar2000/#foo_scrobblecharts">foo_scrobblecharts</a> to find anybody in my library who was up to two degrees of separation away from any selected artist on Last.fm.</p>
<p>In Songbird, the best I can do is browse by genre (eyeroll), or use the <a href="http://addons.songbirdnest.com/addon/1297">Music Recommendations</a> add-on, which only lists the top <strong>five</strong> matches for the currently playing artist on Last.fm, whether or not those five are in my library; if one of them <em>happens</em> to be, it conveniently links me to their tracks in my library, but it’s not that frequent an occurrence.</p>
<p>Anyway.  The short of it is, for the eightieth time: something has to be done.  How on God’s green earth does <em>anybody figure out what to listen to?</em>  Oh that’s right, everybody just listens to Coldplay and U2 and Radiohead and Sufjan and The Hold Steady and The Shins and Miles Davis.  If I only had seven artists I suppose I wouldn’t be making much of a fuss either.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2009/01/10/alphabetization-is-positively-fucking-shite-for-large-music-libraries/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[req] Perfect Recall</title>
		<link>http://www.kilobitspersecond.com/2008/09/11/req-perfect-recall/</link>
		<comments>http://www.kilobitspersecond.com/2008/09/11/req-perfect-recall/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 23:58:53 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[journal]]></category>
		<category><![CDATA[kbps]]></category>
		<category><![CDATA[archivism]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[Songbird]]></category>

		<guid isPermaLink="false">http://www.kilobitspersecond.com/?p=892</guid>
		<description><![CDATA[I have a big problem with keeping track of the media I consume. With all the albums I download and listen to, and all the shit I read online, I’m oppressed by this feeling that it’s all just running through me without being digested or processed. It’s over-stimulation, I end up with all this shit [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.kilobitspersecond.com/stuff/weather-notes-252x252.jpg" alt="" title="weather-notes" width="252" height="252" class="alignleft size-medium wp-image-1275" />I have a big problem with keeping track of the media I consume.  With all the albums I download and listen to, and all the shit I read online, I’m oppressed by this feeling that it’s all just running through me without being digested or processed.  It’s over-stimulation, I end up with all this shit in my head that I don’t know what to do with.  I could of course just limit my intake, but I’m addicted to media and I don’t feel like changing any time soon.  Plus there’s got to be a way I can apply all this stuff.</p>
<p>I suppose traditionally that’s what the blog format is meant for, to just kind of shit out everything you consume in the form of links and video embeds.  But really that’s more like just “taking notes” at a lecture with a cassette recorder, see what I mean?  That’s just transcription.  I need something to <em>do</em> with it all.  This problem is addressed to some extent by my meticulous music library curation with foobar, and my desperate calls recently for somebody to improve on the way we manage our music.</p>
<p>I think a prevailing problem is that of linearity; I can write a post on here, then another post, then another, and they appear chronologically in a line.  Tagging and categorizing helps to make the content on here a little less linear, but it’s still not satisfying enough.  I mean what I want is to be able to have some very loose, scrapbook-y interface where I can just kind of swim through collages of things: albums, journal entries.  Snapshots of various aspects of certain time-periods.  Paper is free-form enough to serve a purpose like this, but notebooks aren’t searchable or easily rearrangeable, and aren’t as ubiquitous as the web.</p>
<p><span id="more-892"></span></p>
<p>I actually am working on a new category in here that will present entries a little differently, to accommodate the kind of note-taking that I’m talking about, but even that’s too manual.  Why can’t I, for instance, while listening to a D+ album in foobar, click something that will allow me to leave a note on it?  The note will be linked to the album, to the song, to the artist, and to today’s date.  Later that note will turn up in searches, and whenever I focus on this song/album/artist again.  There are a couple solutions for this but all of them are inelegant.</p>
<p>It’s almost as though this whole paradigm of <strong>nodes</strong> needs to be re-thought.  Nodes don’t adequately mimic the way we think, our brains aren’t that compartmentalized.  When we are consciously focused on one thing, our attention is also inadvertently directed towards related things.  For instance, when you think of an apple, you’re not likely thinking <em>only</em> of the qualities of an apple; a small if undetectable part of you is thinking about Snow White, thinking about Genesis, thinking about <em>pears</em>.  And when does something like an apple evolve from a confluence of impressions — their taste, their color, their shape — into something as “node”-like as “an apple”?  Is an apple categorized as “fruit” (which is itself a subcategory of “food”), and tagged as “crunchy,” “juicy,” “sweet,” etc.?  Not exactly.  And not to mention “an apple”’s faint associations with every experience you’ve had with one.  Should those experiences be tagged “involved:apple”?</p>
<p>Simply put I guess it’s just a problem of memory.  When I listen to an album for the first time, for instance, I <em>never want to forget</em> when I listened to it and what I thought of it.  Yet I think it happens <em>more often than not</em> that when I listen to something, I forget sooner than later what I thought of it, or even that I listened to it at all.</p>
<p>A real-world example: I downloaded the new Evangelicals record some months ago.  I listened to it once, and from what I can remember, I liked it a fair amount.  But I never touched it again.  I forgot they existed.</p>
<p>When they opened for Frog Eyes months later, I barely recognized the name.  I seriously believed that I had only heard their name, but didn’t have a clue what they sounded like.  It wasn’t until I was at the bar ordering a drink overhearing them play “Another Day” that it clicked.  Since then I’ve listened to the album half a dozen or more times and found that I really enjoy it.</p>
<p>So, that’s a problem.  What’s the solution?</p>
<p>I suppose I could have rated some of their songs when I first heard them.  Looking at them now in my foobar, I see that “Another Day” is tagged with 4/5 stars.  But when did I do that?  I don’t know!  I shouldn’t have to worry about these things.</p>
<p>What about a world in which, on some day a couple weeks after I first heard that record, I opened my media player and it presented me with that album, as if to ask me, “Hey, you listened to this album for the first time a few weeks ago, right after you downloaded it.  You didn’t rate it; what did you think of it?  Want to listen to it now to remind yourself?”  It’s not that far-fetched an idea.  But, again: media players are largely just spreadsheets.</p>
<p>What about all those movies I see thanks to Netflix?  What happens to them years after I watch them?  It’s as though I didn’t watch some of them at all.  I remember seeing <em>Alphaville</em> sometime in 2005, for instance, but other than some vague imagery I’ve retained, I have <em>no idea what that movie was like</em>.  Should I have written myself a short review of it after I watched it?  Where would I have put it?  What is the proper receptacle for that?</p>
<p>Somehow I’ve been trained to think that I should be not only capable of, but in fact <em>actively</em> thinking about everything I’ve experienced all the time.  That’s sick, isn’t it?  Is that a product of the internet?  Over-stimulation?  Is perfect recall too much to ask?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2008/09/11/req-perfect-recall/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Alphabetization Is Not Fit for Music Libraries</title>
		<link>http://www.kilobitspersecond.com/2008/06/16/alphabetization-is-not-fit-for-music-libraries/</link>
		<comments>http://www.kilobitspersecond.com/2008/06/16/alphabetization-is-not-fit-for-music-libraries/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:52:31 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[AllMusic]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Last.fm]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Songbird]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.kilobitspersecond.com/?p=522</guid>
		<description><![CDATA[Wikipedia’s article on alphabetization explains: Advantages of sorted lists include: one can easily find the first n elements (e.g. the 5 smallest countries) and the last n elements (e.g. the 3 largest countries) one can easily find the elements in a given range (e.g. countries with an area between .. and .. square km) one [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Collation">Wikipedia’s article on alphabetization</a> explains:</p>
<blockquote><p>
Advantages of sorted lists include:</p>
<ul>
<li>one can easily find the first n elements (e.g. the 5 smallest countries) and the last n elements (e.g. the 3 largest countries)</li>
<li>one can easily find the elements in a given range (e.g. countries with an area between .. and .. square km)</li>
<li>one can easily search for an element, and conclude whether it is in the list</li>
</ul>
</blockquote>
<p><img src="http://www.kilobitspersecond.com/stuff/music-library-ipod.png" alt="" title="music-library-ipod" width="158" height="129" class="alignright size-full wp-image-575" />The first two advantages are things you almost never need to do with music libraries.  And the third has been supplanted by now-ubiquitous search boxes: if you <em>know</em> what you’re looking for, you search; and if you don’t, an alphabetized list is not the way to find it.</p>
<p>Web visionary Ted Nelson (&lt;mst3k&gt;<em>Dr.</em> Ted Nelson?&lt;/mst3k&gt;) has been <a href="http://www.futureofthebook.org/blog/archives/2007/10/ted_nelsons_still_on_the_job.html">paraphrased</a> as pointing out that “electronic documents have been designed to mimic their paper antecedents,” and that “this is where everything went wrong: electronic documents could and should behave entirely differently from paper ones.”  If <a href="http://en.wikipedia.org/wiki/Directory_(file_systems)#The_folder_metaphor">the folder metaphor</a> is inadequate for digital <em>documents</em>, no wonder it’s so pitiful at handling <em>music</em>.  The proximity between pieces of music in a library should <strong>least of all</strong> be based on the first letter in a band’s name – it’s as arbitrary as sorting them by the vocalist’s month of birth – yet this is how it’s universally done.</p>
<p>Music library organization needs to be re-thought from the ground up.  We need to consider how it is that people used to listen to music before it was all on their iTunes.  How are your CDs organized (or disorganized) on your shelf?  How are they organized in your head?  What is it that prompts you to listen to what you listen to when you listen to it?  <strong>And how can we use computers to adopt and enhance these ways of thinking, rather than forcing us to think like computers?</strong><span id="more-522"></span></p>
<h4>Multi-Dimensional Sorting</h4>
<p><a href='http://www.kilobitspersecond.com/stuff/music-library-artist-web.png'><img src="http://www.kilobitspersecond.com/stuff/music-library-artist-web-300x258.png" alt="" title="music-library-artist-web" width="300" height="258" class="alignleft size-medium wp-image-573" /></a><span class="dropcap">T</span>he most natural method for organizing music (if you can escape alphabetical thinking for a moment) is by similarity.  Last.fm does this, and it is invaluable.  When you are at an artist’s page at Last.fm, you feel that you are in that artist’s “neighborhood,” with links to similar bands, tags, listeners, and related groups.  The Last.fm architecture was designed to manifest organic, bottom-up communities around bands and genres.  This is an experience that cannot currently be replicated in any music player, at least not easily (with the possible exception of <a href="http://amarok.kde.org/">Amarok</a>).  But because <a href="http://www.audioscrobbler.net/">Last.fm’s data is extraordinarily accessible</a>, there are virtually no obstacles to incorporating this sense of “musical neighborhoods” into a piece of software.</p>
<p><img src="http://www.kilobitspersecond.com/stuff/music-library-moods-allmusic.png" alt="" title="music-library-moods-allmusic" width="249" height="451" class="alignright size-medium wp-image-576" />If you don’t already have an artist in mind whose neighborhood you’d like to browse, you probably at least have some idea of the kind of mood you’re after, and there are several approaches here.  One (perhaps the least viable) is using <a href="http://www.last.fm/music/+tags">Last.fm’s tags</a>.  These are actually less often concerned with mood than they are with genre, a taxonomy well-known as being inconsistent and, I would argue, misguided: When I want to listen to <a href="http://www.last.fm/music/Lullatone">Lullatone</a>, it’s not because I want to listen to <em><a href="http://www.last.fm/tag/electronic">electronic</a></em> music; it’s because I want to listen to “<a href="http://www.allmusic.com/cg/amg.dll?p=amg&#038;sql=77:11259">whimsical</a>,” “<a href="http://www.allmusic.com/cg/amg.dll?p=amg&#038;sql=77:12123">delicate</a>,” “<a href="http://www.allmusic.com/cg/amg.dll?p=amg&#038;sql=77:11255">innocent</a>,” “<a href="http://www.allmusic.com/cg/amg.dll?p=amg&#038;sql=77:13103">sparkling</a>” music.  Who cares what genre it is?</p>
<p><a href="http://www.macrovision.com/products/online_stores_portals/data_licensing/amg_data_solutions.htm">AllMediaGuide </a> began a project called <a href="http://www.amgtapestry.com/">Tapestry</a> some time ago, an application of their vast mood/situation/genre dataset.  It is an <em>ideal</em> solution for browsing music, and its integration into desktop software would be hugely rewarding.  It’s possible to simulate Tapestry with foobar2000 and some elbow grease, but the results are not as robust as they could be.<img src="http://www.kilobitspersecond.com/stuff/music-library-moods-foobar.png" alt="" title="music-library-moods-foobar" width="479" height="287" class="aligncenter size-full wp-image-572" /></p>
<p>Again, if you already know what you’re looking for, it would be difficult to find it through these channels; <strong>but this is what search is for.</strong></p>
<h4>Personalization</h4>
<p><span class="dropcap">W</span>e also need to consider the less objective and more personal reasons that music becomes relevant in specific contexts, analogously to the way in which CDs become disordered on one’s shelf.  I, for instance, usually have about 20 albums littering the top of my receiver and speakers.  These include, roughly, (a) stuff I just bought, (b) stuff I just listened to, and © stuff I haven’t bothered putting away because I know I’ll listen to it again soon.</p>
<p><img src="http://www.kilobitspersecond.com/stuff/music-library-highfidelity.png" alt="" title="music-library-highfidelity" width="300" height="200" class="alignright size-medium wp-image-581" />The main obstacle to browsing in this way is a prevalent shortcoming whose symptoms are far-reaching: the fact that music players “think” in terms of <em>songs</em>, not in terms of <em>albums</em>—or even in terms of artists, for that matter: My music software doesn’t know that these 38 songs are all by Electrelane; it just knows that their artist metadata is alphabetically adjacent.  Sure, you can sort iTunes libraries by data such as “last listened” and “added”; and you can use CoverFlow to simulate a pale approximation of a flesh-and-blood record collection; but the only way you can sort albums or artists is alphabetically.  <a href="http://www.kilobitspersecond.com/2006/10/22/mp3toys/">I’ve written</a> about the ways in which <a href="http://www.mp3toys.net/">MP3Toys</a> addresses this problem, and it remains a commendable pioneer in music management, but its difficulties (a steep learning curve, a buggy interface, a rapid release schedule) outweigh its advantages.</p>
<p><a href='http://www.kilobitspersecond.com/stuff/music-library-histogram.png'><img src="http://www.kilobitspersecond.com/stuff/music-library-histogram-300x444.png" alt="" title="music-library-histogram" width="300" height="444" class="alignleft size-medium wp-image-578" /></a>Browsing your own music library is a very impersonal experience, despite enormous potential for personalization.  Rich info visualization “toys” such as <a href="http://build.last.fm/item/34">Last.fm Extra Stats</a> and <a href="http://build.last.fm/item/36">LastGraph</a> are seen as novelties, but would, in fact, be revolutionary as library browsing environments.  There is nothing to prevent this from development, either; even users who are not plugged into Last.fm could have their listening history stored locally by their music software, which could then be used to generate small, cached, infinite-resolution SVG histograms, browsable by zooming, panning, and clicking.  Far from being cumbersome and CPU-intensive, it would actually be rather elegant.</p>
<p>Continuing on the theme of chronology, what about a simple calendar charts view, with varying granularity by day, week, month, quarter?  Presentationally, these charts could even be made easily to resemble vertical stacks of CDs, with spine art generated from a cropped cover image and overlaid text.  This would arguably be eye-candy, of course, but just imagine how it would “feel” to see your music this way.  If there’s one thing Apple’s been consistently right about, it’s that functionality is not at odds with a pleasant user experience, but rather that they are meant to be mutually supportive.</p>
<p><a href='http://catandgirl.com/?p=219'><img src="http://www.kilobitspersecond.com/stuff/music-library-catandgirl.png" alt="" title="music-library-catandgirl" width="193" height="171" class="alignleft size-medium wp-image-580" /></a>When I was helping to establish some playstamp tagging standards with the foobar community in 2005, <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=31530&#038;view=findpost&#038;p=274237">it was jokingly suggested</a> that when songs are played they be tagged with the current weather.  Despite the sarcasm, I couldn’t help but think, “What a great idea!”  I know my listening habits are affected by the weather, and I can’t imagine other people are not the same.  There is, after all, a frequently-used “<a href="http://www.last.fm/tag/rainy+day">rainy day</a>” tag at Last.fm.</p>
<p>What about a histogram based not on play count, but on <a href="/tag/hotness/">hotness</a> values over time?  What about artist similarity webs based not on Last.fm data, but on proximity of play times within your personal history?  What about taking lessons from the <a href="http://www.dontclick.it/">DONTCLICK.IT</a> project, <a href="http://www.bumptop.com/">BumpTop</a>, and <a href="http://portal.acm.org/citation.cfm?id=143055">the pile metaphor</a> for unprecedentedly fluid user interfaces?</p>
<h4>What Now?</h4>
<p><strong>All the ingredients are there.</strong>  Everyone is rapidly moving towards an exclusively digital music collection, and the technology is embarrassingly outmoded.  Music has become a major component of computing, at levels once reserved for word processing and gaming.  Our relationship with our digital music collections is poised for reinvention, a looming difficulty that has been made invisible by custom and habit.  Digital music management is <strong>hell</strong>, and users have complacently accepted this.</p>
<p><a href='http://www.kilobitspersecond.com/stuff/music-library-metrics.png'><img src="http://www.kilobitspersecond.com/stuff/music-library-metrics-300x189.png" alt="" title="music-library-metrics" width="300" height="189" class="alignright size-medium wp-image-579 transparent" /></a><span class="dropcap">T</span>he obvious solution at this point is <a href="http://www.getsongbird.com/">Songbird</a>.  Songbird’s <a href="http://addons.songbirdnest.com/tag/mediaview">media views</a> (<a href="http://blog.songbirdnest.com/2008/03/26/songbird-05-final-released-all-aboard/">present since 0.5</a>) allow more easily than ever for custom browsing environments.  Previously the only way to alter your music browsing environment was to switch programs entirely; besides which, nearly all available programs simply mimic the well-known disk/directory views or iTunes’ browser pane view (which is just a glorification of a disk/directory view anyway).  Songbird, on the other hand, boasts an unprecedented extensibility, coupled with <a href="http://technorati.com/tag/songbird?authority=a7">media attention</a>, ease-of-use, and the Mozilla platform, for which people have been developing extensions for ages (in computer years).</p>
<p>The prospects are thrilling and the potential for innovation is virtually limitless.  Promisingly, there are some glimpses of where things might be headed for Songbird media views: <a href="http://addons.songbirdnest.com/addon/232">Catalogue View</a> demonstrates a novel visual presentation of your library, though it doesn’t do much in the way of organizational presentation; and <a href="http://addons.songbirdnest.com/addon/1214">Metrics Media Page</a> is the beginnings of the kind of infovis view that could be (but currently isn’t) adapted to allow for actual navigation.  Nevertheless, I have a bad feeling that this opportunity will be missed, as the status quo continues to obfuscate these possibilities.</p>
<p class="follow-up"><strong>Update</strong>: <a href="http://www.kilobitspersecond.com/2008/08/21/alphabetization-part-ii/">Part II</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2008/06/16/alphabetization-is-not-fit-for-music-libraries/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>foobar2000 Is Dead or Dying: Part 1</title>
		<link>http://www.kilobitspersecond.com/2008/05/09/foobar2000-is-dead-or-dying-part-1/</link>
		<comments>http://www.kilobitspersecond.com/2008/05/09/foobar2000-is-dead-or-dying-part-1/#comments</comments>
		<pubDate>Fri, 09 May 2008 16:56:57 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[haha]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.kilobitspersecond.com/?p=276</guid>
		<description><![CDATA[Originally written June 30, 2007. There’s always been a significant faction of foobar2000 users whose primary attraction to the player is its appearance, or rather the level of control given to its users over its appearance. In its infancy, with the standard (and still default) UI, very little was possible — the main window consisted [...]]]></description>
			<content:encoded><![CDATA[<div class="preface">Originally written June 30, 2007.</div>
<p><span class="dropcap">T</span>here’s always been a significant faction of foobar2000 users whose primary attraction to the player is its appearance, or rather the level of control given to its users over its appearance.  In its infancy, with the standard (and still default) UI, very little was possible — the main window consisted solely of a tabbed playlist and several functional toolbars — but people nevertheless took a lot of pride in making it their own, and some impressive things were done with relatively minimal flexibility.  It was in the standard UI that users began experimenting with album-level presentation, choosing not to repeat redundantly the artist and album name on each line of the playlist, but to use the second, third, and sometimes fourth lines to display other info, such as year, label, genre, replaygain info, etc.  Each of these customizations was unquestionably unique, but most of the broad details of the interface were consistent and inescapable.</p>
<p>The Columns UI component began as an experiment in allowing for multiple columns within the playlist display, emulating the Windows Explorer “Detail” view (and many other Windows programs), with sortability via clickable column headings.  Eventually Columns UI added a sidebar and, later, panels, allowing the whole foobar window to be split up indefinitely into panel-based component displays, the playlist viewer becoming just another one of these.  This granted much greater flexibility, allowing users to tailor the interface even more precisely to their needs.  You could now display album art as prominently as you wanted, or not at all; your entire library tree could be embedded within the main window, rather than tucked away in a pop-up; and with the trackinfo panel’s exceptionally lax (by that era’s standards) stylizations, the personalization of <em>your</em> foobar became even more addictive, and, more importantly, rewarding.</p>
<blockquote class="pullquote-1"><p>Many seemed hell-bent on concocting the most garish presentations imaginable: giant gothic blue-on-black custom fonts, deep-red 200-px-tall spectrum analyzers, all, of course, coupled with custom OS “vis.”</p></blockquote>
<p>While some still preferred the purity and elegance of the standard UI, the personalizations made possible by Columns UI were inarguably functional ones, for the most part.  Fonts, colors, distribution of panels, and a rudimentary method of text alignment were really as far as you could go.  At the core of all the boasted screenshots was a recognizable structure, all slight variations on the theme of playlist+trackinfo+albumlist+albumart.  Outside of displaying album art, there was nothing <em>profoundly</em> new that Columns UI allowed you to do — rather, Columns UI gave you more control over <em>how</em> you did what you <em>needed</em> to do.</p>
<p><span id="more-276"></span>And yet, many (and in increasing number) seemed hell-bent on concocting the most garish presentations imaginable: giant gothic blue-on-black custom fonts, deep-red 200-px-tall spectrum analyzers, all, of course, coupled with custom OS “vis” and the most tasteless collections of death-/black-/speed-metal slash industrial slash deep house techno.  For whatever reason, people are attracted to this, and these screenshots rapidly brought more curious foobar novices into the forums, wanting a “cool” music player of their own.</p>
<p>At the time, these people were not in the majority of new enlistees.  Many continued to jump on board for the incomparably robust program that was still very much the heart of the foobar community, despite all the dressing up.  The occasional rogue thread would crop up, asking questions that had been answered countless times before; the new user would be chastised, sent to another relevant thread, answered directly, or any combination of the three.  These occurrences were perennial but negligible, and besides, they fell into the unspoken hierarchy of usership; it was the role of the foobar sophomores to help these people out, because they had only recently been in a similar position.</p>
<p>Foobar2000 was in a state of relative stasis.  Version 0.9, the successor to 0.8.3, was released in early 2006; the set of “essential” core components was more or less firmly established, only waiting to be perfected; users tweaked their interfaces, inching ever closer to an asymptotic UI utopia; things were good.</p>
<blockquote class="pullquote-2"><p>Two seemingly simple components engendered a monumental shift in the way people thought about foobar.</p></blockquote>
<p>Eventually, the inflexibility of the trackinfo panel began to bother some people, particularly that each instance of a trackinfo panel was limited to one font and size.  A user named <a href="http://www.hydrogenaudio.org/forums/index.php?showuser=33259">terrestrial</a> began developing “<a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Track_Info_Panel_Mod_%28foo_uie_trackinfo_mod%29">Track Info Panel Mod</a>,” which allowed for in-panel font changes, as well as the inclusion of images.  It was this last feature, images, where things really began to get off track.  The freedom to arbitrarily place any image within the foobar window is almost strictly <em>un</em>functional, motivated purely by the desire to make foobar look good.  The introduction of this component encouraged a shift in mentality about foobar, producing ever more flashy screenshots, and attracting ever more users seeking eye-candy.</p>
<p>As Track Info Panel Mod evolved and grew in popularity, people craved increasingly more control.  The functionality was amended hastily, by sloppy, ad hoc revisions of the bizarre, cumbersome formatting language.  Still, it was only one component, it had found a niche, and it kept to itself.</p>
<p>A few months later, terrestrial began development on a second component, “<a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Single_Column_Playlist_%28foo_uie_single_column_playlist%29">Single Column Playlist</a>” (SCPL).  This began as a simple attempt to replace Columns UI’s playlist view, which, ironically, is the one thing that Columns UI was originally created for.  Rather than a static grid of multiple columns and rows, terrestrial envisioned a blank canvas, much like Track Info Panel Mod (TIPM), upon which images and track info could be laid with almost total freedom.  Additionally, SCPL was able to group playlist items into collapsible albums, introducing the kind of album-level handling that had eluded foobar users for so long.</p>
<blockquote class="pullquote-1"><p>One got the sense that people were beginning to believe that foobar <em>was</em> TIPM/SCPL.</p></blockquote>
<p>Meanwhile, TIPM had begun to allow foobar commands to be associated with images, so that images in the panel could act as buttons.  This was naturally extended to SCPL, and with that, two seemingly simple components engendered a monumental shift in the way people thought about foobar.  TIPM and SCPL dominated huge portions of people’s foobar windows; the album art panel was rejected in favor of placing album art in TIPM and SCPL; statusbars, toolbars, and even titlebars were replaced with button-loaded TIPM panels.  And with glassy effects everywhere, huge flame backdrops, and iTunes-like album art reflections, older components began to seem just that — old.  An albumlist panel, with its Explorer tree appearance, and separated from the prettier panels by gray bars, was no longer acceptable as part of a seamless, highly stylized UI.  Were these configurations functional?  In some cases, yes, but largely, no — or rather, function was of a distant, secondary concern.  </p>
<p>The effects of this were twofold: first, the forums were flooded with people who had seen these screenshots and wanted a decked-out music player to match their translucent, purple-LED-spangled case mods; second, because of TIPM/SCPL’s convoluted new formatting language, foobar’s already notorious learning curve was pitched to unprecedented new heights.  Avatar-less users were everywhere, starting new threads with their first post, asking questions about TIPM/SCPL.  These questions belonged in the components’ threads, of course, but one got the sense that people were beginning to believe that foobar <em>was</em> TIPM/SCPL.</p>
<p>Inevitably, TIPM and SCPL were merged into one component, <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panels_UI_%28foo_ui_panels%29">Panels UI</a>, which replaces entirely the Columns UI interface: “Panels UI looks and acts like one large Track Info Mod panel (advanced text positioning, multiple font configurations, displaying images, etc.) that can inside of it host new panels.”  Alarmingly, <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55829">a very recent poll</a> shows that, out of 89 foobar users, 42.7% are using Panels UI.  And the threads continue to this day:</p>
<ul>
<li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55843">panels UI sort problem (quick question)</a></li>
<li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55781">few question [sic] about Panels UI</a></li>
<li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55764">how do i make a button that will open the menu? (With foo_ui_panels)</a></li>
<li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55760">PanelsUI Coding Questions (Questions I Cannot Find Answers To.….….…)</a></li>
<li>and my favorite: <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=55762">please help. panels UI :( (renamed to rocket scientist UI?)</a></li>
</ul>
<p>Admittedly, Panels UI <em>is</em> capable of improving foobar’s functionality.  If you took the time to develop a real expertise in the formatting language, the look and feel of foobar would be limited only by your imagination.  And my suspicion that the graphics-intensive nature of Panels UI places an unjustifiable burden on your system resources has been largely untested (by me).  Performance was the reason I got into foobar in the first place, and though I tried Panels UI for a few weeks with mixed results, the more measured, sober approach to foobar development demonstrated by older “essential” components ultimately drew me back to Columns UI, which I am still happily using today.</p>
<p>I do think it would be a wise solution to create a Panels UI section in the foobar forums.  These threads are not going away, and never before has a single component spawned so many one-off threads.  Unfortunately, the notoriously stubborn forum administrators would never agree to this, as it would violate the even-handedness with which foobar involvement has always been treated — “Why shouldn’t <em>my</em> component have its own forum?”</p>
<p>There is <a href="http://www.fooblog2000.com/">a new blog</a> meant to report foobar news from the forums, but its focus, too, is primarily on Panels UI.  But at least its posts are informative and considered, not thoughtless questions from frustrated n00bs, and it does allow and encourage contributions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2008/05/09/foobar2000-is-dead-or-dying-part-1/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hotness 1.6.c.1</title>
		<link>http://www.kilobitspersecond.com/2006/12/09/hotness-16c1/</link>
		<comments>http://www.kilobitspersecond.com/2006/12/09/hotness-16c1/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 03:07:56 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[hotness]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://kbps.resounder.org/2006/12/09/hotness-16c1/</guid>
		<description><![CDATA[Totally warranted subversioning! My foray into MP3Toys was ultimately short-lived, brought to a halt when I found what people were doing with Single Column Playlist for foobar, particularly the playlist-embedded album art. Back in the foobar saddle, I also gave in and tried out the “official” Play Count component, which I had avoided for so [...]]]></description>
			<content:encoded><![CDATA[<p>Totally warranted subversioning!</p>
<p><a href="/2006/10/22/mp3toys/">My foray into MP3Toys</a> was ultimately short-lived, brought to a halt when I found what people were doing with <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Single_Column_Playlist_%28foo_uie_single_column_playlist%29">Single Column Playlist</a> for foobar, particularly the playlist-embedded album art.  Back in the foobar saddle, I also gave in and tried out <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_Play_Count_%28official%29_%28foo_playcount%29">the  “official” Play Count component</a>, which I had avoided for so long because it didn’t support %FIRST_PLAYED%, and because I wasn’t sure I wanted my playback statistics only kept in the database — even though writing them to the files posed a lot of trouble as well.  Turns out, playback statistics stored by the official component are less sensitive to changes to the files it’s keeping track of than the unofficial one, which means I only have to be a little careful to keep all my stats intact, while being able to play and track files that I’m still seeding.</p>
<p>This, along with the invaluable $cwb_datediff() function provided by Bowron’s new <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:0.9_CwBowron's_Title_formating_(foo_cwb_hooks)">foo_cwb_hooks</a> component, called for a rewrite to the hotness code, which had been stagnating in some marginally compatible 1.5 version since May.  After severely trimming the code down and robusting things up, I thought of a new and totally non-arbitrary way to soften the blow hotness scores receive when songs are played.  I hated seeing them leap to 100 every time, and this new softening method makes so much sense, utilizing existing baseline calibrations to keep things a lot more interesting.  How anybody tolerated the old method is beyond me.</p>
<p>Anyway, <a href="http://www.hydrogenaudio.org/forums/index.php?s=&#038;showtopic=31287&#038;view=findpost&#038;p=455116">here</a> it is.</p>
<p>I also dug up a lot of old screenshots this week and I’m planning a nostalgia-fueled retrospective in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/12/09/hotness-16c1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MP3Toys</title>
		<link>http://www.kilobitspersecond.com/2006/10/22/mp3toys/</link>
		<comments>http://www.kilobitspersecond.com/2006/10/22/mp3toys/#comments</comments>
		<pubDate>Sun, 22 Oct 2006 18:18:10 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kbps.resounder.org/2006/10/22/mp3toys/</guid>
		<description><![CDATA[This will come as a shock to anybody who knows me, but I’ve all but stopped using foobar2000. A couple months ago on the indietorrents forums, somebody mentioned MP3Toys, and I’ve been using it almost exclusively since. As I mentioned in a previous post, all the chores I was made to do in foobar seemed [...]]]></description>
			<content:encoded><![CDATA[<p>This will come as a shock to anybody who knows me, but I’ve all but stopped using <a href="http://www.foobar2000.org/">foobar2000</a>.  A couple months ago on the indietorrents forums, somebody mentioned <a href="http://www.mp3toys.net/">MP3Toys</a>, and I’ve been using it almost exclusively since.</p>
<p><a href="http://www.flickr.com/photos/topdownjimmy/276368923/" title="Click for annotated image"><img src="http://static.flickr.com/80/276368923_e4fd2a9bbd_m.jpg" width="240" height="169" alt="MP3Toys" class="inset1" /></a>As I mentioned in <a href="http://www.kilobitspersecond.com/2006/07/09/intelligent-browsing-in-foobar/">a previous post</a>, all the chores I was made to do in foobar seemed to keep me from listening to music: I was working <em>for</em> my software, and not vice-versa.  My collection of music felt cold and dead and fragile in the hands of foobar, and none of the features I had idealized in my mind were anywhere near fruition (true <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=31287">hotness</a>, similarity-by-mood filters, etc.).  I desperately wanted something to get me back in touch with my music, something that delivered music <em>to me</em> in a way that felt as natural as buying a CD and putting it in my stereo.  I even considered switching to iTunes.</p>
<p>MP3Toys isn’t for every foobar user; I just got lucky enough that it emulates my ideal behavior in foobar.  It’s a living, breathing program, and using it is a humanistic experience.  It understands not just <em>that</em> you listen to music, but <em>why</em> you listen to music.  Some of its intelligent features include:<br />
<span id="more-105"></span></p>
<ul>
<li><strong>Album art storage</strong>: Sure, I’ve spent countless hours collecting album art for all the music on my hard drive, and MP3Toys can’t use it.  But what it can do is automatically download art from Amazon and store it in each album’s folder.  And for the art that isn’t available on Amazon, there is a built-in “Search <a href="http://www.rateyourmusic.com/">RateYourMusic</a>” launcher, among other engines, and images can be dragged onto albums from both Windows Explorer and any web browser.</li>
<li><strong>Album art display</strong>: MP3Toys places so much emphasis on album art that not only is the cover of the currently playing album prominently displayed in the center of the window, but your entire library is displayed as album art.  This may seem cumbersome with a large collection, but with MP3Toys’ searching and filtering options, browsing your music is a breeze.  Additionally — and this may seem trivial, but — when music is playing and you haven’t touched your mouse for a while, MP3Toys blows up the current album art to occupy the whole screen.  That’s just cool.</li>
<li><strong>Disk monitor</strong>: I hate <acronym title="Terminate and Stay Resident">TSR</acronym> programs, but MP3Toys’ system tray disk monitor is worth it.  This small program watches your music directories for changes and additions, which means that MP3Toys’ library is a live and accurate reflection of the contents of your hard drive.  Never again will some downloaded album be lost among a dozen others.  What this also means is that, when a torrent finishes in the background, I can watch the new album simply materialize in MP3Toys’ browser, with the corresponding album art downloaded.</li>
<li><strong>Library filters</strong>: The album-panning browser in the lower portion of the screen can be filtered and sorted in a number of ways (by folder, rating, last played, decade, etc.), but the best in my opinion is the “New” filter.  Clicking “New” displays only albums you’ve acquired in the last three months, sorted by how recently they were added to your hard drive — like the stack of CDs on your desk from your trip to the record store.</li>
<li><strong>Charts and history</strong>: One thing that really won me over is MP3Toys’ charts feature, which behaves <em>almost exactly</em> like the <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=31287">hotness</a> algorithm I’ve been developing for over a year.  The vertically-sorted charts consider both how much you’ve listened to an album (in <em>total duration</em>, not just by track count), and how recently you’ve listened to an album (with more recent listens positioned higher in the charts).  Simply brilliant.  The history list needs no explanation, but is really convenient as well.  Both surpass foobar’s abilities in these regards, in large part because they think in terms of <em>albums</em> — not songs.</li>
</ul>
<p>These are the features that, more than any other, make MP3Toys the most well-designed music jukebox I’ve used — and I’ve used a lot.  Furthermore, its lone developer, Robert Frahm, is almost unbelievably responsive to user feedback.  Even while I was still in trial mode, he was responding to my forum posts within 24 hours, often releasing small upgrades to address the issues I brought up.  This degree of dedication to such an already impressive program led me to actually pay for it, something I’ve only done a handful of times.</p>
<p>So what if I don’t make absolutely sure that every tag is accurate and spelled and punctuated correctly?  If that’s the cost of having a fluid music player that is grounded in reality, and not some theoretical realm of standards and universal adaptability, so be it.  The playlist, queue, and tag editor are features I’m not entirely comfortable with yet, but I’ll get there.  In the meantime, I’m listening to music again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/10/22/mp3toys/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Intelligent browsing in foobar</title>
		<link>http://www.kilobitspersecond.com/2006/07/09/intelligent-browsing-in-foobar/</link>
		<comments>http://www.kilobitspersecond.com/2006/07/09/intelligent-browsing-in-foobar/#comments</comments>
		<pubDate>Sun, 09 Jul 2006 21:52:55 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[AllMusic]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kbps.resounder.org/2006/07/09/anatomy-of-a-foobar-config/</guid>
		<description><![CDATA[Collecting my thoughts here… So, ironically, music is becoming increasingly difficult for me to listen to. As though worrying about an extensive gauntlet of tagging procedures isn’t enough, I just have too much damn music. Browsing alphabetically through upwards of 500 artists is not the best way to go looking for something when you have [...]]]></description>
			<content:encoded><![CDATA[<p>Collecting my thoughts here…</p>
<p><a href="http://www.kilobitspersecond.com/images/fb2klarge.gif" target="_blank"><img class="inset1" src="http://www.kilobitspersecond.com/images/fb2ksmall.gif" alt="foobar" /></a>So, ironically, music is becoming increasingly difficult for me to listen to.  As though worrying about an extensive gauntlet of tagging procedures isn’t enough, I just have too much damn music.  Browsing alphabetically through upwards of 500 artists is not the best way to go looking for something when you have no idea what you want to hear.</p>
<p>I’ve auditioned various methods of tweaking foobar to ‘deliver’ music to me more or less automatically, and I’m close to having something ideal.  The <a href="http://wiki.bowron.us/index.php/Foobar2000#foo_playlist_tree">playlist tree component</a> allows for dynamic tree structures (which, unfortunately, can only be rebuilt manually or every time a new song begins); using the titleformatting language, I’ve generated five queries whose purpose it is to ‘coax’ certain albums to starker visibility from the featureless and indifferent music library, to greater or lesser success.</p>
<p><span id="more-98"></span></p>
<ul>
<li><strong>Random 10</strong>: Maybe my favorite query.  This chooses ten albums at random and, in a clever twist of which I’m pretty proud, appends a short description of the album to the end of the title in the tree, using one adjectivial ‘tone’ tag and one nounal ‘style’ tag as taken from allmusic (the hard work pays off!), e.g., “Sprawling Post-Rock/Experimental” for Mogwai’s <em>Ten Rapid</em>.  This last bit is helpful as I don’t even recognize much of the stuff in my library.</li>
<li><strong>Never Heard</strong>: A given.  This chooses ten random albums on the condition that they contain at least one song that hasn’t been played.  Unfortunately there’s no way to filter for albums that have, say, at least half of their tracks unplayed, or even a fixed number of unplayed tracks for that matter, so the title of this query is a bit misleading.  And, because I’m even more likely not to be familiar with these, descriptor phrases are also included in the display of this tree (and in none of the remaining trees).</li>
<li><strong>Recently Added</strong>: Fifteen albums chosen for having a track that has recently been played for the first time.  Again, somewhat misleading, since very old albums that happen to have a recently debuted song will appear on this list, when I’d really like to restrict it to recently added albums.  If only foobar could keep track of when stuff is added to the library.  Helpful for reminding me of new stuff I’ve acquired.</li>
<li><strong>Recently Listened</strong>: Like ‘Recently Added,’ but narrowed to albums whose last play is at least a month from their first play (or, more specifically, whose last play was not in the same month as their first play).  This, ideally, will display old(ish) albums that I’ve found myself listening to lately.  And, like ‘Recently Added,’ useful in its results — if I chose to hear it recently, I’m likely to want to hear it again.</li>
<li><strong>Incoming</strong>: A live reflection of the contents of my incoming folder.  This would be great ’cause then I wouldn’t have to remember to open Windows explorer and drag new stuff into foobar to add it to the library, it would all just flow in seamlessly, even the .zips I download (since foobar can read archives).  Unfortunately Playlist Tree is still in beta and this feature seems to be broken at the moment.  Once it’s resolved, though, the circle will be closed and everything will be perfect and the skies will open up and we will know the face of God.</li>
</ul>
<p>My only remaining frustration is that playcount data basically <em>has</em> to be written to the files, something that can<em>not</em> be worked around by write-protecting the files as I had previously been led to believe.  My anticipated work-around will involve getting uTorrent to copy all downloads into another directory, one that it’s okay for foobar to mess around with, keeping seeded torrents in some quarantined directory that I never really touch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/07/09/intelligent-browsing-in-foobar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Verbal Timestamps for fb2k</title>
		<link>http://www.kilobitspersecond.com/2006/06/08/verbal-timestamps-for-fb2k/</link>
		<comments>http://www.kilobitspersecond.com/2006/06/08/verbal-timestamps-for-fb2k/#comments</comments>
		<pubDate>Thu, 08 Jun 2006 23:26:02 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.resounder.org/kbps/2006/06/08/verbal-timestamps-for-fb2k/</guid>
		<description><![CDATA[Last week I spent some time developing this algorithm in fb2k’s titleformatting script to translate numerical timestamps (YYYY-MM-DD HH:MM:SS) into natural English text (“Friday Evening”). It’s pretty cool. So, uh, here it is. ///////////////////////////////////////// // NATURAL LANGUAGE TIMESTAMPS // by topdownjimmy // v0.4 — June 4, 2006 ///////////////////////////////////////// // calculate “dayssince”: number of days since [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I spent some time developing this algorithm in <a href="http://www.foobar2000.org/">fb2k</a>’s titleformatting script to translate numerical timestamps (YYYY-MM-DD HH:MM:SS) into natural English text (“Friday Evening”).</p>
<p><img src="http://www.kilobitspersecond.com/images/verbaltimestamps.png" alt="verbal timestamps screenshot" /></p>
<p>It’s pretty cool.  So, uh, here it is.<span id="more-92"></span></p>
<div class="code">/////////////////////////////////////////<br />
// NATURAL LANGUAGE TIMESTAMPS<br />
// by topdownjimmy<br />
// v0.4 — June 4, 2006<br />
/////////////////////////////////////////</p>
<p>// calculate “dayssince”: number of days since song was last played<br />
$if(%last_played%,$puts(dayssince,$sub($add($mul($right(%_system_year%,2),365),$select(%_system_month%,0,31,59,90,120,151,181,212,243,273,304,334),$add($div($right(%_system_year%,2),4),$if($or($greater(%_system_month%,2),$greater($mod(%_system_year%,4),0)),1,0)),%_system_day%),$add($mul($substr(%last_played%,3,4),365),$select($substr(%last_played%,6,7),0,31,59,90,120,151,181,212,243,273,304,334),$add($div($substr(%last_played%,3,4),4),$if($or($greater($substr(%last_played%,6,7),2),$greater($mod($substr(%last_played%,1,4),4),0)),1,0)),$substr(%last_played%,9,10)))),$puts(dayssince,))</p>
<p>// correct “dayssince” to consider early AM to be an extension of previous day<br />
$puts(dayssince,$sub($get(dayssince),$if($and($greater(7,%_system_hour%),$greater($substr(%last_played%,12,13),6)),1,0)))<br />
$if($and($greater(%_system_hour%,6),$greater(7,$substr(%last_played%,12,13))),$puts(dayssince,$add($get(dayssince),1)),)</p>
<p>// calculate day of week<br />
$puts(calcdayofweek,$add(1,$mod($add($substr(%last_played%,3,4),$div($substr(%last_played%,3,4),4),$select($substr(%last_played%,6,7),6,2,2,5,0,3,5,1,4,6,2,4),$substr(%last_played%,9,10)),7)))</p>
<p>// correct day of week to consider early AM to be an extension of previous day<br />
$puts(calcdayofweek,$sub($get(calcdayofweek),$ifgreater(7,$substr(%last_played%,12,13),1,0)))<br />
$if($strcmp($get(calcdayofweek),0),$puts(calcdayofweek,7),)</p>
<p>// calculate period of day (night, morning, etc.)<br />
$puts(dayperiod,$select($add(1,$substr(%last_played% ‚12,13)),Night,Night,Night,Night,Night,Night,Night,Morning,Morning,Morning,Morning,Morning,Afternoon<br />
‚Afternoon,Afternoon,Afternoon,Afternoon,Evening,Evening,Evening,Evening,Night,Night,Night))</p>
<p>// calculate natural language timestamp<br />
$if(%last_played%,$puts(nat_lang_stamp,$ifgreater($get(dayssince),0,$ifgreater($get(dayssince),1,$ifgreater($get(dayssince),6,$if($and($greater($get(dayssince),21),$not($strcmp(%_system_month%,$substr(%last_played%,6,7)))),$if($not($strcmp(%_system_year%,$substr(%last_played%,1,4))),$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December)’ ‘$substr(%last_played%,1,4),$ifgreater(2,$sub(%_system_month%,$substr(%last_played%,6,7)),‘Last Month’,$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December))),$ifgreater($div($add($get(dayssince),4),7),1,$div($add($get(dayssince),4),7)’ Weeks Ago’,Last Week)),$select($get(calcdayofweek),Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)’ ‘$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Last,Yesterday)’ ‘$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Tonight,This $get(dayperiod)))),$puts(nat_lang_stamp,Never))</p>
<p>$set_global(nat_lang_stamp,$get(nat_lang_stamp))</p>
<p>/////////////////////////////////////////</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/06/08/verbal-timestamps-for-fb2k/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slightly Streamlined mp3 Tagging Flowchart</title>
		<link>http://www.kilobitspersecond.com/2006/05/09/slightly-streamlined-mp3-tagging-flowchart/</link>
		<comments>http://www.kilobitspersecond.com/2006/05/09/slightly-streamlined-mp3-tagging-flowchart/#comments</comments>
		<pubDate>Tue, 09 May 2006 23:56:39 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[foobar2000]]></category>

		<guid isPermaLink="false">http://resounder.org/kbps/2006/05/09/slightly-streamlined-mp3-tagging-flowchart/</guid>
		<description><![CDATA[I used to require four programs for getting all my tags exactly how I want them: The GodFather (with AllMusicGuide patch), the MusicBrainz Tagger, Mp3tag, and foobar2000. The GodFather was always the first and worst part of my tagging procedures, being slow, refusing to write APE tags, and relying on the Internet Explorer engine. Now [...]]]></description>
			<content:encoded><![CDATA[<p>I used to require four programs for getting all my tags exactly how I want them: <a href="http://users.otenet.gr/~jtcliper/tgf/">The GodFather</a> (with <a href="http://com1.runboard.com/bthegodfathermp3filemanagerforum.fannouncementsnewsother.t24">AllMusicGuide patch</a>), <a href="http://musicbrainz.org/tagger/download.html">the MusicBrainz Tagger</a>, <a href="http://www.mp3tag.de/en/">Mp3tag</a>, and <a href="http://www.foobar2000.org/">foobar2000</a>.  The GodFather was always the first and worst part of my tagging procedures, being slow, refusing to write APE tags, and relying on the Internet Explorer engine.</p>
<p>Now I’ve eliminated both The GodFather <em>and</em> MusicBrainz from the whole grueling process, boiling it down to just Mp3tag and foobar2000, thanks to <a href="http://www.anytag.de/forums/index.php?showtopic=2879">an AMG-scraping script</a> and <a href="http://www.anytag.de/forums/index.php?showtopic=1794">a MusicBrainz-scraping script</a> for Mp3tag.  The only drawback is that the AMG script doesn’t retrieve album descriptions (which I truthfully won’t miss a bit), and that the scripts use different tag field names (MOOD instead of TONES) to store some of the more frivolous metadata.</p>
<p>However there is some promise in the relative simplicity of Mp3tag’s scripting language, which, with enough knowledge of <a href="http://en.wikipedia.org/wiki/Regular_expressions">regular expressions</a>, seems to be capable of parsing anything out of an http request.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/05/09/slightly-streamlined-mp3-tagging-flowchart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AllMusic’s Tone Intersections</title>
		<link>http://www.kilobitspersecond.com/2006/03/14/allmusics-tone-intersections/</link>
		<comments>http://www.kilobitspersecond.com/2006/03/14/allmusics-tone-intersections/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 01:18:15 +0000</pubDate>
		<dc:creator>Jay</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[AllMusic]]></category>
		<category><![CDATA[foobar2000]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://resounder.org/kbps/2006/03/14/allmusics-tone-intersections/</guid>
		<description><![CDATA[In a previous post about A Flat Hierarchy for Subjective mp3 Tags, I described the arduous and marginally rewarding task of tagging my entire library with as many ‘tones’ tags as AllMusic was able to provide. With foobar2000 0.9 final now less than a week away, these tags may prove useful soon enough. But a [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous post about <a href="http://www.kilobitspersecond.com/2005/05/01/a-flat-hierarchy-for-subjective-mp3-tags/">A Flat Hierarchy for Subjective mp3 Tags</a>, I described the arduous and marginally rewarding task of tagging my entire library with as many <a href="http://www.allmusic.com/cg/amg.dll?p=amg&amp;token=&amp;sql=75:">‘tones’ tags</a> as <a href="http://www.allmusic.com/">AllMusic</a> was able to provide.  With <a href="http://www.foobar2000.org/">foobar2000 0.9 final</a> now less than a week away, these tags may prove useful soon enough.  But a few weeks ago, impatient and curious, I decided to put them to another use:</p>
<p><img class="center" src="http://www.kilobitspersecond.com/images/tones.gif" alt="tones intersection chart" /></p>
<p>By creating a tones/tones tree structure in foobar, I was able to count how often each ‘tone’ intersects with every other ‘tone.’  What you see above is the beginning of that data collection, which I ultimately planned to analyze in…some way.</p>
<p>After Googling around for ideas on tag clustering, I came across <a href="http://glaros.dtc.umn.edu/gkhome/cluto/gcluto/overview">gCLUTO</a>, a free piece of software that would, miraculously, do <em>exactly what I needed</em> — namely, magically figure out how best to cluster each tag with related tags.  I figured four clusters would be a comfortable number, based on earlier reading I had done on a two-axis theory of musical emotion (intense/relaxed and positive/negative).</p>
<p><img class="center" src="http://www.kilobitspersecond.com/images/clusters.jpg" alt="topographical cluster visualization" /></p>
<p>Unfortunately, my computer simply couldn’t handle even constructing and deconstructing the foobar tree without freezing up for about 45 minutes each time.  Plus, collecting all this data would have meant hours and hours of work, for a goal whose benefits weren’t very clear to me at all, as well as a halt in incorporating new downloads into my library.  It was a pretty exciting couple days while it lasted though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kilobitspersecond.com/2006/03/14/allmusics-tone-intersections/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

