Scheduling flexibility and robustness (almost there ?) - long OP
  • Hi,
    I'm a sideline fan of Airtime at this time, and really want to like it enough to select it over other alternatives, but the scheduling / metadata capabilities don't seem to provide quite the flexibility / robustness we are looking for (yet).  I LOVE the browser-based approach of Airtime!  I have chosen to register an account here in order to participate in the forums and provide feedback since I don't have the programming chops to be able to contribute that way.

    KMUZ is a relatively new community radio station (3rd year) currently using mostly donated gear.  Currently, we are using Megaseg (Mac-based, not browser-based), and we are evaluating several automation systems out there to replace Megaseg.  I've been keeping my eye on a few open-source options:
    - Airtime (linux-based)
    - Rivendell (linux-based)
    - RadioDJ (winblows-based)

    - Simian (windows-based) is a commercial product that one of our most experienced community radio veterans (40 years+) has used many times, and apparently is used by many community radio stations that have some budget to pay for it.

    The reason I mention all these is to provide a list of competing products, whose features can be evaluated (I'm mainly focusing on scheduling capabilities in this post).

    Scheduling something that's exactly nn Minutes long (say a pre-recorded show) seems to be well-covered by all.
    *Basic* metadata scheduling criteria seems to be present in all as well.

    *** Variable-length content scheduling robustness and intelligence is the thing that brings one to the top-contender list. ***

    In it's simplest form (metadata criteria not included), to run in "dynamic" unattended mode, KMUZ looks for:

    - Play Legal ID between [ hh:55 to hh:05 ] (FCC requirement)
    - Fill time in between with some tracks
    - hh:20 - play a Station/Show Promo (can occur after end of last track)
    - Fill time in between with some tracks
    - hh:40 - play a Public Service Announcement (can occur after end of last track)
    - Fill time in between with some tracks
    - Make it all "fit" to start/stop/transition cleanly each hour.
    - Don't repeat recently played items
    <repeat cycle>

    ALL audio varies in length, so the system must be able to evaluate duration, and dynamically adjust to "make things fit" into the timeline.  This is particularly critical for top-of-hour transitions.  Some shows may be 2 hours, or only 30 mins, so that's something to consider too.

    Here's my scheduling architecture suggestion:
    *** A "schedule overlay" or "schedule layer" approach; the "layers" provide a means of prioritizing and combining schedule criteria; very powerful!! ***

    I see this approach to be a very user-friendly way to set up a programming schedule too which has high value (reasonably easy to for user to understand, supporting simple or complex scheduling requirements):

    Essentially 3 separate logical schedule "layers":
    1) Define events that MUST occur (Legal IDs, Promos, PSAs, etc.)
    2) Define general unattended schedule patterns (metadata criteria "schedule blocks")
    3) Specifically defined blocks that override the general "dynamic" unattended schedule patterns (playlists/pre-recorded shows/syndicated content/scheduled streams).

    Keeping them separate allows them to be clearly defined and understood.

    Yet, these "layers" interact with each other, providing a means to combine and prioritize scheduling criteria.
    - (1) Is priority; occurs "in-between" tracks playing in (2).
    - (1) "Ducking" might be a cool option :)
    - (2) Is easy; don't have to be concerned with other scheduling details, like (1) or (3).
    - (1) and (2) should also serve as the fall-back for when something specified (3) doesn't go as planned (missing content, etc.).
    - (3) gets tricky; it may already contain pre-recorded Legal IDs, Promos, PSAs (as with re-broadcasting a recorded show)

    Possibly one more "layer" might be "rules" to follow (repeats, etc.).  Not sure on that one.  Maybe "rules" would be available in each layer?

    Anyway, I'm sure there is more complexity that could occur with the above, but even just the above would make a very powerful combination!

    A cool (and I believe very useful) visual tool would be a "show layers" Schedule View to visualize the programming schedule, with each defined layer "overlaying" the layer behind it that it has priority over.  A simple click to display/hide each layer would let you visualize it in any manner useful to you.

    Side note not related to scheduling:  one last feature missing that we use when we transition between live shows and automation is the ability to stop/start Automation cleanly (not abruptly in the middle of a song).
    - "I'll be starting my live show shortly; finish this song, then stop"
    - "I'll be ending my live show shortly; when I resume/start automation, start playing (from the beginning of the audio item) according to the currently effective scheduled parameters when I press Play".

    I better stop now :)

    I hope these ideas are helpful for all,
    Chief Operator,
    KMUZ Engineering

  • 4 Comments sorted by
  • Come on board rather than on the sideline

    Check the airtime team they have a wealth of experience for customizable solutions.

    Since I am familiar with the three software, I could make a whole suggestion that will help you greatly.

        Do not look for all your answer in one  a software.

    This is How you can visualize it

    • Mixing Board
    • Broadcast consoles
    • Main Desk Playout Software of your choice (Itunes,radio dj,IDCJ, Rivendell, etc)

    •     DJ Software  ( remember not all software will send metadata to open source applications chose ones which are compatible)   
    • Autodj sections (airtime,icecast,mpd,or features of other softwares

     Client Software (DSPs)

    • Butt
    • Samcaster
    • Winamp


        Stream Server (Icecast or shoutcast



    That's the flow

    Now all your switching is done  between your DSPs and Playouts

    for  so you want break at 55min use the switching to overides your playouts Set a schedule at 55min repeats etc.

    Just to say if you schedule calendar you can achieve impossible thing.

    I have schedule my calendar since last year August and although I rely heavily on AutoDj (which I showed in my dummies tutorial in this forum, and always customizing features,I find I can do anything I want.

    • Top of the hour breaks
    • News on the Hour
    • IDs Overlay
    • Clean / Overlays Jingles/Samples
    • Temperature call.

    Now one of the biggest puzzle to me is when people say

    "we transition between live shows and automation is the ability to stop/start Automation cleanly (not abruptly in the middle of a song)."

    In most broadcast stations,I have either volunteer for or worked for time is the essence.Live shows end 3-5 minutes  before the TOH or Break  for Ads and station beds,otherwise you are automatically fade down or cut off even if you are making a point or playing your best ,so tell me why you want to do it manually.

    I like to look at what the Ardour team suggests and I paraphrase here that it

    "is free in the sense that you are free to do anything with it that you want (including use it on as many machines as you wish, make copies of it for friends and so forth). Some people like to explain this with the phrase "free as in free speech, not free as in free beer".

    It is also free in the sense that you can get the source code at any time and build it yourself. This can be a complicated and difficult task, especially on OS X.

    This is a big, complex software project, and without revenue to support its development, it will almost certainly grind to a halt."

    This is applicable with airtime in every way we can and as long as we make contribution to make it better and encourage the team they still have a long way to go and although I am not a member of the staff,I know your suggestion is well considered.

    My maxim is that " I can fix my car  but  I think a Mechanic would do a better Job"
    If you are not just using the software for podcast etc,get the experts to advice you matter how low your budget is get someone to work with you to realised your dream. and please no one should interpret what I said negatively but as a friend always remind me is that we all have limitations and having the right people will make you achieve your goals

    and that start right now.Select one software and grow with it

    All big Stations have specialised team for specialise task.

    As I once told a station manager,I do not know anything about transmitter so do not look at me to impress you,Ain't touching it.

    Thanks to my friend who used young volunteers to select the music and he focuses else where.I still feel that "Bear Hug"

    Good Luck


    Post edited by Voisses Tech at 2014-04-05 03:15:17
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Thank you Voisses - I've read many of your posts here in the forums and I value your information!

    I installed Airtime in a test environment to try it out for awhile.  I really like many aspects of it!  After trying it out, and reading as much as I could (manual, forum posts, etc.) I decided to post to the forum.

    We currently use Automation to fill in the programming gaps between live shows.  It is assigned to an input channel on our broadcast console, so there is a manual interaction with the fader when DJs transition between live shows and Automation. 

    Initially, we let Automation run continuously, and those transitions in/out of Automation were pretty obvious to the listener.  Our Program Manager wanted the listener's experience to be better than that, so asked our DJs to Start/Stop the Track on the Automation side cleanly, instead of just bringing the fader up or down in the middle of whatever Automation was doing.

    I head up Engineering, providing support mostly for the infrastructure side of things.  The station looked to me for ideas/options to replace Megaseg.  Not being Mac-savvy, I looked for options on Linux and Winblows, looking to the Open Source world first.  Also, not being the person that manages content, I could only take it so far.  At some point the "content managers" need to be engaged and try it out.  See if it does what they need it to do.  My involvement basically was to build/install it, then let them run with it.

    Two Open Source options emerged for me:
    - Airtime
    - RadioDJ

    I checked out Airtime first, and on first pass, I couldn't quite figure out how to use it effectively for our needs.  The Track Start/Stop functionality I mentioned did seem to stick out a bit for us.

    Next, I evaluated RadioDJ.  A variety of pros/cons, but on first pass, it seems to meet our needs, and is the current contender.  I'll turn it over to the content managers now to evaluate.

    Now I get to come back to Airtime, test it more thoroughly and see if I missed something the first time!

    I will try to remember to ask how-to questions first, and offer only suggestions that may be useful for any user :)

    Kind regards,

    Chief Operator,
    KMUZ Engineering

  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi Rick, you are right that Airtime does not have a start/stop function, this is because it is a multi-user system with remote access. For example, say one person was logged in and clicking Play while another person was clicking Stop, which action would the system honour?

    Or if someone hit the Play button late and then logged out, the show would be running late (which in the Airtime design is never acceptable). Fading the last item in the show may get you out of trouble if you are only a few seconds late in a music show, but of course it won't work for speech content, or if you are very far behind.

    So the principle is that the Airtime playout schedule is like a slow-moving railroad train on a circular track which takes 24 hours to circumnavigate. You can jump on or jump off at any point, but the train is unstoppable. Each car in the train is a show, and you can re-arrange anything you want inside that car, up to the point of playout. If you want to manually trigger the playout, you can drop items into the show on the Now Playing page and they will begin playout automatically.

    By the way, RadioDJ is not open source, it's freeware, which makes a difference if you want to maintain or extend the software independently.



  • Thank you Daniel - the train analogy is perfect.  Very helpful!

    Airtime is quite remarkable.  It's design addresses a work flow I had not considered as much before.
    Truly an amazing piece of work!

    Thank you for responding,
    KMUZ Engineering