Extract chapters from MP3?

Does anyone know of any tool that would allow me to export the chapter markers from a podcast MP3? I can make the chapter markers in Audition and embed them using Forecast, but I want to extract them as a CSV or some other minimally structured format so I can embed them in a web page. I’d rather not laboriously reconstruct them by hand. Help?

Rogue Amoeba’s “Fission” can do this. They refer to it as a “Cue Sheet”:

I presume “Cue Sheet” is a standard name, so maybe that’s a feature to look for in other apps, if you want to check to see if other apps are available to do this, perhaps even free tools. (Fission is definitely worth owning, IMO.)

Connected #284 was a recent podcast I knew had chapters, so I made an example “Cue Sheet” from it so you could see what it looks like.

1 Like

Oh, that’s really good. Yes. Now I just need to figure out how to parse it. What I’d like to do is reformat it into:
TIME CODE - TITLE
For each entry. I suppose I could wrestle it with GREP, but I’m going to see if I can find some software that can read cue sheets and manipulate them into, say, an Excel file.

So I was able to construct a Keyboard Maestro macro to do the clean up although I couldn’t figure out how to swap the time code and the title in KM. (I could probably figure it out but I reached the point of diminishing returns.) Thanks again for the help, TJ.

Oh I can do that. Give me a sec.

Here is a shell script that will take a .cue file as input and output the timestamp and chapter names.

For example, if I run

	cue2csv.sh Connected_284.cue

I get this as a result:

00:00:00 , "Stephen's Back"
02:52:05 , "Follow-up"
16:32:00 , "In the End, Silvia Won"
29:45:00 , "Follow-out"
34:09:03 , "RIP, WWDC 2020?"
50:00:28 , "iPad Multitasking"
57:50:65 , "Shiftscreen"
67:00:48 , "Mini-LED Rumors"
80:13:69 , "iPad Pro Rumors"
	cue2csv: exiting after processing 9 tracks

If I want to save the info to a CSV file, I can do this:

	cue2csv.sh Connected_284.cue > Connected_284.csv

and it will save the timestamps and titles to the file and just tell me what it did:

	cue2csv: exiting after processing 9 tracks
  1. Download the raw code

  2. Save it to a file named something like ~/Downloads/cue2csv.sh

  3. In Terminal, do chmod 755 ~/Downloads/cue2csv.sh

  4. Then move it somewhere like /usr/local/bin/cue2csv.sh or somewhere else in your $PATH

Let me know if you run into any snags. You can easily edit the script to change the format, including removing the spaces around the commas, if desired.

1 Like

Thank you for that. It does it just right.

If I were to buy Fission and use it to extract chapter markers from my podcast I’d want to turn them into clickable links in our (HTML on web sites) show notes.

I’m sure I could automate the making of those. So my question is: How widespread is it that podcast hosting sites expose the ability to jump to a specific time in an episode as a URL (query string parameter)?

We are looking to move our podcast series to a new site so the question of such support is a factor in our choice.

In Overcast, at least, you don’t even have to make it into a URL as long as you format the timecode to HH:MM:SS. I think it’s the same in the other major podcast players. In other words, it’s not really about the podcast hosting as much as it’s the podcast player that matter.

(That is, of course, if your web site’s show notes end up in the podcast episode’s notes in the player via the RSS. Ours do, the way we do it.)

I’d look to see if the same thing can be accomplished with another tool such as ffmpeg or mp3info so that the process could be completely automated.

I have no idea, but to be honest, I never listen to podcasts on a podcast hosting site, and always through apps. I wonder how many folks listen to them on the web… I’d assume only a few… but that’s just a guess.

I don’t think we can tell about our listeners but I would say you have to be quite “invested” in listening to podcasts to use a client - even a free one. So it might be more than you suppose.

Given our podcast has a “magazine format” where the “meat” of each episode is parts 2-4 out of 5, I’m not really sure I want to make it easy to skip parts. But on balance I consider it a kindness to make it easy for listeners to do so.

As a podcast listener I can tell you that my most frequently-used…um…usage? of chapters is not to skip things, but if I want to go back later and refer to something or find something that they talked about.

Most podcasts don’t have transcripts, and trying to remember “What episodes did they talk about such-and-so?” is painfully difficult for me. Even if you have show-notes (which you 100% should have), chapters will help me get to that point in the show notes. Having show-notes with chapter references and time-stamps are the best of all options.

1 Like