kentbye's picture

Tweaking the Drupal RSS Feeds to Download an Entire Audio Archive

| |

I want to publish more interview audio, but I need to make a modification to Drupal before I do -- and I might need some PHP coding help to do it.

I want to be able to have an RSS feed that people can pop into iTunes at any time and download all 86 of my interviews.

UPDATE: I've successfully written a Drupal module to do this. I'll post it below.

I need to have my audience be able to very quickly and easily have access to all of my source material by copying one feed into an audio aggregator and let it do a bulk download of all the files.

Expecting people to download each interview is out of the question -- there are too many. I could split it up separate feed sections, but I want to make downloading all of the files as easy as possible with four easy steps:

1. Copy the feed
2. Paste it in the subscribe window
3. Download all the files
4. There is no step four

And so I imagine that this will require a relatively simple Drupal module or "PHP node" that can produce the necessary XML data to do the trick.

I welcome any help in making this happen since it seems like it should be a pretty useful feature to have.

I specifically need to take all of the nodes that have the "Interview Audio" tag, and produce the RSS code to send down the Feedburner feed.

The issue is that my regular feed is limited to displaying 25 posts -- and I also have the full text selected.

This means that this Drupal only displays the last 25 posts for all of the feeds, but for the posts tagged with "Interview Audio" I want it to display the last 86 posts.

I also don't want to send the full text down the "Interview Audio" feed because I plan on posting the entire transcript with each audio file, and this would inevitably exceed Feedburner's bandwidth limit by the time I would reach the 86th post.

So either I need to dig into the Drupal code myself and hack something together, or I need to find someone who can help out.

I'm going to assess the solution until I run into a road block, and then I can start publishing more interview audio.

Below I've posted the code for the module...

kentbye's picture

What I Have, What I Need & What You Can Do To Help

| |

Momentum is building for The Echo Chamber Project, and it is time to share my assessment of What I Have. What I Need. And What You Can Do to Help.

I believe that I've collected a critical mass of value, and I'm hoping to leverage this towards taking this ambitious project to the next level.

My biggest need at the moment is help recruiting PHP developers to help implement some of the collaborative editing infrastructure for sequencing sound bite sequences. This infrastructure will enable even more people to get involved.

The biggest thing that everyone interested in helping out can do is to start listening to the Interview Audio (via Audio Feed or All Media Feed) that I'm publishing as well as reading through these interview transcripts.

I am going to need your help with making sense of all of this information and insights that I've collected once the tools are finally in place for you to do so. The more familiar you are with the material, the more that you'll be able to get involved and participate.

So take a look at the assets that I've gathered below, and think about the following:

* What are some next steps that you can take to help me fulfill some of my immediate or long-term needs?

Finally, let me know that you're listening by either sending me an e-mail at -- leaving a comment below -- or signing up as a user to this site.

*** WHAT I HAVE ***

* A very hot topic concerning how the media covered the build-up to the war in Iraq.

* 5 months of ABC, CBS and NBC footage & transcripts leading up to the war.

* Over 40 hours of interview footage & transcripts filled with problem-oriented insights about the media from scholars and journalists.

* Another 10+ hours covering the future trends of the media and solution-oriented insights from thought leaders in the field.

* The willingness to publish all the interview audio underneath a Creative Commons Attribution-Noncommercial license of all of my interviews to spur innovation and collaboration.

* The willingness to release all of my video footage underneath a Creative Commons Attribution license after I finish and release my version.

* A lot of ideas and theories for how collaborative filmmaking could work.

* The attention of many different journalists, scholars, new media thought leaders and media technologists for my project and how I'm going about it. This success of this project can make a profound impact on how journalism is produced.

* A lot of contacts with bloggers and activist technologists from various technical conferences who have a fair amount of social capital.

* An unspecified strategy for how DVD sales will provide a revenue stream and return of investment for this project.

* An unspecified grassroots marketing strategy that involves the open and collaborative production of the film to help spread the word about the project.

* A part-time Drupal czar for emergency site maintence.

* Boundless passion and determination to make this project work and to have it make a difference in the world.

* My own personal salary and living expenses covered.

* Some upcoming press from interviews with's Robin Good and an upcoming episode with


* PHP coders to help implement some of the technical infrastructure for browser-based sound bite sequencing within Drupal.

* More systems-level technical help with putting these theories into action.

* A producer who can help collect the necessary resources -- whether it be human or financial resources -- to help manifest this technical infrastructure.

* A film producer who can help tap into the energy of a technology-empowered collaborators to help craft the 90-minute film product.

* A multi-media producer to think about creating more interactive online experiences with the material, and mechanisms for how to continually add knowledge and value to the footage archive.

* A lawyer and accountant to create an LLC or other umbrella organization.

* Fiscal sponsorship from a non-profit to make donations tax deductable

* Philanthropists who are willing to invest in this type of open source infrastructure, and who can add value to the project with the connections and relationships that they have.

* I have an emergency Drupal administrator, but it would be nice to have a PHP/Drupal website administrator who has available time to help troubleshoot and maintain the site.

* Potential editing volunteers to start listening to the interviews that I've conducted

* Help with spreading the word in trying to locate any of the type of people above.


* A graphic designer who can make come up with a Drupal theme that much more aesthetically pleasing that the current one.

* A user interface specialist who can help make advise how features and the site can be more user friendly

* An information architect who can help make the information on this site more

* An information visualization guru who is willing to help implement some open source data visualizations to the social networking activity

* Artists to make graphics and logos that help communicate more visually.

* Academic Advisors from a broad range of different disciplines who have an interest in my project, and want to help gather help and support for the project -- Communications, Film, Journalism, Sociology, New Media, Politics, Law, International Relations, Peace Studies, Computer Science, etc.

* A more defined timeline once some of the above immediate needs are satisfied

* Community developers and outreach coordinators for the project

* Job descriptions for different tasks that volunteers could help out with

* Fair Use Copyright legal advisors

* * * * * * * *

I know that's a lot of stuff, but this interview material, technology assets and theories that I've gathered has the potential to snowball and manifest every single one of these desires.

We can do this together.

So what's your next step for helping it happen?

kentbye's picture

Dynamically Creating Sound Bite Sequences with SMIL & Drupal

| | | | |

VICTORY! I am now able to dynamically generate audio metadata and have it be recognized by Quicktime as an edited sound bite sequence! This is a HUGE breakthrough for my collaborative editing schema. Here is a demo of a sequence of three sound bites that have been excerpted from longer audio files and strung together.

I've found a way for Drupal to automatically edit sound bite sequences without having to generate any text files or generate muxed audio files that need to be written to the server.

UPDATE 3/29/06 This URL has the dynamically generated SMIL code (i.e. take a look at the source code for the page to see the SMILtext). And then here is an embedded version of this SMIL metadata:

More details below...

kentbye's picture

Defining Sound Bite Edges for Collaborative Editing

| | |

As I've described before in my collaborative editing schema, my plan is to use the playlist mechanism to have users help filter through the interview audio content to help identify good sound bites. But who takes the takes the first cut of defining the boundaries of the "sound bites"? Well, I'll be taking a first crack at defining the sound bite edges, but the volunteers will be able to redefine the "In" and "Out" points.

I was chatting with Kevin Marks yesterday -- who is a former Apple employee, podcasting technology pioneer and Technorati engineer -- and Marks made the great point that there are three stages to editing: "shot-logging, sequencing and polishing."

Later in the conversation, Marks split the first shot-logging into two separate sections, and this is how he described the post-production process of editing a massive data set (with spelling errors corrected):

one is labeling times of interest, which is naturally sloppy -- let people tag as it goes by

second is making good sound bite clips, or chunks of meaning -- which involves a bit of effort to pick good in and out points -- and appeals to a subset of people

3rd is sequencing clips, which once you have good standalone ones defined by meaningful chunk rather than time, is easy -- and gives you a much better granularity to tag, annotate, vote on and so on

the difficulty is bridging the stages

Indeed, there is a lot of difficulty and complexity in bridging these stages. And so that's why I've planned on doing the shot-logging and clean-up process myself so that I can distribute the sequencing portion.

I'll be doing the shot-logging offline using the Final Cut Pro blade tool to select sound bites IN and OUT times in the timeline, and then export this IN and OUT times via Final Cut Pro XML. Then the text will be aligned with timecode data for each sound bite and then uploaded as a Drupal node with a unique URL, which will allow volunteers to then annotate the sound bites will tags and comments. Volunteers will also be able to shorten or lengthen each sound bite, and so there may need to be ways to account for the metadata associated with sound bites that a high variance of IN/OUT edges. Or perhaps the variance will be negligible considering that the context and meaning of the sound bite will be relatively the same.

Then volunteers help with the sequencing stage through web browser-based "editing" using the playlist mechanism. Marks makes a distinction between "editing" and "sequencing":

The key is to distinguish editing and sequencing -- editing needs sample accuracy -- and you aren't going to get that with XML and intermediates without a lot of pain.
sequencing of self-contained chunks without attempting laps or dissolves

So these "sequenced" sound bites will be done within playlists by volunteers, and then I'll be exporting the timecode data from this "edited" sequence back into Final Cut Pro so that I can "polish the edits" offline.

In an ideal situation, I would distribute the first editing phase of sound bite parsing to a large set of eager volunteers who would listen to over 45 hours of footage. They would highlight an interesting audio segment, and then tag it and annotate it on the fly as Marks suggests.

The mechanism to do this online could be accomplished with something like the BBC's Annotatable Audio Project as described by Tom Coates -- but it's still behind the firewall of the BBC. I plan on talking with Coates about it in more details soon, and maybe he'll give me some more insights into how the BBC will be normalizing or making sense of this fuzzy data set. But either way, I probably won't have the resources or technological mechanisms to be able to effectively distribute this task.

So I'll be the one who will be taking a first cut of determining "In" and "Out" points of the sound bites. This is certainly a huge bottleneck that could eventually be overcome by integrating something like the Annotatable Audio tool into the workflow. But doing it myself is a satisfactory workaround for the moment considering that volunteers will still be able to either shorten or lengthen the edges of the sound bites. And also considering that I'm ultimately interested in the distributed sequencing portion of the editing process.

I'm still on the lookout for PHP coding help in making this happen, so please e-mail me at if you're interested in helping out.

Below is the full transcription of the IRC chat that I had yesterday about Kevin Marks with more commentary on this issue.

I was specifically searching for a way to automatically create smaller sections of MP3s by entering in a set of IN and OUT times. Marks says that it's theoretically possible to automate this task in QuickTime or Final Cut Pro as well as with iTunes, but it's way too complex for me to figure out, and so I'm sticking with the SMIL solution for the moment...

kentbye's picture

Volunteers Needed: Calling All PHP Coders

| | | |

I'm starting to specify specific feature requests for Drupal's playlist module, both Colin and Farsheed said that I should coordinate these requests through this Drupal feature request database.

If you have any PHP coding experience and are interested in helping expand this playlist module for other nodes and for collaborative film editing, then please e-mail me at -- and I'll be sure to put you in touch with Colin and Farsheed. Or you can go through Drupal's tasking mechanism if you'd like, but drop me a line to keep me posted.

kentbye's picture

SMIL Demos: Paving the Way for Collaborative Audio Editing

| | | | |

This is an explanation for how to edit together sound bite excerpts from longer MP3 files using something called SMIL -- or "Synchronized Multimedia Integration Language."

I've completed some successful experiments with SMIL and Quicktime that provide a promising solution for collaborative editing. A browser-based editing system could use the playlist mechanism to create sequences of sound bites. I discuss this more in these conversations with Lucas Gonze, Colin Brumelle and Farsheed -- and in this blog post: Playlists are to Music as Edit Decision Lists are to Film.

I'm passing along this information along so that some developers can add SMIL export functionality to the Drupal playlist module.

What does all of this mean?
I could upload the audio from the 45+ hours of interviews that I've conducted for this project, and then combine this SMIL mechanism with Drupal so that volunteers could start helping edit the film. This Collaborative Filmmaking schamatic has more details.

These volunteer edits would be dynamically generated online with SMIL, and other people could listen to them and rate them. The good edits could be translated into real offline edits via the IN and OUT times being exported through Final Cut Pro XML generated by Drupal.

SMIL is a pretty simple mark-up language similar to HTML that allows the creation of audio and video edit decision lists.

You can create a small text file that points to the IN and OUT times of audio or video source files, and then this SMIL file can then be played with Quicktime or Realplayer. It is a simple way to edit audio and video together using text mark-up language, which could easily be automatically generated from a playlist of sound clips.

Below are more details for using SMIL for dynamic editing of audio and video content...

kentbye's picture

Technology Audio: Farsheed Hamidi-Toosi, Drupal Playlist Module

| | | | |

A discussion with Farsheed Hamidi-Toosi about the Drupal playlist module. I also talk a lot about what I'm doing with The Echo Chamber Project.

(49:10 / 14.1 MB / Subscribe to the Community & Technology Audio Feed)

Click here to listen to the MP3

More details in this blog post: Playlists are to Music as Edit Decision Lists are to Film.

Also mentioned in this podcast, is dynamic editing of audio files with SMIL.

Any PHP programmers interesting in helping add some this functionality to Drupal's Playlist module should also listen to the conversation with Drupal developer Colin Brumelle and discussion with playlist maven Lucas Gonze. Look to for updates.

kentbye's picture

Technology Audio: Colin Brumelle, Drupal Playlist Module

| | | | |

A discussion with Colin Brumelle about the Drupal playlist module. I talk about some of the features that I would like to see added to the playlist module, and explain more about what I'm doing with The Echo Chamber Project.

(26:29 / 7.6 MB / Subscribe to Community & Technology Audio Feed)

Click here to listen to the MP3

More details in this blog post: Playlists are to Music as Edit Decision Lists are to Film.

Any PHP programmers interesting in helping add some this functionality to Drupal's Playlist module should also listen to the conversation with Drupal developer Farsheed and discussion with playlist maven Lucas Gonze. Look to for updates.

kentbye's picture

Screenshots of User Interface for Distributed Editing

| | | | |

I have some preliminary screenshots for what the volunteers will see when they help order sound bites into sequences.

This has been some of my first Drupal development, and I'm sure that this interface will continue to evolve -- but I just want to show what I have so far.

More below...

kentbye's picture

Progress on Collaborative Filmmaking Infrastructure

| | | | | |

In order to have more volunteers get involved with this project, then I need to build the infrastructure in order to put them to work in helping edit the film.

Lately, I've been able to make some promising advances and gain some new insights on my original plan for Collaborative Filmmaking. I completed some milestones that have allowed me to prototype the workflow and make alterations to the original flowchart.

Once I get these tools into place, then a lot of my writing will become less technical and geared more towards creating videos that will instruct others how to participate.

This is what my plan for collaborative media currently looks like:

Collaborative Filmmaking Flowchart Version 2.0

There are more details below...

Syndicate content