2012 06 25

From TheCommandLineWiki
Jump to: navigation, search

Contents

Feature Cast for 2012-06-25

(00:00:17.354) Intro

(00:03:07.696) Hacker Word of the Week: fork bomb

(00:04:04.658) My Podcast Production Process

  • I have had a few people ask for a description of how I produce this podcast
    • I had wanted to do this as a presentation at Balticon
      • Or at Ohio Linux Fest that I could record, including questions and answers
    • Things didn't go as planned at Balticon and the panel devolved into podcasting gear talk
    • There is value in that but it prevented me from spending much time
      • Talking specifically about the free software and open sources tools I use
    • As much as I'd like to get to Ohio Linux Fest, whether as a speaker or not
      • After Balticon and vacationing in London
      • I am short the resources I need to make it out to Ohio this Fall
    • Rather than waiting for the next opportunity to talk about my process
      • As a presentation with an audience
        • I figured it would be a relatively easy feature to put together
        • To ease back into my regular writing and production schedule after time off
    • I believe the main reason so many people have asked me about this topic
      • Is my vocal switch back to Linux and the pre-requisite
        • Of finding tools that work well under that operating system
        • So that my podcast could continue uninterrupted
    • Except for two small bits at the beginning and end of my process
      • Everything I use is either open source of free software
    • There are more proprietary bits that can be used under Linux
    • I have friends who do so, either under WINE or natively
      • But my needs are modest enough that the open tools work quite well
    • I have yet to be faced with a production challenge
      • That has prompted me looking at any more closed tools
    • One area of this discussion that you'll find absent, perhaps conspicuously
      • Is production of music for the show
    • So far, I have been able to get by with bumpers and sweepers I had created on OS X
    • I keep meaning to dig into making some new ones
      • Using that as an opportunity to find comparable tools under Linux for doing so
        • But so far have not had a strong enough need or the time to do so
  • Before the show
    • Work on each episode begins well before I sit down to do any recording
    • For a news cast, I use one of the few bits of closed software
      • In the form of Google Reader to subscribe to a variety of feeds
        • From which I skim and collect the stories I discuss
    • I have looked at Thunderbird's feed reading capabilites and while they are nice
      • And it is the client I use exclusively for email
      • I really need a solution that syncs across all my machines
    • Some times I spend a bit of time at work scanning my feeds, other times at home
      • And often I do so from my laptop, wherever I happened to be
    • There have been rumors that Thunderbird would gain support for Mozilla's Sync
      • But so far this has not materialized, at least not in a stable form
    • I experimented with a nice add on for Firefox that makes use of its Live Bookmarks
    • The problem is that while bookmarks are supported by Sync, the extra state information
      • About what items in a Live Bookmark have been read or starred doesn't get replicated
    • If I find a sync solution or a free or open RSS reader
      • With sync and the minimum organizational tools I need
        • I will write it up on the web site or mention it here on the podcast
    • Whether I am working on a newscast or a feature cast
      • I do write up my talking notes ahead of time
    • I am an old, old vim user and take advantage of its advanced features
      • To turn it into a minimalistic outliner when I create or edit a file ending in .notes
    • Keeping all my notes in plain text means I can easily put them under version control
      • And in a bit of dog fooding, I do so with flashbake, a bit of software I wrote
    • flashbake gathers bits and pieces of ambient information and makes them available
      • As automatically entered text for git commit messages
    • I wrote it for Cory Doctorow who wanted to try to come up
      • With a digital equivalent to the marginalia that was lost in the move
        • From writing in long hand or even with a type writer
    • Using it lets me make sure it continues to work as I hack on it, slowly improving it
      • And has built up a treasure trove of meta-information I can mine if I am inclined
        • To understand what sorts of things I was thinking and experiencing
        • While working on the material for a particular episode
    • Keeping notes in plain text files has another advantage, one I had to translate
      • From the outliner I used to use on OS X
    • When I used that closed bit of software, it maintained document information
      • That helped me estimate how long a given file would take to recording
    • I can use wc, the simply word count utility in Linux
      • To get that same information and make the same estimate as I work in vim
    • The other variables that feed into coming up with a guess on recorded length
      • Require that I format my notes so that each line
        • Whether it is a main line or a supporting one in the outline
      • To under a certain length, about eighty characters
        • So that my heuristic ends up being about ten lines of text per minute
    • That very specific formatting also means that the file is much easier to scan
      • When I am doing the actual recording
    • I don't have to follow a line as it wraps
      • And have become accustomed to how the outline indents
      • Inform where I pause and the overall cadence of performing from my notes
  • Recording, editing and mastering
    • I had quite a bit of muscle memory built up from GarageBand on OS X when I switched
    • I had used Audacity enough to realize that using it would require a lot of effort
      • To translate my production processes and habits to that bit of software
    • Thankfully, my good friend Chooch Schubert, a fellow podcaster, musician and tech geek
      • Recommended among other things that I check out Ardour
    • While I find Audacity to be a very powerful wave file editor
      • With some fantastic features and plugins for cleaning and improving audio
      • As a tool for recording as I go and doing multi-track mastering on the fly
        • I found it seriously wanting
    • Worse, it is a destructive editor which is not as bad as it sounds
      • As it has essentially an unlimited undo stack in case you make a mistake
    • The problem with this approach, for me, is the time it takes to apply an effect
      • Then to revert it if I didn't quite get the settings right
    • Ardour by comparison by default records seamless into selected tracks
      • And takes more of a real time, live editing approach like Garageband
    • You can enable or disable an effect or plugin very easily to a/b test
      • Iterating until you've got the results you want
    • There is a fantastic FLOSS Manual written for Ardour, too
    • I normally recording just my own voice, adding beds and sweepers as I go
      • And making any edits as I flub some bit of the show, just back tracking
      • And doing the necessary additional takes right in place
    • Ardour works well for that and for the times when I have a live guest
      • Either in the studio or over VoIP
    • Like Audacity, you can record each person into their own track
    • When editing such multiple voice recordings, you get the same ability
      • To quickly try different things when mastering each track
    • Ardour also makes it very easy to apply effects to multiple or all tracks
    • For a bit more detail on my process, to make it easier to remix and reuse
      • I try to record the features and other segments as their own projects
    • I will run these out as raw audio at a higher quality, 24-bits rather than 16
    • As part of my editing on the fly, I pull these in as I need them
      • Mostly when assembling a feature cast
    • This also tends to support recording these pieces in separate sittings
      • Ahead of when I do that final assembly and post a finished episode
    • On the hardware side, I will admit that things get a bit more particular
    • I know some people who have newer audio interfaces and mixers
      • That connect via USB and work well enough under Linux
    • I have a FireWire prosumer mixer, an Alesis MultiMix 8, that I have had for years
    • I like my mixer because once the I have compiled the appropriate driver, ffado
      • Each channel on the mixer gets a separate track in Ardour
    • Not really for this podcast, but for the brewcast I have helped out
      • By recording in my studio, with this setup, with three other people
    • I can than run each voice track out separately and share those with John Taylor Williams
      • Who edits and produces the brewcast so that he can master each speaker separately
      • Before combining them and applying any finishing effects to them
    • With older USB mixers, ones that support USB 1.0 or 1.1, as far as I can tell
      • You cannot get multiple tracks, rather the board sends a premixed stereo stream into Ardour
    • I bought a USB 2.0 version of this mixer because I had heard the newer bus worked more like FireWire
    • Unfortunately USB 2.0 support for audio in Linux has not really matured
      • In part because the hardware seems to be fairly diverse and challenging
    • As a consequence I returned that USB 2.0 mixer and continue to fear the day my mixer dies
    • I was contacted on the web site by someone who bought the same mixer I have now
    • Despite the detailed instructions I provided on how I got mine working
      • He failed to get his working, our best guess being he had a slightly newer firmware in his
    • I hope that at some point the USB 2.0 support firms up
      • Such that multiple track recording under Linux just works
    • Until then, my lab machine is a bit of a time capsule
      • With a mixer that is no longer produced, a version of Kubuntu that is approaching end of life
        • And with a set of condenser microphones that also are no longer produced
    • In the lab, I use an Audio Technica 3035 that I love and have had forever
    • It is simply a phantom powered mic that responds well in the mid to low frequency ranges
    • I am sure there are Audio Technica models that are very comparable
    • With a decent mixer or audio interface, mics are probably the easiest to pick for best sound
      • And to replace if there is a problem
  • Portable recording
    • I will briefly add some details of how I record when at an event or traveling
    • I often throw a Griffin iMic into my bag with a Giant Squid Lab microphone
    • This mic is a stereo rig where there left and right have separate capsules
      • Each on a length of cord about six feet long
    • They have clips so can be worn like lavaliers, useful for recording a guest
      • Or clipping to a lanyard like when I am recording my audio travelogues
    • If I need a bit more power and flexibility, I bring along my Samson Zoom H4n
    • The Giant Squid mic works well with that portable recorder
    • Additionally it provides a couple of powered jacks with high quality, XLR connectors
      • So I can also use a wide variety of external microphones if needed
    • I have documented on my web site a portable VIOP set up that worked with my old recorder
      • But should still work with the H4n
    • Basically, I route the VOIP call via the iMic into the recorder
      • And capture my end with an extra mic going straight into the recorder
    • As with my studio, I avoid routing audio in software
      • Mostly because I am superstitious and tend to trust dedicated hardware bits
        • More than I do software which can become memory, processor or disk bound too easily
    • Once I have a recording, I will do a pass with Audacity, applying noise reduction and normalization
    • Then I will pull each separate track into Ardour for editing and final mastering
  • Bouncing down the audio
    • Regardless of the content or how I captured it, in the lab or in the field
      • I run finished episodes out from Ardour to raw audio, to .wav files
    • I use a set of scripts I wrote for this purpose
      • To encode that raw audio in all the formats that I publish
      • And to tag and add as much metadata as each of those formats support
    • You can check out those scripts on github, where I have openly licensed them
    • Here is where one other proprietary bit creeps into my process
    • Early on in the podcast, I added support for multiple file formats
    • The orginally spur to do so was to experiment with the enhanced AAC capability
      • That Apple was pushing for podcasts
    • For capable software and devices, this is very convenient
    • A producer adda chapter marks along with respective titles, links and graphics
    • The listener can then skip forwards and backwards by chapter
      • Even restarting a chapter like you would a track in a playlist
    • I was prepared to drop this format when I moved to Linux
    • This project includes a bunch of tools for working with MPEG-4 audio files
      • Including adding chapter marks and titles
    • It doesn't support setting graphics or adding links
      • But what I've heard most from listeners subscribing to the audio in this format
        • Is that they used the ability to skip around more than they paid attention to links and art
    • As an old professional software developer, I abide by an idea that applies here
      • That you should be very hesitant to take away a feature once you provide it
    • AAC, with or without chapter marks, is just as proprietary as MP3
      • And I feel both are useful in affording listeners more choices
    • It may not be as conceptually pure as only releasing my show in royalty free formats
      • Like Ogg Vorbis and flac which I also do
        • But I think it spiritually fulfills the same end
    • For anyone want to take advantage of the Creative Commons license under which I release the show
      • The flac version is as good as the original raw audio
        • Sort of like a source version of the show
    • If someone just wants the compiled version that works best with their player
      • As a convenience I have pre-compiled, if you will, for the most popular ones
    • I have read that the latest version of Ardour can output in multiple formats at once
    • If it weren't for my mixer, I might try that but really the scripts I have
      • Let me make sure the tags and info along with the audio is as complete and consistent as can be
    • So a built-in similar feature would have to be pretty complete to replace what I use now
  • Updating the feeds
    • As part of the project containing my encoding scripts
      • I also have some freely licensed, custom code for updating my feeds
    • This code is pretty specific to my site and how I work
      • More so than the encoding bits in the shared project
    • For one, it uses a category feed from my web site
      • Since that is where I enter the show notes and post the episodes originally
    • The automation here basically just duplicates that into additional feeds, one per format
      • Replacing the attachments with the appropriate file, adjusting the metadata to match
    • I publish the feeds to a public folder on my Dropbox account though I could put them anywhere
    • I use Feedburner to wrap the feeds which takes off some of the load
      • And lets me get some consolidate statistics on subscriptions and downloads
    • I started using Feedburner before Google acquired them
      • And am honestly a bit distressed that I haven't seen a competitive service
        • Though I haven't really looked to see what is out there
        • Given the hassle in changing and redirecting feeds, something I've done more than once
  • This was of necessity a very high level view of my process
    • Hopefully I've given enough detailed information
      • To help show what is possible with free and open tools under Linux
    • Some of these tools, like vim, Ardour and Audacity
      • Are also available on other platforms so worth taking a look if you are interested
    • Undoubtedly many of you may have much more specific questions
    • Feel free to send those to feedback@thecommandline.net
      • Where I will answer them all directly, as completely as I can
    • If any of them are general enough, I will happily answer them on the show, too
      • For the benefit of everyone else who may be curious

(00:30:58.061) Outro

Personal tools