variogr.am home | notes | writings | gallery

variogr.am latest

This is a short space for news and updates about current projects. Email is brian.whitman at variogr.am.

Moving over…

January 2009

Just in case you are reading variogr.am latest through a feed, I am updating the link to the tumblr service so I can post faster and easier. I’ll try to clean up the rest of the links, but content over form here. The new latest blog URL is http://notes.variogr.am/. Thanks for your continued patronage!

My name is brian….

March 2008

And this is my jam.

Holiday Dance Party

December 2007

Thanks everyone for sticking with me this year, it’s been fun. Please check out THE JINGLER for your jingling needs this holiday season.

Are you a designer, do you love music etc

November 2007


Crunch time at the Apollo — if you make pretty things on a computer, can fight for a font, love watching particle generators for hours, and have a strange pull towards things that make music, you really should talk to me. My company, The Echo Nest, is in heavy hire mode for a design lead, you’ll be leading a rag tag group of guys who are too smart for their own good (seriously, we need help) while we build some amazing music apps and websites and etc. Does iPhone music development excite you? Pushpin? Eigenradio? Are you Rainer Buchty? Whatever reason you’re here you should probably get in touch. Email is up top, get me a portfolio and what you voted for here.

Pushpin is Real

November 2007


Seven years ago Noah Vawter and I finished up “Pushpin,” a Gameboy Color MIDI adapter. Pushpin allowed you to compose music on a computer or sequencer and use the GBC as an instrument. You didn’t touch the GBC while it was playing other than to admire the fancy boot screen. It turned your $80 toy into a pretty good 4-bit waveform synth. Unfortunately, you probably don’t have one, let alone believe that it ever existed. I am finally releasing Pushpin to the wild. You can read on for the story of Pushpin or more directly touch the Pushpin ‘product’ page for a download link and schematic.

Here’s the story…

Read the rest of this entry »

Recommender Panel @ Pop Montreal Oct 6

September 2007

I’ll be on the music recommendation panel at Pop Montreal along with (so far) Paul Lamere, Doug Eck, and Sandy Pearlman next week, Saturday Oct 6. I know it may amaze you to consider, but I have a job that does not involve writing messages to solr - user nor staring at ARM disassembly in my windows partition. Those are my hobbies — so you can imagine the negative energy I direct at current solutions to music metadata and discovery every day. Hope to see you there if you’re in town.

iPhone input

September 2007

This is a continuation of a previous iPhone audio post.

I saw that the Truphone guys did a live VoIP iPhone show at DEMO.. here’s some sketchy video. If this is true (I have no real reason to doubt it) it represents the first example of using the audio input on the phone. By the screenshot posted, it looks like they are patching the actual phone application. I never once tried to do this– I’m not interested in VoIP and I want the phone to always act like a phone — but I do wonder if that’s the key to getting anything but blank PCM frames out of the queue.

My first impression of this VoIP app is that they’ve patched the binary somewhere where the queue frames come in from the baseband mic (not in AVRecorder, probably somewhere in CommCenter or likewise.) It would be nice if they posted more info so we can get our real audio apps on but I am not holding my breath… [redacted — it’s bothersome but I’m not going to get publicly angry about it today.]

I am still working on my own methods, keep an eye here.

SolrIndexer for Nutch

September 2007

[This post might be inane if you don’t use Solr or Nutch, I am sorry, more iPhone and Music of the Future posts soon]

Back in early 07 Sami Siren posted an excellent Nutch->Solr Indexer. Anyway, it hasn’t been maintained much due to the forthcoming NUTCH-442. But for simplicity’s sake, I like the SolrIndexer, and here’s a zip file with the updated source to get it compiled on Nutch trunk and using Solr trunk solrj. You’ll also need to do this:

+++ src/java/org/apache/nutch/indexer/Indexer.java      (working copy)
-  private static class LuceneDocumentWrapper implements Writable {
+  public static class LuceneDocumentWrapper implements Writable {

And follow the rest of Sami’s post.

Audio Playback, Recording and Processing on the iPhone Part 2

September 2007

This is a continuation of a previous iPhone audio post.

I’ve had success playing back synthesized audio out the headphone jack and/or speakers of Apple’s iPhone without killing the sound daemon. I’ve also had modest success getting audio in to work but we’re not 100% there yet. Very close.

[I’m moving the rest of this post “after the jump,” click on to read the rest… ]

Read the rest of this entry »

Audio playback and processing on the iPhone

August 2007

Please see the update post for the latest information after reading this

I’ve been experimenting with sound synthesis on the iPhone using CoreAudio and music playback using the higher level Celestial framework.

  • We can send arbitrary samples out either the headphone jack (stereo) or the speakerphone out (mono) at 44kHz only if we kill the mediaserverd launchd process, which has the unfortunate effect of killing all other audio on the phone, including rings and calls. (see the update post)
  • We cannot yet receive samples coming in from the microphone (without going through the very high level file recording API)
  • We can play media files (movies and songs) just like the iPod portion without killing mediaserverd
  • We can access the iPod media library and perform queries for tracks.
  • We can play media files over the internet just like the web browser does, but with our own UI
  • The media file playback can seek, timestretch (but it sounds awful) and can detect detect the state of playback (which output, volume, etc.) It cannot play more than one thing at a time (no mixing.)
  • We have disassembled the mediaserver and higher level audio playback and recording APIs. They communicate over mach ports, and the mediaserverd sets hog mode on startup — only its PID can access audio while it is running. We are currently trying to figure out how to pipe arbitrary sample buffers into and out of the high level API. (see the update post)
  • The phone has enough scalar fixed point power to do a lot of interesting audio work — and with an always on internet connection, good battery, microphone input, and direct access to a users’ music library, there’s a lot of cool apps to be written.

[I’ve moved the rest of this post — click on to read more… ]
Read the rest of this entry »

Stalker

January 2007

There’s this outgrowth of music retrieval types that love to do summarization — they take in a four minute pop song and find the “optimal” summary– maybe it’s 10 seconds long. Of course, with nothing but the signal to lead you, all the summarization algorithms read like pulpy redactions from a Pierce/Shannon appendix: the maximal highest aggregate entropy sequence or degenerate KL divergence from the HMM state path (did you like those? I just made them up. I should always keep Matlab open.) I guess these are fancy ways of saying “chorus.” I’d rather listen to the bridge for a good introduction to a track. If the bridge is good, the track’ll be good. But is the bridge only good in relation to the verse? Deep stuff- think Christgau has a piece on this?

I bring this up because I’ve been fascinated with some computational way to do the same thing on movies. Same thing, right? Just a signal. So I used my human brain to pull a ground truth™ frame on the classic Stalker. Obviously, from that one frame you’ve got the gestalt of the whole movie right there. There’s some guys, they’re in a room that’s falling apart, someone just turned on a light. That’s Tarkovsky’s entire oeuvre right there. So now I’ve got to spend the next few months on my peeling paint SVM and my HTK chatty Russian state transition matrix.

Shifty in the news

December 2006

Congrats to Shifty on being a best idea of 2006 with a stunner illo to boot! I distinctly remember Noah lying on my couch in NYC sometime mid-2000 at 3a telling me that he wanted to put ADI dspConverters (I believe they never really took off) into a pair of Grados. Of course, the first search result for ‘dspConverter’ appears to be a certain N looking for a dev board. The 21xx begat the dspConverter which again begat the 21xx which begat the ATmega16 which ended up with a .. Blackfin.

Finally, the world is starting to take notice of the man.

Nest lab casts

November 2006


I was attempting to keep my personal life separate from my work life but as anyone who has stock certificates stored in a lawyer’s safe downtown or a PO Box in Delaware will tell you, the two stop being separate notions after some time.

The Echo Nest has begun sneaking out of the basement a bit, little by little. I can’t go into detail but we have a lot up our sleeve. Just think — while you’re sleeping or playing Yoshi’s Island or watching episodes of The Wire you ganked off Usenet, there’s a bunch of guys in an office in Somerville cursing at XCode and/or Emacs, listening to the same rendering glitch over and over, tracking down parser bugs in Python, whatever– just so you can have cool stuff to play with. And we don’t even know who you are. I think that PhD was a bit light on the life skills curriculum.

Perhaps keep an eye on that Lab Cast link, and if anything on there interests you please sign up to the mail list on the front page as it’ll net you early glances.

A Singular Christmas (2004) writeup

October 2006

I had written a lengthy backgrounder for A Singular Christmas, and like most things I do, around revision 150 of the ASC website I deleted it from the page, leaving only the suspicious two liner at the top.

Jason Freeman asked if he could put it in some kiosk for an art show he curated, so yeh, I found the original description and added some more methodology info. See here for the official primer on ASC, why I did it, what it does. The show looks great, it’s up until October 14th.

Holiday music is the first broadcast of the season. Much like the sudden alert of spring birds, the forces that schedule, produce and filter Christmas hymns from back catalogues and metal shelves in storage lockers out to 8 inch mono white grilled speakers beamformed onto precisely calculated endcaps are a fantastic mystery that is never asked to reveal itself. The truth is surely offensive, some pressed shirt with a copy of SPSS pastes the predicted launch dates and harmonies into a memo and forwards it to General Marketing. I’ve seen their mood circumplex for every chromatic jingle plotted over revenue– it’s in a Microsoft Office 95 file, the fonts look awful and only prints on legal paper. Rest assured that they’ve ran the numbers– they have the data. It’s the only genre that lets musicologists and A&R guys sit in the same room.

Concrete Music

September 2006

It’s been retro hour here at variogr.am latest, I apologize but I promise I’m practicing for the onslaught of Current Events coming soon, see I’m just catching up.

I bet not many of you know that I once took part in suffocating a poor Analog Devices 21xx DSP in quick-dry concrete, but now I’ve unearthed the documentation to prove it. The gorgeous tones are pretty much all Ethan, the concrete was Ben’s idea, and I think Shifty and I spent a weekend in seclusion to make the one-byte-per second flash programmer DFS work on OS X.

A sad story with Concrete Music: we mailed VIDALIFE the actual product against their protests, cost us about $90 to ship, about $200 of board and parts got soaked in $5 five pound concrete mix. They of course didn’t turn it on during judging so as not to give us an unfair disadvantage, but I bet the satisfying clunk of the thing coming out of the mailer sealed us the 1500 Euros. It was tugged along to Barcelona shortly after, where it died an hour before the opening– static electricity! The short life of the machine.

SID tune player for the iPod

September 2006

iPod+Nike sport kit
I don’t run ever since I had that job where I had to wait in Penn Station every morning for five or ten minutes and I would slide down against the wall between the Sock Store and the Place With The Good Hazelnut Coffee and watch people sprint for their train. You get the impression that running was not something we were meant to do. But the waffle scene in Prefontaine always stuck with me, and I amble through life in my daily walkers: the the $8.99 AllHeart Ventilated ComfortClogs. They are the closest thing to Shoes Made in a Waffle Iron, as they are Shoes You Can Put in The Dishwasher.

The $149 iPod Nano is a dual-core ARM running at 160 MIPS, a gorgeous screen, a nice interface, serial in and out, audio in and out, a couple gigabytes of flash, 24 hour battery, and then you can buy a plastic case for $29 from Nike with an inverted piezo and have it output your walking speed and distance to an XML document in the filesystem. Not enough people view it as a viable development platform. The iPodLinux people have reached the milestone of prompting someone to make a website that plots SVN commit frequency– this confirms Rock Candy Style forever now– so why are these droog designers still using $500 Mac Minis and projectors they stole from the Interactive Communications Department A/V closet to play sine waves and scroll WordArt on 6-bit gradients? My local bowling alley used an Atari 1200XL for this, guys. If it’s a purchase order problem, launder 17″ iMacs through eBay, you’ll probably pull a profit enough to buy some extra Foxconn 30-pin connectors.

The point of this update is that I spent a good few weeks in 2004 ignoring real work with Shifty making a SIDPlayer port for the 3G iPod, You can download it here if you like (best if you are equipped to compile Podzilla, and put the HVSC in your root folder) and it was almost ridiculously easy– even back then when we didn’t know how to set the volume in the audio driver. With my morning acquisition of the $29 ’sport kit’ I bring SIDpod out of retirement, begging someone to mash-up, as they say. I’ve done my part (well, I did two years ago) & I hope somone is working hard on getting the accelerometer bits realtime from this Nike plastic pea-pod– because My Power Song is Wizball, and I want my step count modulating the VCF.

Be back soon.

Dissertation

May 2006

I defended myself in a new shirt April 14 2005, over one year ago. The open nature of science has been known to excuse itself from the room under certain circumstances, and as such I was not allowed to distribute my dissertation, Learning the meaning of music, for one full year after that public disclosure.

I apologize to everyone that wanted to read this earlier, and I also apologize to everyone reading it now. I don’t think you understand how many Media Lab coffee machine “espressos” I had the week before I had to submit the .tex file to the library. I was working on this thing in the music studio, the quietest room in the place, but I had put “Irrevocably Overdriven Break Freakout Megamix” on the SP/DIF CD-player routed into the O2R. I wish I could find the source file, as it was full of Vawter-style

% senorita, where have you been all my life?

comments. At least it’s short.

To read it, head over to the ‘writings’ page. The best bit is the “DISCLAIMER OF QUALITY” at the last page. They’ve got my number.

If you want to play along with the more rock and roll dissertation defense, check out this 7 megabyte Keynote render and add your own flippant commentary. At the Media Lab, the defenses were the laser shows at the planetarium– the dissertations were the 1p.m. Constellation Watch Middle School Exhibit.

Love always & etc,
Dr. Brian

Summarization

May 2006


When I am not found continuing my anthropological study of underprivileged CoreAudio bugs or pacing slowly in front of the office window, I can be found cradling another passion– image analysis, causing the square amount of BUS ERRORS. So much more responsibility!

Each sample now has two more friends to worry about.

Update: Xcode 2.3, which came out about 10 minutes after we shipped the Termulator teaser above, has a sweet PlaySequence diff that more or less rendered my inviolate sekrit API CoreAudio knowledge scrap. It’s always the way– spend 10 hours wondering why kOutputIsSilence seems to throw SIGTRAP and Steve Jobs, laughing maniacally, hits “svn ci” on his 50% transparent Terminal (you just know the guy runs the Monaco 9 spacing hack.)

Whether this is the first (or last) CoreAudio Web Service remains to be seen. I just assumed we’d get an Apple Design Award for our efforts, but I don’t see the category for Most Posts to Coreaudio-api. Whatever– you can just mail us the cube and I’ll try to drink champagne out of it like Garth Butcher in a Tragically Hip song.

But seriously, it’s always nice to get press that doesn’t insinuate we are trying to destroy all mankind with a gaussian kernel. And I hope the next 9.7 KFW review reminds us who his brother is (hint: he has a mule.)

The Rainer Buchty Ratio

March 2006

The original “Web2.0 AJAX Popup” was the amazing Rainer Buchty’s Create your own customized SQ80 OS V1.8 version (CYOCSOV), online since at least 1998. Those were heady times, when a reluctant genius could release a Web Application that provided a real value-add for Ensoniq SQ80, ESQ-1, or ESQ-M (NOT SQ1) owners. CYOCSOV (too many letters– has to be “four letters, many vowels” — let’s say SqaT –) performed the valuable Web Service of generating a new firmware for these three hybrid analog-digital synths.

When you’re an electronic musician, you always want to know that your stuff can sound different from other people’s stuff. It only took $200 and a Western Union fee to get my ESQ-M and enabling the “Hidden Waveforms” checkbox in SqaT sounded like the ticket. Kid606, Cex, Luckykitchen, Unagi Patrol, Zammuto, Colognib, Lexaunculpt, Data”chi, Cathars– don’t mind me as I take a trip down 1999 indie IDM lane– those guys would be proper FLUMMOXED. I’d get up there at Brownie’s on a Wednesday and show Toddy-Rock what was who. Maybe someone would come to the gig.

But the SqaT runs up to the eponymous “Rainer Buchty Ratio.” When you make something that people are going to use, you need to compute some variant of the following equation:

RBR = 1 - (p_c * p_k * p_h)

Where p_c is the probability that someone would think your thing is cool, p_k is the probability that someone has the know-how to set up and operate the thing, and p_h is the probability that someone has the hardware / tools necessary to use your thing. The RBR is the RBR because the SqaT has the highest RBR ever, We need a normalising metric as most Things squash up on the top, so we set the RBR of SqaT to 1. Not a true probability, and I don’t think a true RBR of 0 exists. SqaT’s p_c is not bad, at least for his target market, and let’s face it, it remains one of the coolest things on the internet. But the p_k and p_h are dreadful. I had an ESQ-M, but hell if I knew what to do with the OSLOL6legz file that thing spit out. Helpfully:

download the patched images and burn them into 27C256 EPROMs to replace your current OSLO and OSHI EPROMs.

Not only did you need a relatively obscure synth and the desire to access “hidden waveforms,” you had to have an EPROM burner and the ability to pop open your case and swap the chips. God knows if they were socketed. By the time I did all that, Push Button Objects would have released four 12″s on SKAM, all with SimTunes run through an underwater spring reverb.

I often come back to the SqaT when I work at The Echo Nest. As we near “phase 1 completion” I faint slightly at our RBR. We can start with the high number: “How many people like music!” But with every decision you make in a company, the RBR grows slightly. You can only hope that your p_c is off the charts. Sometimes, even when you’ve never picked up a soldering iron, those Hidden Waveforms call you in like a 7-bit siren to the creased bindings of a Forrest Mims book.

Prediction

January 2006
… Christiana was in town, having sublet her place near mine and electing instead to stay at the 104th Y down and across from me as a youth counselor in a tiny room she populated with a subset of her extensive Limoges collection and an AM transistor radio. … The only station she listened to on her transistor carried Top 40 from 5 years ago, exactly synchronized to the day. But after nine it switched to an all-weather talk station, with open lines and a vocal DJ with an affected lisp (”The Cumulocumber Hour with DJ Randy Steed.”)

I could never tune to it regularly as my corner apartment fended off high-hundreds kHz through the snaked path of alleys and rusty fire escapes but she exclaimed at times to be in love, serious love, love past an eyelash with a regular caller DJ Randy knighted “The Criminal.” The Criminal would call (presumably from some plate-reverb chamber that made his voice seem to sit atop the station’s bandwidth) to interrupt the usual discussion of upper-atmospherics and Coriolis controls with a meterological prediction for the next day. At first DJ Randy tried to cut him off, the house rule “Don’t Predict—You’ll Contradict” spit through his lavalier mic. But The Criminal persisted. Eventually other regulars (Sammy G, Marcus the Baker, Dr. Saul, Ph.D. from an Ivy League University) started keeping score and found a mystifying correlation: The Criminal was always wrong. If The Criminal said it was going to snow, it wouldn’t, with one-hundred-per-cent accuracy. If he said it wasn’t going to rain, it would, every time. DJ Randy brought this up to him one day, with characteristic flair: “Criminy, I give you this: when you’re wrong, you’re right. I know our networked friends” (Randy was positive that his silent listenership included the local faces of meteorology—the network weathermen—) “have been taking notes, and I don’t blame them. But don’t you look out the window?” and The Criminal, sighs ringing around an infinite response, boomed “The sky I see is always true.” And hung up.

I can’t say I blame Christiana for the draft she feels when that voice cuts through the static —