Field notes · № 02 · · 6 min read

Search for a song, find the station playing it, press record

Tapelark records what your computer plays into a library of named, tagged tracks, on the Mac, on Windows and on Linux. Tuneping knows what about 23,000 internet radio stations are playing at this moment. Put together, a wish becomes a file. The add-on that does that is being built, and this note says what it does, what it honestly will not do, and how to hear about it exactly once, on the day it ships.

● Confirmed. You get one e-mail on release day, and nothing before it.

● Mail sent. One click on the link in it confirms your address; then you hear from us once, on release day. Nothing yet? Look in spam.

▲ That did not look like an e-mail address. Try again below.

▲ Too many confirmation mails for this address or network today. Try again tomorrow.

Where the index came from

Tapelark is a recorder. It captures what a computer plays, radio, music apps, browser tabs, podcasts, splits the recording into tracks as they are announced, names and tags them, and keeps them in a library on your own disk. Nothing is uploaded anywhere. It is a one-time purchase per platform, with a 14-day trial of every feature, and since this autumn it runs on Windows as well as on the Mac and on Linux.

Tapelark has always been able to record a station. What it could not do was tell you which station to record. If you wanted one particular song, you picked a station that might play it and waited, or you were lucky. To fix that, Tapelark needed to know what every station was playing, all the time. That index became a product of its own, Tuneping, and now it comes back to the app it was built for.

Tapelark could always record a station. It could not tell you which one to record.

What the add-on does

Three things, each a surface in Tapelark's Radio section.

Live search. A new tab with one field: "Song or artist". Type a name and you get the stations playing it right now, with how fresh each answer is ("just now", "2 min ago", "outdated"), and the usual buttons next to each station: Listen, Record, and a heart for your favourites. Behind it is the same call as the search box on tuneping.com, scoped to your country by default.

Wishlist. The part that waits for you. An entry is an artist, an exact track, or a free line of text; a station filter: your favourites, any station in a country, or any station at all; and a mode: record the next play, only a complete play, or every play. Tuneping watches the index. When a station announces a match, Tapelark hears about it within a second over an open connection, opens the stream, and records, on your machine, as it does for any other station. The entry shows Armed, Recorded or Partial, and a list of what happened while the app was closed.

History. For any station, the songs it played recently, each with a "Record when it plays again" that turns into a wishlist entry. "You missed it" becomes "next time, then".

How a wish becomes a file

  1. You add a wish. "Massive Attack, Teardrop, next play, any of my favourites." Tapelark sends the wish and the ids of your chosen stations to Tuneping.
  2. Tuneping reads the stations. Every 20 to 60 seconds, each station's title line; stations on an explicit list every 30 seconds. Nothing is recorded or relayed on the server, ever.
  3. A station announces the song. The title line changes to "Massive Attack - Teardrop". The matcher sees it on the next check.
  4. Tapelark hears about it. Over the connection it keeps open while a wish is armed, within about a second of the match.
  5. The recording starts, on your machine. Tapelark opens the stream like any other station, keeps the track whose title matches, and stops when the station announces the next title.
  6. You get a file, and the truth about it. Complete, or Partial with an estimate of how much is missing. The partial takes you can keep, or let the wish wait for a play it can catch whole.

What it honestly will not do

It will usually miss the first seconds. A station announces a title once the song has started, and Tuneping checks a station every 20 to 60 seconds, so the recording begins somewhere in the first half minute of the song. The editor shows the expected completeness for your filter before you arm a wish, and the "only a complete play" mode keeps waiting rather than keeping a cut-off take. For stations that announce early, or songs with a long intro, the take is whole.

Tapelark has to be open. The matching happens on Tuneping's side, the recording on yours, and a closed app cannot record anything. It cannot wake a sleeping computer either; that is a limit schedules in Tapelark already have. Matches that happen while the app is closed are listed when you open it, with the "record it next time" button.

Only stations that announce titles. About 23,000 of the 58,000 stations Tuneping checks send a usable title line. The rest can be recorded as always, but not found by song. Some stations announce late, some announce the wrong thing, and the app says so where it knows.

Nothing about your listening leaves your computer. Before the first request the add-on makes, Tapelark shows one screen and does nothing until you say Continue: "Tapelark sends your licence key once to tapelark.com to confirm the add-on, and your search words, wishlist and the ids of the stations you choose to tuneping.com. Never your recordings or what you listen to." Matching while the app is open and the "what my favourite stations are playing" card are each behind a switch that is off until you turn it on.

Price and date

The price is not fixed. The plan is a yearly pass rather than a subscription that renews itself, in the spirit of Tapelark's one-time licences, and small, because the marginal cost of one more wishlist is close to nothing. There is no release date. It ships when it records a whole song reliably on all three platforms, and not before. The e-mail below is how you find out that it did.

One e-mail, on release day

Tell me when it ships

Leave your address and you get a confirmation link now and exactly one e-mail when the add-on is released: what it costs, where to get it, what changed since this note. No newsletter, no reminders, nothing else.

Nothing happens until you click the link in the confirmation mail. The release mail carries an unsubscribe link like every e-mail we send; the details are in the privacy notice. Without JavaScript the form still works and brings you back to this page.

If you would rather not wait for the app: everything the add-on uses is public API. The search is one call without a key, the wishlist and the stream come with a Developer key, and the previous note lists what else they are good for.