Betwittered

March 12th, 2008

A bunch of my friends have started using twitter, seemingly all at once. I think the whole status update part of it is pretty dumb, I just use it for posting interesting tidbits in under 160 characters. It’s nice because I text them in as well, which I guess would be less notable if I could send email with my phone, but I can’t. Adrian asked me how I got my twitter updates into my sidebar. When my response was longer than I expected it to be, I realized that it hadn’t been trivial and other people might be interested.

As of version 2.2, wordpress has sidebar widgets. You get to them by going to the “presentation” tab and then the “widgets” sub-tab. You can move around all the stuff on the sidebar, take things out, etc, as long as your theme is compatible. I think my theme was compatible, but if you have a custom theme or are a theme author, there are instructions. There’s an RSS widget that shows RSS feeds which I think it checks every hour or so. Getting that running is the first step.

The only problem is that the wordpress RSS reader doesn’t like certain RSS feeds. Or at least that was the case with my version of it, maybe it’s been fixed since 2.2.2. It likes RSS feeds from feedburner, so I set up all of the feeds I wanted it to display on feedburner and have the RSS widget read them.

The third thing, which is still sub-optimal is getting the right rss feed from twitter. I wanted it to be the last N things I’ve posted, but unfortunately twitter has some sort of time limit so things that are too old don’t show up in the feed even if they’re in the N most recent posts. It would be nice to get the rss feed from the twitter archives, but it’s not immediately obvious how to do that. Another tricky thing was getting the feed for just me, not for me+friends. Also on the wishlist is some way for people to comment on the twitters, which might involve getting a different feed from twitter again, but I’m not sure.

Bike trainer transcription

March 11th, 2008

My parents got me a bike trainer for Hanukkah this year and I’ve been riding inside while the weather is crappy. On Graham’s recommendation, I got the Kurt Kinetic Road Machine. It’s a fluid trainer, so the resistance comes from an impeller stirring a bunch of silicone fluid, which provides resistance that’s supposed to mimic that of the road and wind. The back wheel of the bike rolls on a little metal cylinder that’s connected to the impeller.

When I started riding on it, one of the first things I noticed was that it makes a pitched sound and the pitch goes up as I go faster. I decided that it would be cool to record the sound at different speeds to see if I noticed any regularities. After finding a good placement for the mic (the crappy computer mic again), I managed to get some decent recordings, the spectrogram of which you can see below. The x-axis is minutes and the y-axis is Hz. I’m riding at three or four different speeds, which are pretty accurately represented by the rising and falling of the lines in the spectrogram.

spectrogram

After seeing the spectrogram, I hypothesized that the sound might be the same frequency as the roller and impeller. The roller is 2 1/8 inches in diameter, so going one revolution on it is like traveling 2.125*pi inches on the ground. Using some dimensional analysis, that means that one revolution per second is the same as going 0.379 mph (2.125 * pi inches/s * 3600 s/hr * 1/5280 miles/foot). That means that if I were going 23 mph outside, the roller would be spinning at 61 rotations per second, or 61 Hz and that’s about what I saw in the spectrogram, along with its harmonics.

Unfortunately, My bike computer is hooked up to my front wheel, so it’s useless when I’m riding the trainer. I’d like to see how accurate this calculation is and then make a calibrated audio speedometer for the trainer. Even without that, it could at least track the frequency the trainer is humming and tell me how fast I’m going relative to the rest of my ride.

Model-based EM Source Separation and Localization (MESSL)

March 10th, 2008

Ron, Dan, and I came up with a name for the source separation and localization system we’ve been working on. It’s so much easier to refer to a five-letter handle than an abstract concept, even one that we all share. MESSL is nice because it’s not too popular on google, it’s pronouncable, it’s short, and it includes all of the important features of the algorithm. It also meets Ron’s criterion of not including the word algorithm, so you can say “the MESSL algorithm” without the redundancy of “ATM machine” or “PIN number”.

Here are some of the other names we considered and rejected, in no
particular order:

MUSSL Model-based Underdetermined Source Separation and Localization
MISSL Model-based Interaural Source Separation and Localization
SMELS Source/signal model estimation for localization and separation
BULS Binaural Underdetermined Localization and Separation
BELS Binaural Em Localization and Separation
SLIME Separation and Localization using Interaural Model Estimation
SLIDE Separation and Localization using Interaural Difference Estimation
ELSIF EM Localization and Separation using Interaural Features
MELSA Model-based EM Localization and Separation Algorithm
ELSA EM Localization and Separation Algorithm
SMEBLS Source Model Estimation for Binaural Localization and Separation
MEBLS Model Estimation for Binaural Localization and Separation
MEMALS Model-based EM Algorithm for Localization and Separation

Firefox memory monitor

March 9th, 2008

Unhappy bubble-fishy-mon I’d like to have a firefox memory monitor, like the unix program top. It would show a list of all of the web pages currently open in different tabs and windows and how much of my system resources they’re each using. At the last, I’d like to know how much memory and CPU each is using, but other things like network connections, bandwidth, etc would be nice to know as well.

Since I’ve been using gmail and google calendar, I frequently find myself watching the water level (memory usage) in bubblefishymon rise until the duck flips over in unhappiness. The only solution seems to be restarting firefox every few days. Other times, I can see that firefox is using 50% of my CPU, but it’s not at all clear which tab is doing it. The main culprits of both memory and CPU usage are clearly javascript and flash, but it would be nice to know when they’re running and what they’re using, so that I could turn them off, avoid leaving certain pages open, or just avoid certain pages altogether.

Obviously, I’m not the first person to notice firefox’s memory issues. There was a post a while ago on techcrunch talking about the forthcoming release of firefox 3 and comparing its memory usage to flock. There’s also a feature request on bugzilla requesting an about:memory page in mozilla, which kind of addresses this issue, but only in a very developer-centric way.

Autotagging

March 4th, 2008

Classification accuracy

I’ve been looking at the data we’ve collected from MajorMiner recently and I’m quite excited by the results. The idea is to use all of the clips that have been tagged “rap” to train a classifier to recognize rap. When we do this for all of the tags with 50 or more clips on MajorMiner, we get 36 “autotaggers”, to use the term from Eck et al.’s NIPS paper.

This picture shows how well the classifiers were able to learn each of the tags. Random guessing will get you an accuracy of 0.5, and 0.59 is statistically significantly better than that. The little dots are the accuracy achievable when there’s only a little data to train on, and the dots get bigger as we add more data. It’s interesting that genre words are the easiest to classify and instrument words are the hardest, this is almost certainly because of the features we’re using, which capture the holistic timbre of a clip. Last year I ran some experiments with the MajorMiner data which gave me the impression that it wasn’t any good for training autotaggers, but I think there was a bug in my code because now it’s working great.

Recent music making

February 23rd, 2008

Recently I’ve had a couple of opportunities to play some music, both of them thanks to my friend Matt. This past Wednesday and the Wednesday before I sat in on the rehearsals of a big band at the musician’s union, local 802. Things seem to be organized by Peter Silver, the jazz dentist, who has something like 1000 charts he picks from each week. I was playing second alto, covering for Dimitri Moderbacher. I don’t think this band actually plays gigs, it seems like a place where people just come and play, and quite well at that. The rehearsals basically consisted of reading down 10-15 charts, maybe trying tricky parts a second time to get them right, but everyone read them without flinching and played some great solos as well. That could have been because they all appeared to be seasoned professionals, I was probably the youngest person in the room and the average age was somewhere in the mid 40s. There were some other young people there, but they were doing masters in music performance or other serious musical endeavors. Lots of fun, hopefully I’ll get to do it again some time.

The second musical opportunity I’ve had recently was the chance to play in the pit band for the production of Kiss Me, Kate that the Bard Hall Players put up at Columbia’s medical school. I thought I’d be playing mostly alto for this, but it turned out that I needed to dust off my flute and clarinet and remember how to play them. The first few rehearsals were rough, but by the time we got to the show I could hit all of the high notes (I still had to write out the note names because of all of those damned ledger lines, though).

I wasn’t really familiar with the show, but I ended up really liking it, mostly because it’s so filthy. Thinking back on the show, I wanted to pick out one song that was particularly dirty, but I couldn’t narrow it down beyond six: “Tom, Dick or Harry” (Dick, Dick, Dick, Dick, a-Dick-a, Dick Dick Dick), “I’ve Come to Wive it Wealthily in Padua” (If she fight like a raging boar, I have oft stuck a pig before), “I Hate Men” (His business is the business that he gives his secretary), “Too Darn Hot” (I’d like to stop with my baby tonight, and blow my top with my baby tonight, but I’d be a flop with my baby tonight, cause it’s too darn hot), “Always True To You, In My Fashion” (There’s an oil man known as “Tex”, Who is keen to give me checks, And his checks, I fear, mean that sex is here to stay!), and my favorite, “Brush Up Your Shakespeare” (And if still she won’t give you a bonus, You know what Venus got from Adonis). You can hear snippets at amazon and see lots more pictures here.

The band was directed by Matt’s friend Dave Malito, who did a great job considering it was his first time ever conducting. While there were some musicians who stood out, the band itself was just alright. Our sight reading wasn’t very convincing because no one really wanted to commit to any of the notes. The show’s leads were all excellent, especially considering that in real life they’re all med students, except for the one who is married to one of the med students. My mom and grandparents came to the show and were very complimentary of them, although my grandfather mentioned more than once that overall the show was slightly better than a high school production. It was fun to do, though, especially over multiple performances, which changed quite a bit. Thursday night the audience was all med students, the beer was flowing, and there was a lot of cheering. Friday night it seemed like mostly professors in the audience, which was much more subdued. Saturday it was hard to tell who was in the audience, and the Sunday matinee was all parents.

I’ll probably be back again next year, it’s always good to practice reading in keys that are convenient for singers, like G-flat (does anyone else find it funny that wikipedia has a page about each key?).

Visual source separation

February 19th, 2008

Microwave ovens are surrounded by a Faraday cage to prevent the microwaves from escaping. Since the microwaves themselves have a wavelength of tens of centimeters, the shielding can have holes in it that are a few millimeters across without letting the waves out. This grating gives the characteristic microwave oven-door look, allowing you to see into the oven, but not very well. Try to guess what this is:

Not moving detail

What does this have to do with source separation, you might ask. I was thinking about the problem of separating two images that are superimposed on each other. For static images, this is a hard problem for your visual system. When the two images are moving relative to each other, however, it’s relatively easy to track either one, and the details pop out. A Gestalt psychologist would tell you that by moving the two images relative to each other, it becomes obvious which visual continuities were coincidental (inter-image continuities) and which were meaningful (intra-image continuities).

In three dimensions, there is the added variable of aperture. If you look at a static image of a pattern of dots superimposed on the contents of your microwave, it’s difficult to see inside. If, however, you move your head around while your eyes track the object inside the microwave, it becomes much easier to see. The screen and the microwave contents move by different amounts due to parallax, allowing you to separate the two images from each other. I think that in effect this creates a larger synthetic aperture for your eye that is somehow related to how much your head moves in your eye’s integration time. Can you tell what’s in the microwave when the camera is moving? (hint: “We will build an Eeyore House from sticks at Pooh Corner.”)

Moving detail

I’m hypothesizing that a similar phenomenon occurs in hearing. The idea from the microwave example is that even if two sound sources seem to be coming from the same direction, moving your head can distinguish coincidence from meaningful correlation. There’s a cool paper from back in 1938 by Hans Wallach that discusses the effects of motion on binaural localization cues, it’s entitled On Sound Localization. His observation, based purely on the geometry of the situation, is that turning your head can tell you whether a sound source is in front of you or in back of you, and its elevation relative to the horizon. This is just if you yaw your head, the same idea applies if you roll your head or any combination of the two.

So the next time you see me bobbing my head in front of the microwave, you’ll know why.

Zipcode demographics

February 12th, 2008

During my meeting with Dan this week, we stumbled upon a website that will tell you more that you ever wanted to know about any zipcode. Mine, 10001, seems to have a very interesting breakdown of population by age and gender, as can be seen above. It seems that 10001 is full of women in their early 20s and men in their 30s and 40s. On reflection, that would probably be the women at the Fashion Institute of Technology and the men of Chelsea. Funny thing is that only 1.7% of households self-reported as being gay. Other college towns have interesting demographic breakdowns as well, e.g. Ithaca, NY and Wellesley, MA.

NEMISIG

February 6th, 2008

nemisig logo Last week LabROSA hosted the first (annual?) meeting of the North Eastern Music Special Interest Group. We were inspired to put it together by a similar meeting that took place in southern California last year. It was meant as a casual meeting of grad students and faculty who are researching problems in “music intelligence”, as we decided to call it. The purpose was mostly to give people who work in the same general conceptual and geographic areas the opportunity to get together and cross-pollinate.

We had a great turnout of around 60 people, representing 16 institutions. You can see the whole list of attendees on the nemisig website. The interschool lab was completely full. The EE department staff was very helpful in organizing the event, especially Elsa, who took care of a lot of the logistics for us. And we couldn’t have done it without the department’s financial support, which covered the setup costs, poster boards, all of the food, etc.

While the panel discussion was interesting as were the breakout groups, my favorite part was the poster session where we got to do some mingling. I met lots of cool students from other labs and will hopefully talk to them sooner rather than later. To facilitate such communication, we set up a yahoo group. Sign up if you’re interested in discussions about music intelligence and announcements of relevant events in the upper right corner of the North American continent.

It was also pretty cool that the echonest chose NEMISIG as the opportunity to publicly announce their API for music segmentation and feature extraction.

New window in LabROSA

February 5th, 2008

Just today I put up a new window in LabROSA. My mom painted it for me, after I told her that the lab has no windows. It’s painted on the glass of a real window, with a shade and everything. To be honest, I’m a little afraid someone will pull it off the wall trying to operate the shade.

My mom has also started blogging. She’s much more prolific than I am, and it’s full of her artwork. She’s pretty tech savvy for a mom, her website’s been showing off her work for years now.