Drupal

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

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

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 kent@kentbye.com -- 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 http://www.echochamberproject.com/volunteer 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 http://www.echochamberproject.com/volunteer 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...

kentbye's picture

Database Questions for Drupal Tagging by Other Users

| |

I just e-mailed the following questions to the TagDB Listserve

I'm hoping to get some insights for what it'd take to add additional del.icio.us-like capability to Drupal where users could add folksonomy tags to other nodes that the did not create.

Hey everyone.

Currently Drupal can add folksonomy tags to the node that a single author creates, but it's not yet possible to have other users internally add tags to other nodes created by other users.

I have a database question for specifying a special node-type in Drupal for tagging folksonomy data by other users.

I think that it'd probably be possible to do this using the "flexinode module," but I'm not sure if it would provide scalability problems since it spaces out the metadata across so many rows.

So I thought I'd give an example of what I see the current implementation would look like with flexinode, and ask the following questions:

Would the following setup work?
What would a better table setup be?
Is the way that Drupal tracks tags the most optimized and scalable?
What are other tables for indexing would be useful?

Here's a summary of third-party Drupal tagging, with a more detailed example below:
NODE: nid / type / title / uid -- [The Tagged Object, blog/page/flexinode/etc. type, e.g. nid = 624]

NODE: nid / type / title / uid -- [The Tag Node, "Tag Another Node" flexinode type, e.g. nid = 599]
TERM_NODE: nid / tid -- [1st folksonomy tag]
TERM_NODE: nid / tid -- [2nd folksonomy tag]
TERM_NODE: nid / tid -- [3rd folksonomy tag]
TERM_DATA: tid / vid / name -- [1st folksonomy tag]
TERM_DATA: tid / vid / name -- [2nd folksonomy tag]
TERM_DATA: tid / vid / name -- [3rd folksonomy tag]
FLEXINODE_DATA: nid / field_id / textual_data / numeric_data / serialized_data -- [URL of object being tagged]
FLEXINODE_DATA: nid / field_id / textual_data / numeric_data / serialized_data -- [Additional Comments]

kentbye's picture

XL Spreadsheet for Generating Final Cut Pro XML Sequences

| | | | |

Here is an Excel spreadsheet that I used to generate valid Final Cut Pro XML.
http://www.echochamberproject.com/files/FinalCutProXML.xls

Being able to generate Final Cut Pro XML means that it is definitely possible to generate sequences of sound bite clips within Drupal -- and provide some interesting possibilities for faciliating collaborative editing.

My intention with posting this is that at some point a PHP programmer will come along to code this spreadsheet into a Drupal module.

Note that being able to do this requires extracting the following eight variables from the Final Cut Pro XML data.

sequence id > media > video > track > clipitem id > in
sequence id > media > video > track > clipitem id > out
sequence id > media > video > track > clipitem id > name
sequence id > media > video > track > clipitem id > duration
sequence id > media > video > track > clipitem id > file id > pathurl
sequence id > media > video > track > clipitem id > file id > timecode > string
sequence id > media > video > track > clipitem id > file id > timecode > frame
sequence id > media > video > track > clipitem id > file id > timecode > reel > name

If you want to get this to work with sound bites and Final Cut Pro on your computer, then I suggest trying to recreate the XML with the spreadsheet first.

I copied and pasted the XML data into a Word document to remove all of the tabs (^t) and carrage returns (^p) before it would work.

I also created a special content type within Drupal that contains these 8 XML variables -- as well as the text of the sound bite.

Here is an example of a "Sound Bite" node from the Bill Plante interview -- and here is an aggregation of all of the Bill Plante sound bites.

So it is possible to assign each sound bite to a unique URL -- as well as collect metadata on each sound bite that could be fed back into Final Cut Pro.

For more information:
Collaborative Media with Drupal + Final Cut Pro XML
Preparing FCP Sequences for Distributed Editing via XML
Progress on Phase 01

Syndicate content