Docs

Spawn A Radio Station
Airtime Manual

Updated for Airtime 2.5.1

Airtime is the open broadcast software for scheduling and remote station management. Web browser access to the station’s media library, multi-file upload and automatic metadata import features are coupled with a collaborative on-line scheduling calendar and playlist management. The scheduling calendar is managed through an easy-to-use interface and triggers playout with sub-second precision.

Airtime has been intended to provide a solution for a wide range of broadcast projects, from community to public and commercial stations. The scalability of Airtime allows implementation in a number of scenarios, ranging from an unmanned broadcast unit accessed remotely through the Internet, to a local network of machines accessing a central Airtime storage system. Airtime supports the playout of lossy compressed audio files in both MP3 and AAC formats and the open, royalty-free equivalent Ogg Vorbis. It also supports playout of lossless FLAC and WAV format audio files.

Airtime manages the Liquidsoap stream generator at the heart of the system. Liquidsoap generates streams from files in the Airtime library and any remote input streams that you specify. Available stream output formats include Ogg Vorbis, Ogg Opus, MP3, and AAC. The library is indexed in aPostgreSQL database to enable searching. Live shows can be recorded automatically with Ecasound, using the sound card line input. News editors, DJs and station controllers can use Airtime to build playlists or smart blocks and manage media files (upload, edit metadata, manage advertisements) at the station or via the Internet.

The Airtime administration interface is designed to work with any web browser, on any desktop or mobile platform with a minimum display size of 1280×768 pixels. Airtime looks its best on a high definition display of 1920×1080 pixels. The recommended web browsers are Mozilla Firefox 25 orGoogle Chrome 30 (or later versions). Apple Safari 6 (or later) is also supported.

International UTF-8 metadata in media files is supported throughout, and the Airtime interface can be localized into any language or dialect using the standard GNU gettext utility. Localizations that are installed by default include Austrian, Brazilian, British, Canadian, Chinese, Czech, French, German, Greek, Hungarian, Italian, Korean, Polish, Russian, Spanish and USA. See the chapter Interface localization for details of how to update a translation or add a new localization.

The scheduler in Airtime has a calendar view, organized by months, weeks and days. Here the program editors can schedule playlists and shows for their broadcast station. In some scenarios, the transmitter is situated outside the reach of the broadcaster and all program management has to be maintained through the web interface. Possible reasons for this scenario might be of a pragmatic nature (running many stations from one central office due to limited human resources) or an emergency (running a transmitter in a crisis area without putting staff at risk).

A fully managed Airtime Pro service is available from Sourcefabric. Airtime source code and packages for Debian and Ubuntu are also available for download, under the GNU General Public License version 3. If you’re an Airtime Pro user, you can go straight to the Getting started chapter of this book and log in. If you wish to install Airtime on your own server, you should start at the Preparing the server chapter, and work your way through the installation steps. Alternatively, a demonstration server is available for public use at:

http://airtime-demo.sourcefabric.org/

Airtime workflow

This typical workflow is intended to clarify the difference between the various components that make up a complete Airtime system.

  1. There are media files on a storage server, which include metadata in their tags (title, creator, genre and so on). This storage server might be accessed directly via studio workstations on the local network.
  2. The Airtime media-monitor keeps track of files being added, renamed, moved or removed from storage, and reads their metadata using the Mutagen library.
  3. A PostgreSQL database contains the location of those media files and their metadata. This means you can search for and playlist a set of media files according to the specific metadata that you require, or use a ‘smart block’ to select the files for you. The database also contains details of specified remote input streams.
  4. Pypo, the Python Playout engine, downloads media from the storage up to 24 hours ahead of playout and checks it for average level (with ReplayGain tools) and leading or trailing silence (with Silan). At playout time, the media to be broadcast is sent to Liquidsoap.
  5. Liquidsoap takes individual media files and remote input streams, and assembles them into a continuous output stream. This stream can be sent to a sound card (e.g. for a broadcast mixer, on the way to an FM or DAB transmitter) or to a streaming server for IP network distribution, over the LAN, local WiFi or the Internet. You can stream to a sound card and up to three different stream distribution servers with the same Airtime server, if you wish.
  6. Icecast (http://www.icecast.org/) is the default stream distribution server, and there is also support for SHOUTcast (http://www.shoutcast.com), but in theory you could stream from Liquidsoap to any online service. If a suitable Liquidsoap output is not available for your streaming service of choice, you can send audio from Liquidsoap to a separate encoding or streaming machine via a sound card or relay stream.
  7. Monit monitors the health of pypo, media-monitor and Liquidsoap, and reports the status of these services to Airtime.
  8. RabbitMQ pushes messages from Airtime to media-monitor and pypo about changes to media files and the playout schedule.
  9. Airtime manages all of these components, and provides an easy, multi-user web interface to the system. It enables your station staff, depending on the permissions you have granted them, to:
  10. a) upload media files to the storage server via theAdd Mediapage
  11. b) automatically import file metadata into the PostgreSQL database
  12. c) search for and download media files, and edit the metadata of individual files, if required, on theLibrarypage
  13. d) create and edit playlists of media files or create smart blocks of content based on metadata, edit cue points and fades, and audition them. Playlists and smart blocks are also saved in the database, and can be searched for
  14. e) schedule colour-coded broadcast shows (which can contain playlists, smart blocks, pre-recorded complete shows, timed remote input streams, or be live) for specific dates and times on theCalendar Regular shows can be scheduled by the day of the week or month, and can be linked to share content
  15. f) automatically record live shows at specific times and dates (in 256 kbps Ogg Vorbis format by default) from the sound card input with Ecasound, upload them to the storage server and import them into the database
  16. g) manage presenter, staff and guest access to Airtime, and contact details, via theManage Userspage
  17. h) see what is about to be played by Liquidsoap on theNow Playingpage, with support for last-minute changes to the content
  18. i) upload media files from Airtime to a third-party hosting service, such as SoundCloud
  19. j) audition available output streams from the server using theListenbutton
  20. k) check the status and resource usage of system components on theStatuspage
  21. l) export the broadcast schedule to external sites via the Schedule API
  22. m) see logs on thePlayout Historypage and view graphs on the Listener Stats page
  23. n) configure the Airtime system on thePreferences,Media Folders and Streams

Example studio broadcast system

In the diagram of an FM radio station below, Airtime is hosted on a server connected to the local network, with direct soundcard access. Liquidsoap outputs streams to both the transmitter, via the main studio mixer, and streaming media servers. The machine running Airtime is behind a firewall because it is also connected to the Internet for remote access by media contributors. This enables Airtime to offer password-protected access to the media library and scheduling from both inside and outside the studio building.

Example web broadcast system

In the diagram below, Airtime is hosted on a remote web server, and has no soundcard. There does not need to be a centralised studio, although Airtime can enable remote studios to stream in to Liquidsoap at authorised times. Optionally, the outgoing Icecast stream can be relayed to a transmitter.

 

Rights and royalties

If you’re new to broadcasting, or have not streamed your station online before, reading the following brief explanation of compensation rules for songwriters, musicians and other copyright holders may save you a great deal of trouble later.

Independent music radio on the Internet has faced royalty demands from SoundExchange in the USA, and similar organizations in other territories. These organizations are usually membership societies or government-sanctioned national authorities which are intended to collect money from broadcasters to compensate copyright holders. The royalty collection societies require payment before you can stream just about any music released commercially to the general public — whether you make any money out of streaming, or not. It’s not so much the percentage of revenue demanded, but that there are usually annual minimum fees to pay, which can hurt small stations disproportionately.

For example, in the UK, the MCPS-PRS Limited Online Music Licence covers non-commercial music streaming by groups and individuals, as long as their gross revenue is less then £12,500 per year. The cost is on a sliding scale, up to £1,120 plus 20% tax per year for delivering up to 450,000 individual streams or serving 25,000 files; after that, you have to apply for a full MCPS-PRS Online Music Licence. That doesn’t sound too bad at first, but 25,000 files per year works out at less than four downloads per hour for a round-the-clock website. This particular licence only covers publishing (songwriter) rights, not recording (record label and musician’s performance) rights, so you have to negotiate an additional licence from Phonographic Performance Limited (PPL) to play music online, including digital recordings converted from commercially released CDs, vinyl or tape.

Typically, you have to provide full statistical details to the royalty society of all music streamed or downloaded from your site, which can be onerous. Even if your radio station is mostly speech, there are many limitations in the small print of these music licences. For instance, you can’t use music for promotional purposes, and you can’t stream a whole opera, without negotiating separate licences. Weirdly, you are not allowed to play a piece of music in a ‘derogatory context’ to the writer or performers; no drummer jokes allowed, then.

However, the biggest pitfall is that these MCPS-PRS licences for publishing rights only cover listeners in the UK. For recording rights, PPL is a member of the IFPI reciprocal scheme for webcasters, which means its licenses cover listeners in some European countries, Australia, New Zealand and a few other countries, but not listeners in the USA or Canada. So if your Internet station picked up a significant number of listeners in countries not covered by the MCPS-PRS licences or the IFPI reciprocal scheme, you would have to pay for similar music licences in those countries as well. It’s no wonder that many not-for-profit radio stations have disappeared from the virtual airwaves over the last few years, since not having the right licences could leave the operator liable to legal action.

If you want to go down the commercial music route, check out the http://www.prsformusic.com and http://www.ppluk.com websites for UK licence details. In the USA, the http://www.soundexchange.com website currently quotes a 500 dollar minimum annual fee for non-commercial webcasters, plus a usage fee above a certain number of listener hours, for the right to stream music recordings to listeners. See the websites of ASCAPBMI and SESAC for details of music publishing royalties payable by webcasters streaming to the USA.

Free content streaming offers an alternative for DIY Internet radio. Since royalty collection societies like MCPS-PRS and SoundExchange can only represent the interests of their own members, it follows that if you are not a member, you can stream your own self-produced content without paying for their licences. If you state somewhere on your website that the stream is of your own copyrighted material, and is made available to the public under a specific licence, then no-one should misunderstand your intentions.

You might be able to persuade other people to allow you to stream their content too, as long as they do not have a conflicting legal obligation, such as having previously joined one of the many royalty collection societies around the world. You can ask for permission to stream when website visitors upload their own music files to you via a HTML form, much as the likes of SoundCloud do. Or you can collect files licensed under an appropriate Creative Commons licence (http://www.creativecommons.org) or other free content licence.

Explicit permission to stream on your particular server is always going to be the ideal, so think about your own terms and conditions before you accept files from third parties for streaming. How, for example, would you know if someone uploaded a file to your online radio station that unknown to you, had been ripped from a commercially released CD? That’s the kind of thing that could get you in trouble with the licensing authorities and copyright holders.

 

On air in 60 seconds!

Here’s how you can use Airtime to manage your broadcasts. Chapter names in this book are shown in italics, to help you find the details of each step (if you need to read more).

  1. Log in to your Airtime server with yourUsernameand Password (Getting started).
  2. Add your files to the Airtime library by clickingAdd mediaon the main menu, then click the Add files button. You can drag and drop your files into this window too. Then click the Start upload button (Add media).
  3. Create a show by clickingCalendaron the main menu, and then clicking the + Show button (Calendar). Only admins and program managers can add shows (Users).
  4. Set a name for your show in theWhatsection of the box, and a date and time in the When section, then click the + Add this show button (Calendar).
  5. Add media to the new show by clicking your show in theCalendarand selecting Add / Remove Content (Calendar). Or if the show has already started, use the Add / Remove Content button on the Now Playing page (Now Playing).
  6. Click media in the search results on the left side of the pop-up window which will appear, and drag it into your show on the right side (Now Playing).
  7. You’re on air! Click theListenbutton to hear available streams.

 

Page 4

 

Getting started

If the server is only being used for Airtime and has a web browser installed, you can access the administration interface directly on that server by opening the address:

http://localhost/

If you have set up Airtime so that it can be accessed from other computers, you would use a domain name instead. For example:

https://airtime.example.com/

Airtime Pro users will have been given an airtime.pro domain name when they signed up.

You can log in for the first time with the user name admin and the password set during installation. Your browser should automatically focus on theUsername field.

If you enter the password incorrectly three times, you will be presented with a reCAPTCHA challenge to prove that you are a human, and not a password-guessing robot. This feature helps protect your Airtime installation against brute force attacks.

If activated, you will see a link Reset password below the password field, which enables users to obtain a password reminder by email. See the chapterPreferences for configuration details.

 

The E-mail address you enter must match the address stored in the database for your Username.

Register Airtime

After you have logged in as admin for the first time, a pop-up window will ask if you wish to send technical support data about your server to Sourcefabric.

These details can be viewed by clicking on the Show me what I am sending link, which expands a scrolling window. The data helps Sourcefabric engineers resolve any problems with your Airtime installation, as well as count the number of installations worldwide.

Sourcefabric has a privacy policy regarding data collection, which you can read by clicking the link to http://www.sourcefabric.org/en/about/policy/ further down. After checking the Send support feedback and privacy policy boxes, you can submit the data by clicking the Yes, help Airtime button.

This window also offers the opportunity to Promote my station on Sourcefabric.org (on the page http://www.sourcefabric.org/en/airtime/whosusing/) by checking the box. Fill in the form which will appear with some details about your station. The contact details are only requested for verification purposes, and will not be made available to the public. Click the Browse button to select a Station Logo image from the file manager on your computer.

The Master Panel

After the pop-up window is closed, you should now see the Master Panel, which is present at the top of every page of the Airtime interface. On the left hand side, the Master Panel displays the details of the Previous file played out, the current file playing (with an orange progress bar and time elapsed/time remaining), and the details of the Next file due to play. It also displays the name and scheduled time of the current show, with a blue progress bar.

Beneath this side of the Master Panel is the main navigation menu, with sub-menus labelled Now PlayingAdd MediaLibraryCalendarSystem,History and Help. We’ll be looking at the contents of these menus in the following chapters of this book.

On the right hand side of the Master Panel are the switches for the Source Streams, which enable you to switch from scheduled play to remote live sources, and back. (See the chapter Stream settings for details of this feature). The On Air indicator turns from dark grey to red whenever audio is being played out. Underneath this indicator is a Listen button, which opens a pop-up player that can be used to audition the available playout streams.

There is also a clock indicating the Station time and time zone. Beneath the clock and just to the left, the name of the user currently logged in is displayed, and there is the link for you to Logout.

Clicking the username link opens a page in which you can update your Airtime password, contact details, language and time zone preferences. Click theSave button once you have made the changes that you require.

On the right of the Logout link, clicking the green check mark opens a pop-up window with information about the version of Airtime installed. If your Airtime installation is not the latest version available, the green check mark changes to a green upgrade arrow. Should your Airtime installation get too far out of date, this arrow will change to a red exclamation mark.

Checking an Icecast server

If you have installed an Icecast streaming media server, you can check that Icecast is running by opening its default server port of 8000 in your web browser. For example, on the server itself, you can use:

http://localhost:8000

or from another machine, using the domain name of the Icecast server:

http://streaming.example.com:8000

You should see the Icecast status page, with details of any connections that your Airtime server has made to this Icecast server. If you have only just installed Airtime, there may not be any media playing out yet.

 

Page 5

 

Smartphone journalism

Using an ordinary smartphone and Airtime, you can upload your audio reports to the studio library or put them straight on the air. Here’s how…

The basic voice recorder app on your phone may not have all the features you need for journalism, but there are plenty of more suitable recording apps available for both iPhone and Android. For instance, searching for ‘ogg recorder’ in the Play Store on an Android phone yields plenty of alternatives. The following example uses RecForge Lite because of its configurable recording formats. This free app is limited to three minutes per recording, but there is an unrestricted version available at very modest cost.

In the Settings window of the app, set the recording format as Ogg Vorbis, 44.1KHz sample rate, mono. Disable automatic gain control to get a consistent recording level, rather than artificially boosting quiet sounds, which should result in less distortion. Under ‘Limit folders browsing’ give the app access to all of the SD Card storage of the phone.

Back in the main recording window of RecForge, create a directory such as ‘recordings‘ under the /mnt/sdcard/media/audio/ path, which is normally used by the phone’s music application. You can then make recordings using the big red button, watching the input level meter to ensure a good signal to noise ratio. The recorded files are automatically named with date and time stamps, but can be renamed in the app later by selecting the Edit feature. The latest recordings are listed in the main recording window; individual files can be auditioned by tapping on them.

Open the web interface of your station’s Airtime server in the phone’s browser, log in with your username and password, and tap Add Media on Airtime’s main menu. After tapping the Add Files button, the phone will offer a choice of file to upload. By tapping Select music track you can browse the/mnt/sdcard/media/audio/ directory on the SD card filesystem, without requiring the installation of a file manager app on the phone.

Tap one of the date-and-time-stamped files listed from the ‘recordings‘ directory to select it, then tap the OK button. The files are credited to ‘Unknown artist‘ because they have not yet been tagged with creator metadata.

After tapping the Start upload button on the Add Media page, the files are now copied into the remote Airtime library.

If you prefer, you can upload audio files to the organize folder on the Airtime server using an SFTP client, skipping the web browser step. See the chapterManage media folders for details. Suitable client applications include AndFTP for Android: http://www.lysesoft.com/products/andftp/index.html

You can now add the uploaded files directly to a forthcoming show, use them to create smart blocks or playlists in the Library, or edit their metadata to make them easier to find in searches later. One of the limitations of mobile recording is that it isn’t always convenient to enter large amounts of text metadata when you’re on the move. So a phone app that tagged audio recordings with creator, location and other relevant metadata would be very useful.

Going live

Mobile apps which enable you to stream directly into Airtime’s live rebroadcast feature include KoalaSan for iOS: http://koalasan.net/ andBroadcastMySelf for Android: https://play.google.com/store/apps/details?id=sa.broadcastmyself DemoIcesShout for Android also shows promise, although it can only stream a static file, rather than stream from a microphone: http://droidtools.sourceforge.net/content/icecast-client-android

A live workflow does of course depend on a steady network connection between the phone and Airtime server. Because streaming media on a regular basis can use a lot of bandwidth, it is advisable to use WiFi rather than mobile data (3G/4G) whenever possible, especially when roaming across networks.

KoalaSan can stream input from either the built-in microphone or the external jack of the iOS device. An example configuration for the Settings tab might be:

Name: AirtimeServer: airtime.example.comPort: 8003Mountpoint: mastermountStream name: AirtimeDescription: A live stream to AirtimeGenre: NewsUsername: masterstreamerPassword: masterpasswordCodec: mp3Bitrate: 128Protocol: Icecast2Stereo: off
AudioBus: off
Dump: on
Broadcast: on

You can start streaming from the iOS device by tapping the start button in KoalaSan’s Stream! tab.

To configure BroadcastMySelf, tap the gears icon in the top left corner to enter the settings page, then tap Output Settings. This action opens theIcecast Settings page, where example settings could be:

Hostnameairtime.example.com Port8003 Path/mastermount Usernamemasterstreamer Passwordmasterpassword MP3 Encoder Bitrate128 Kbit/s Metadata Template_song__artist Streaming Buffer SizeMP3 buffer size X 8

You may also wish to configure the Tracks Folder setting, which enables you to stream static files from the storage of the device. Depending on where you keep your audio files, this could be a path such as:

/mnt/sdcard/media/audio/

To connect the Android device to the Airtime server, tap the square button in the lower middle of the main interface. The connection indicator on the button should turn blue, and the message connected should be shown. Push up the fader on the left to increase input level from the internal microphone, or push up the fader on the right and tap one of the named files in the upper right window to stream it. Tap either of the LOCK buttons to prevent the stream input level being changed accidentally.

When the connection is made, Airtime output will fade from scheduled play to the stream from your mobile device. See the chapter Stream settings for more details of connection preferences.

 

 

Preferences

On the System menu, click Preferences to set your Station Name. This text is shown in your web browser’s title bar when your station staff are logged into Airtime, and optionally in stream metadata.

Initially, the Default Fade In and Default Fade Out times for automated fades are set to half a second, and the Default Crossfade Duration is set to zero seconds. Custom fade and crossfade times can be set for adjacent items in a playlist or static smart block. See the chapter Library for details.

You can enable live, read-only access to the Airtime schedule calendar for your station’s public website with the Allow Remote Websites to Access “Schedule” Info? option, if you wish. (There is more about this feature in the Exporting the schedule chapter, in the Advanced Configuration section of this book).

The Default Interface Language drop-down menu sets the default localization for your Airtime instance, and the Station Timezone drop-down menu can be used to display local time at your station. Airtime stores show times internally in UTC format (similar to Greenwich Mean Time), but displays local time for the convenience of your station staff. You can also set the day of the week that you wish to start your station’s weekly schedule on, which defaults to Sunday. Then click the Save button.

Individual Airtime users can choose another interface localization when they log in, or set personal preferences for localization and time zone by clicking their username on the right side of the menu bar.

Email / Mail Server Settings

The Enable System Emails (Password Reset) box is not checked by default, because although enabling staff users to retrieve their lost password for themselves may be convenient, this option does have security implications. If the email account of the staff user is compromised, an attacker could very easily gain access to your Airtime server by clicking the Reset Password link on the login page.

If you wish to enable the password reset option, your Airtime server can have an SMTP mail program installed. (See the chapter Preparing the server for details). Alternatively, you can check the box Configure Mail Server and specify the details of an external SMTP server, which would usually require authentication if it is outside of your local network.

Whether SMTP runs on the same server as Airtime or on another server, you should enter a valid email address into the Reset Password ‘From’ Emailfield to help ensure emails are delivered correctly. Then click the Save button.

 

SoundCloud Settings

If your station has a SoundCloud account (on http://soundcloud.com), you may wish to upload files and show recordings to this service, in order to broaden distribution and balance the bandwidth load with your own servers. Click the small black triangle next to SoundCloud Settings to show the options available. Check the Enable Soundcloud Upload box, then optionally check the Automatically Upload Recorded Shows box. You will also need to enter your SoundCloud login email address and password, and the tag metadata that SoundCloud will use to categorize your show recordings.

Check the box Automatically Mark Files “Downloadable” on SoundCloud if you wish to enable this option. You can also set a default genre, track type and copyright license here, including public domain, all rights reserved, or one of the Creative Commons licenses (see http://creativecommons.org). Then click the Save button again.

Please note that like most online distribution services, SoundCloud terms of service require you to have copyright in, or permission for Internet distribution from the copyright holder of, any media that you upload. Commercially released music files uploaded to SoundCloud are likely to be automatically removed from your station’s SoundCloud page.

 

Page 7

 

Users

If your Airtime server is accessible from the public Internet, it will not be secure until you set your own, strong password for the all-powerful admin user. Should the password for the admin user still be set to admin or some other easily guessed word, you should set a new password immediately, via theUsers page on the System menu. Only users with the User Type of Admin can see the System menu when they log in.

Setting passwords and contact details

On the left side of the Users page, click on admin in the table. The details for this user will appear in the box on the right side. To begin with, on a freshly installed Airtime server, the admin user only has a UsernamePassword and User Type set.

To set a new password for the admin user, enter a string of letters and numbers (as long and as varied as is practical) into the Password field, then again into the Verify Password field to guard against typing errors. Keeping this password secret is essential for the smooth running of your station, because it enables access to all scheduling and management features. You can also enter other details for the admin user account on this page, including full name and contact details. Then click the Save button.

Adding user accounts

To add further user accounts to the system, one for each of your station staff that need access to Airtime, click the New User button with the plus icon. Enter a user name, password and contact details, and then select the User Type from the drop down menu, which can be AdminProgram ManagerDJ, or Guest. The difference between these user types is:

  • An Admin (station manager) has read and write access to all the features of Airtime. This role should be reserved for trusted staff members only. If you give theAdmin role to too many people, there could be arguments at the station!
  • Program Manager has write access to the entire broadcast schedule, but cannot see the System menu and therefore cannot adjust Airtime preferences, manage user accounts, change media folder or stream settings, check the server status, or see the Listener Stats. A Program Manager can view the Historymenu and the Playout History page, but cannot edit History Templates.
  • DJ (presenter) only has write access to features related to the specific shows assigned to them by an Admin or Program Manager. The DJ can read data for other shows in the Calendar, but not write to them. This read access to other shows helps staff plan their own shows, for instance avoiding the scenario where two DJs play the same music by coincidence. Like a Program Manager, a DJ cannot see the System menu when they log in, and cannot edit History Templates.
  • Guest can log in to read the forthcoming schedule or playlists, but has no write permission for any feature. Guest users cannot see the Add MediaLibrary,System or History menus when they log in. The group of guest users might include the station accountant, or the show assistants.

Editing or deleting user accounts

New user accounts that you add will be shown in the table on the left side of the Users page. If you have a large number of users on the system, you can use the search tool above the table (which has a magnifying glass icon) to identify specific user accounts. Click the white chevrons in the table headings to sort the search results by UsernameFirst NameLast Name or User Type.

To edit a user account, click on that user’s row in the table, change the user’s details in the box on the right side, and then click the Save button. To remove a user account, click the small x icon to the right side of its row in the table. You cannot delete your own user account, and usernames cannot be changed once created.

If the Airtime server is running in demo mode, user accounts cannot be created or updated. See the chapter Host configuration for details of how to enable demo mode.

Updating your own account

Users can update their own password, and their contact, language and time zone details, by clicking their username on the right side of the main menu bar, next to the Logout link.

 

This action opens a separate, individual page which the user can update regardless of their User Type and access to the System menu. Click the Savebutton to update your account.

 

Page 8

 

Media folders

Airtime’s media library is inside the /srv/airtime/stor/ folder on your server, by default. In Media folders on the System menu, you can change this default location, or add extra folders to be watched by Airtime.

If you specify a network drive as a media folder and that network becomes disconnected for any reason, Airtime’s media monitor will flag the files as ‘missing’ in its database until the drive is reconnected. If those files are still missing at the time of the show, the broadcast output could be silenced.

For the same reason, if a removable drive (such as a USB memory stick or MP3 player) is specified as a watched folder, that drive has to be present and powered on until the corresponding show time, so that the Airtime playout engine can download the files needed for the show. If your station staff use removable drives to store media files, it is safer to use the Add media page of the Airtime administration interface or the airtime-import copy command to copy the files to the main storage server. See the chapters Add media and Using the airtime-import script for more details.

The metadata for new media files you add to the organize folder or a watched folder will be automatically imported into the Airtime database. The organizeor watched folders can be exported to computers on the local network. This would enable dragging and dropping of media uploads using the file managers on the desktop computers at your studio.

A file dropped into the organize folder will appear to vanish as the metadata is read, and the file is moved to the correct location under the importeddirectory, according to its creator and title. This means you can find files for download and editing using a file browser connected to your server, as well as in the Search table in the Library. This location could be under a filesystem path such as /srv/airtime/stor/imported/Beck/Midnite Vultures/ in the screenshot below.

If a media file is corrupted and cannot be played by Liquidsoap, Airtime will move the file to the problem_files folder in the storage archive, and its metadata will not be added to the database. This feature ensures that all files are tested for encoding errors or upload corruption before playout time.

Files in watched folders are not moved into the main Airtime storage folder. However, just like in the main storage, files deleted from a watched folder will be automatically flagged as missing in any show that they are part of.

Edits to your stored and watched media files are noticed by Airtime. If you edit any file known to the database and change its duration, Airtime will automatically adjust the duration of playlists, smart blocks and shows that the file is included in. If you edit the metadata tags of a file, Airtime will automatically update the database with the new information. This may invalidate existing playlists or smart blocks that the file is part of. For example, if you use ‘genre’ as a search criteria to create a playlist or smart block and then edit the ‘genre’ tag for a file, that file may no longer match the original search criteria. A playlist or static smart block would still have an entry for the original file if either of these items was created before you modified the tag of the file in question.

Changing the storage folder

To change Airtime’s storage folder, click the upper choose folder button. In the pop-up window that opens, double-click on the folder names to select the folder that you require. Then click the Open button to open that folder.

Back on the Manage Media Folders page, click the Set button to change the storage folder. Airtime will ask if you are sure about this action. Click theOK button to confirm your choice.

The Manage Media Folders page will now display the new storage location.

The storage folder cannot be changed while a file import is in progress. If you attempt to do this, an error message will be displayed.

Watching a folder

Under Watched Folders, click the lower choose folder button, open the folder you require, and then click the Add button. You can add as many watched folders as you require.

To remove a watched folder, click the small x on the right side of its row in the list. Again, you will be asked to confirm if you are sure about the action.

 

Page 9

 

Stream settings

You can configure direct Icecast and SHOUTcast streams and sound card output by clicking Streams on the System menu.

At the top left of the Stream Settings page are global settings including Hardware Audio Output, which enables playout from the default sound card on the server, if one is fitted. The default Output Type of ALSA on the drop-down menu will be suitable for most servers with a sound card. If not, you have the option to choose from other Liquidsoap interfaces available, such as OSS or PortAudio.

The second checkbox under Global Settings enables the sending of Icecast Vorbis Metadata with direct streams. This setting is optional, because some media players have a bug which makes them disconnect from Ogg Vorbis streams when an Icecast server notifies the player that a new track is starting.

The Stream Label radio button allows you to set the metadata that will be sent with direct streams; Artist and TitleShowArtist and Title, or Station name and Show name.

The Off Air Metadata field configures the text that will be sent to any configured streaming servers, and from there on to media players, when Airtime is not streaming any output.

Below this is the Enable Replay Gain checkbox which, if checked, automatically adjusts Airtime’s output level to an average of -14dBFS, based on prior analysis of the level of individual files in the Library. This feature helps guard against unwanted changes in Airtime’s output level caused by the typical variation in average level of recordings made in different studios at different times. The correction value for each file can be viewed by enabling the ReplayGain column in the Library.

If Replay Gain is enabled, output level can be adjusted up to 10dB louder or quieter from the reference level of -14dBFS by clicking and dragging theReplay Gain Modifier control. Increasing level too far is likely to result in clipping (distortion) since the output level is adjusted to be greater than that of the original files. This scenario is indicated by amplitude correction factors greater than 1.0 in the Liquidsoap log file.

Click the Save button on the right side of the page to save any changes that you have made to global settings. If you are only using the hardware audio output, and will not be streaming to or from Airtime, you can leave the Stream Settings page after clicking the Save button.

Input stream settings

On the lower left side of the Stream Settings page you can configure remote live input streams from DJ programs such as Mixxx or IDJC, or smartphone applications used by broadcast journalists. Airtime supports two types of live input stream; the Show Source, which enables a specific person to stream in during their own show, and the Master Source, which can override the Show Source if necessary. If neither type of live input is available, Airtime will fall back to Scheduled Play (playlists, smart blocks, remote streams and files scheduled in Airtime, in advance of or during a show).

The Auto Switch Off and Auto Switch On checkboxes enable playout to be switched automatically to the highest priority source whenever an authenticated input source disconnects from or connects to Airtime, respectively. The field Switch Transition Fade sets the length of the audio fade as scheduled playout is switched to a remote input source, and back.

Each type of input stream requires a username and password before the remote broadcaster can connect to Airtime. The Master Username and Master Password can be set in the Input Stream Settings box, while the authentication for individual Show Sources is set up in Airtime’s schedule calendar. See the Calendar chapter for details.

Input streams must have a Port for the remote broadcaster to connect to, which should be a number in the range from 1024 to 49151. If you have the Icecast or SHOUTcast streaming server running on the same machine as Airtime, you should avoid using port 8000 or 8001 for either type of Airtime input stream. This is because both Icecast and SHOUTcast use port 8000, and SHOUTcast also uses port 8001. If the usernames and passwords were similar, remote broadcasters might accidentally connect to the streaming server directly, bypassing Airtime.

To avoid further confusion, it is also recommended that you set a different Mount Point (the specific filename for broadcasters and listeners to connect to) from that used on your public Icecast or SHOUTcast server.

If your Airtime server is behind a firewall, and you wish remote broadcasters to connect input streams to it across the public Internet, you may need to click the Override link to set a Connection URL which is available from outside your local area network. This URL might be based on the domain name assigned to the router which forwards the appropriate port to your Airtime server. Then click OK to save the new connection URL.

Switching input streams

In the Master Panel, available input source streams are shown with an orange line connecting the source to the switch, which you could think of like a patch cable connecting a source to a broadcast mixer. When that switch is active, another orange line connects the switch to the On Air indicator, like a patch cable connecting a mixer to a transmitter.

If you have checked the Auto Switch On box in the Stream Settings page, the Master Source switch will move automatically to the active position, on the left, when an authenticated master source connects to Airtime. Otherwise, you can activate the switches manually by clicking the left side of each switch, or deactivate them by clicking the right side. The switches do not have to be dragged with the mouse, in the way that a switch on a hardware mixer would be pushed sideways. Show Source live input streams and Scheduled Play can be manually activated or deactivated in the same way.

To force disconnection of a live remote source, for example when the remote input source has crashed and is no longer sending audio data, click the Xicon to the left of the source name.

Output stream settings

On the right side of the page, you can configure up to three independent output streams with different bit rates or formats, and send these streams to different Icecast or SHOUTcast servers. By default, only Stream 1 is enabled, with this stream being sent the Icecast server configured at installation time.

To configure another stream, click the bar with the stream number to expand its box, and make sure Enabled is checked. Enter at least the streamingServer IP address or domain name, and Port details. The default port for Icecast and SHOUTcast servers is 8000.

Click Additional Options to expand a box in which you can enter the usernames, passwords and metadata to send to the streaming server. The defaultUsername for Icecast servers is source, and if this the name in use on your streaming server, you can leave this field empty. The Admin User andAdmin Password settings are optional, and are used to query the streaming server for audience numbers by the Listener Stats page on the Systemmenu.

You can also set the specific Mount Point that listeners will connect to here. Then click one of the Save buttons in the upper or lower right corner of the page to update the Airtime server’s settings.

Airtime supports output to Icecast in Ogg Vorbis, Ogg Opus, MP3 and AAC formats. When selecting a SHOUTcast server from the Service Type drop-down menu, you are restricted to using MP3 or AAC formats only, so the choice of Ogg Vorbis and Opus formats is greyed out in the Stream Type drop-down menu. The SHOUTcast username for stream sources is fixed, so you do not need to enter this value under Additional Options, but you will usually have to enter a password.

Any connection problems between Liquidsoap and Icecast or SHOUTcast are shown on the Stream Settings page. For example, if you enter the wrong password, you will see an Authentication Required error message. To fix this, enter the correct password in the Additional Options box, and click theSave button. If the streaming server is down for any reason, or you have entered an incorrect Server name or Port number, you will see the message Can not connect to the streaming server.

 

Page 10

 

Support feedback

If you did not already register Airtime when you installed it, as shown in the Getting Started chapter, you can click Support Feedback on the Systemmenu to display Airtime’s automated feedback options. Check the Send support feedback box in order to post technical details about your Airtime installation to Sourcefabric, over the Internet. These details help Sourcefabric diagnose any problem that you might be having with your Airtime system.

You may also wish to send details of your station to Sourcefabric, so that your station has the opportunity to be promoted with other Airtime users on thehttp://www.sourcefabric.org website. This feature also helps Sourcefabric target its support services to the countries where they are needed most. Check the box Promote my station on Sourcefabric.org and fill in the details of your station. You can upload a station logo file (of up to 600 x 600 pixels) from your desktop computer by clicking the Browse button.

Click on the Show me what I am sending link to expand a box which displays the technical data being returned to Sourcefabric. The data is collected according to the Sourcefabric privacy policy (http://www.sourcefabric.org/en/about/policy/) which you are required to agree to before you can submit the information. If you have already checked the box to indicate your acceptance of the privacy policy, a link to the policy will be displayed instead.

 

Page 11

 

Status

On the System menu, the Status page provides an overview of the health and resource usage of the various services that make up an Airtime system. If all is well, you will only see green check mark icons in the Status column. This page also shows how much Disk Space you have used on the disk partition containing the main Import folder, as well as any disks or partitions with watched folders.

If any of the check mark icons in the Status column have changed to a red warning sign, contact your system administrator for assistance. (The chapter Troubleshooting contains some tips). Airtime will do its best to restart any failing services, but sometimes manual intervention may be required; for example, in the case of hardware failure.

If you have run out of storage space, an Airtime user with admin privileges could log in and delete media files that are no longer required from the Library. Alternatively, you could move some files to a watched folder on another disk, or ask your system administrator to install additional storage capacity.

 

Page 12

 

Listener stats

The Listener Stats page on the System menu shows graphs of listener connections to the configured streaming servers for the selected date and time range.  On the right side, a green Status indicator shows OK if the connection to the streaming server is active.

If the status indicator is red, check that the Admin User and Admin Password settings are correct under Additional Options for the named mount point, such as airtime_128, on the Streams page of the System menu.

By default, statistics for the last 24 hours of streaming are shown. To change this date and time range, click the calendar and clock icons in the lower left corner of the page, then click the magnifying glass icon.

To choose which particular streams should have statistics displayed, click the check boxes for the individual colour-coded mount points, just below the graph.

 

 

Now playing

The Now Playing page provides a view of the content your station will play out, or has already played out, which defaults to showing the 24 hours ahead. This page also enables you to make last-minute changes to running shows.

If you’ve only just installed Airtime, there might not be any content shown yet. Click the calendar and clock icons above the table to change the date and time range, then click the Find Shows button (with the magnifying glass icon) to the right.

To display the content of a particular show, click Filter by Show and select the name of the show from the drop-down menu which will appear.

On the left side of the page, the Start and End times, Duration and Title of each content item are shown. On the right, CreatorAlbumCue or Fadetimes and Mime type (file format) can also be shown. This information can help you to prepare voice tracks for insertion into the show, including time checks if you wish. Putting current time information into voice tracks describing specific content can, of course, limit the re-usability of those voice tracks, unless you always broadcast a particular item at the same time of day.

Click the Show/hide columns button on the right to configure the metadata displayed, by checking the boxes in the pop-up window.

The row for the currently playing item is displayed with a bright green background. Any underbooked shows (shows with insufficient content to fill the time allowed) are displayed with a row indicating the length of the underbooking in minutes and seconds. These rows contain a red exclamation mark in the first column, and have a pink background.

Removing content from a running show

If a show is overbooked, which means the total playout duration is longer than the time allowed for the show, a brown row indicates that the item will be faded out when the show ends. A red row indicates that the item will not be played at all. The length of the overbooking is shown in minutes and seconds in the last row of the show. To remove the extra items from the end of an overbooked show, click the Scissors button at the top left of the table.

Alternatively, check the boxes for items which have not yet completed playout, and click the Trashcan button, to the right of the Scissors, to remove them from the schedule. If you remove the currently playing item, playout will skip to the next item in the show automatically, so you should make sure you have enough items remaining in the show to avoid dead air.

If you have a long schedule displayed, and you wish to skip to the currently playing item, click the button with the end arrow icon, to the right of theTrashcan.

To cancel the current show completely, click the red button to the right again. A pop-up window will ask you to confirm the cancellation, as this action cannot be undone.

 

Items which are no longer available have an exclamation mark icon in the second column. This may happen for media files which were part of previous shows, and were removed from Airtime’s library (main storage or watched folders) subsequently. Items which are included in forthcoming shows cannot be removed from the Library via the Airtime interface.

Advanced and simple library searches

In the top left corner of the page is an Add / Remove Content button which enables you to open Airtime’s library.

In the library table which opens, the upper section is for the Advanced Search Options, which enable you to search within individual fields of the database such as Title or Creator. Like an Internet search engine, you do not have to type in the correct upper or lower case, press the Enter key, or even type the whole of the search term before matches from the Airtime library are displayed.

At the bottom of the library table, click the FirstPreviousNextLast or individual page number buttons to browse the search results. Right-clicking an item in the search results will display the available metadata for that item in a pop-up window.

The columns displayed in the search results correspond to the fields available for advanced searches (except for Scheduled and Playlist / Block, which indicate if a particular item is in use). To change the fields which can be searched, click the Show / hide columns button on the right side of the table, just above the search results.

Click the metadata column headings such as TitleCreatorAlbum, or Genre to sort the entries in ascending or descending order. In the second column, audio files are represented by a loudspeaker icon, while playlists are represented by a document icon. Smart blocks have a think bubble icon, and web streams have an arrow icon.

To find all files uploaded by yourself, or another specific member of the station staff, click the Show / hide columns checkbox which enables the Ownercolumn. After you have made your search, you can click the header of the Uploaded column to find the items that person added to the server most recently.

Advanced search terms are matched using ‘and’ rather than ‘or’ logic, to narrow your search. Perhaps you have tagged some jazz-flavoured station idents intended for use in a particular show called ‘Jazz Maverick’ with the Album tag of Jazz Maverick and a Genre of Ident. You could then find exactly the idents you are searching for by typing maverick and ident into the respective advanced search fields.

Use the drop-down menu at the top of the search results to display FilesPlaylistsSmart BlocksWeb Streams or All items. By default 10 items are listed, but you can click the Show drop-down menu to change the list length to between 5 and 100 items.

Click the Advanced Search Options link to collapse that area. Beneath the collapsed link is the Simple Search field, with a magnifying glass icon, which enables the selection of items based on any tag metadata stored in the Airtime database, whether that metadata column is currently displayed in the table or not. For example, to search for all items between four and five minutes duration, enter 00:04 into the simple search field (for 00 hours and 04 minutes).

If your jingles are tagged with Jingle in the Genre or other fields, you can very easily find them by entering jingle into the simple search field. The same technique can be used to find advertising and promotional files. (See the chapter Preparing media for ingest for tips on batch tagging files with metadata). Unlike advanced searches, simple searches use ‘or’ logic for multiple search terms, so a simple search for jingle ident will return items matching either keyword.

Clicking on an item in the library table opens a pop-up menu which enables you to audition the item, or remove it from the Airtime library. Media types which cannot be auditioned directly in a web browser, such as FLAC, have a lock icon instead of a loudspeaker icon, but these files can be downloaded to your local computer for audition instead. The Delete option should be used with caution, because this action cannot be undone. For media files, you can also Edit Metadata stored for the file using this menu.

If the Enable SoundCloud Upload box on the Preferences page is checked, there will be an additional option on the pop-up menu, Upload to SoundCloud. As mentioned previously, you should only upload audio files to SoundCloud with the permission of the copyright holder.

Adding content to a running show

After you have found the items that you want using the search tools, you can then drag and drop them from the library table on the left side of the page into the shows on the right side, including the current playing show.

If the current show has nothing playing out at the time, the new item will begin playing immediately. This manual triggering of playout can be used as a live assist technique, in which the Airtime server’s soundcard output is mixed with other sources such as microphones or telephone hybrids on its way to a transmitter, or a separate stream encoder. For instance, a live show’s host may not wish to cut off a studio discussion in order to play music at a fixed time.

You can also select multiple items using the Select menu button, just beneath the simple search field, which has the options to Select this page of search results, Deselect this page and Deselect all. Alternatively, use the checkboxes on the left side of the library table to select specific items. Then drag one of the items into the show to add all of the selected items, or click the Add to selected show button, which has a plus icon. If you wish, you can also use the Trashcan button to permanently remove items from Airtime’s library. Only admin users have permission to delete all items.

To insert checkbox selected items at a specific time in the show schedule, click one of the grey and white triangle icons on the left side of the schedule table, which will change to red and white. A red horizontal line will be shown at the insertion point. Then click the Add to selected show button in the library table.

To add a single item at the insertion point, double-click on it in the library. There is no need to select or drag the item first.

Another way to create an insertion point is to click an item in the show table, then click Select cursor on the small pop-up menu that will appear. This pop-up menu also enables you to audition the entire show in advance of playout, or remove the item that was clicked on from the show.

Multiple insertion points can be enabled, so that the same item is inserted into the schedule at different times. For example, you may wish to play a news report every hour, or a station ident after every five music files.

A live show set for recording from the Airtime server’s sound card is displayed with a red dot icon in the first column. It would not contain any files or playlists, smart blocks or web streams.

 

Page 14

 

Add media

If you do not have direct access to the Airtime server, you can add files to the Airtime library using the Add Media page of the administration interface. (The Add Media page is not visible to Guest users). This page includes an upload queue for media files, which supports drag and drop from your computer’s file manager if you are using a recent web browser, such as Mozilla Firefox 16 or later.

Some web browsers may set an upload limit for a single file, between 200MB and 2GB. If you need to upload files larger than 200MB to the Airtime server on a regular basis, you may find it more convenient to perform the upload using SFTP, rather than through the browser. See the chapter Automated file import for more details.

If your web browser does not support drag and drop, you can use the Add files button, which has a white plus sign in a green circle icon, to open a file selection window on your computer.

After you have added all the files that you require to the upload queue, click the Start upload button, which has a green arrow icon.

The row of the file currently being uploaded is highlighted in pale green. At the bottom of the upload queue, a progress bar and percentage indicates how much of the upload has taken place so far. The upload speed will depend on the network connection between your computer and the Airtime server.

Once it has been uploaded successfully, each file row displays a white check mark in a green circle icon.

 

Your files are now imported into the Airtime library, ready to be included in your broadcast playlists, smart blocks and shows.

 

 

Page 15

 

Library

This page of the Airtime interface enables you to search the media library, sort and display the search results by the criteria that you choose, audition library items, and drag and drop those items into a playlist. You can also adjust fade and cue points, create smart blocks (automatically generated playlists), or add incoming web streams to the library. The Library page is not visible to Guest users.

Searching the library

The search features on the left side of the Library page are the same as those available on the Now Playing page. Refer to the chapter Now Playing for details.

Creating a new playlist

Once you have found the media that you require using the search tools, you can create a new playlist on the right hand side of the Playlist Builder page. Click the Open Media Builder button to begin.

Then click the New button and select New Playlist from the pop-up menu.

At first, the new playlist will be shown as Untitled Playlist. Click the pencil icon on the right to give the playlist a name.

Type the name you have chosen, then press the Enter key on your keyboard to save the new name. You can edit the name of the playlist later, by clicking on the pencil icon again.

Click the link View / edit description to expand a box where you can enter a Description for the playlist, then click the Save button. Setting good quality metadata here will help you find the playlist using the search box later, so you should be as descriptive as possible.

Adding content to a playlist

With a playlist open, click on an item in the search results and then click Add to Playlist on the pop-up menu. Or drag and drop items from the search results on the left into the playlist on the right. Jingles and voice tracks can be added before, after or between music items.

You can also select or deselect a whole page of search results using the Select button, just below the simple search field. Alternatively, use the checkboxes in the first column of the search results table to select individual items, then click the Add to current playlist button. Items that you own which you no longer require can be deleted from Airtime’s library using the Trashcan button.

After adding files to the playlist, the total playlist time is displayed in the top right corner. The duration of an individual file is shown in each row of the playlist in a white font, and beneath this figure the time since the beginning of the playlist is displayed in a smaller light grey font. This elapsed time figure can be used as a time check for voice tracks, although this option may limit the re-usability of the voice track.

To audition a playlist file in your web browser, click the white triangle preview button on the left side of its row. (If the format of the file is not supported by your browser, the triangle in this button will be greyed out). If preview of the file format is supported, a pop-up audition window will open, with the playlist starting at the file you clicked. Click the small white x icon on the right hand side of each row to remove a file from the playlist. You can also drag and drop files to re-order them, or click the Shuffle button to re-order files automatically. Click the Clear button to remove all content from the playlist, or click the Delete button to remove the playlist from the Airtime library altogether.

To adjust start and end fades, click the playlist Fade button (two horizontal white arrows crossing in a grey rectangle), to the left of the Delete and Savebuttons. This action opens a beige bar in which you can set the Fade in duration for the first item in this playlist, and the Fade out duration for the last item. This duration figure represents the length of the fade, in seconds and tenths of a second, not the time at which the fade takes place. The default fade duration is set in the Preferences page on the System menu.

Click any one of the smaller Fade buttons between file rows to open another beige bar, which enables you to set Fade out and Fade in durations between two adjacent files in the playlist. The fade buttons for adjacent files change to an orange background when you click them.

If your web browser supports the Web Audio API, you will see a Show Waveform button which enables you to view the waveforms of the adjacent items, adjust the fades and audition them. Click the Fade Out or Fade In button to change the fade curves by clicking in the waveforms, then click the Playbutton to audition the effect of any adjustment you have made. To audition just one part of the item, use the Cursor button to move the play cursor, which appears as a thin red line, on the waveform. The playback progress is shown by an orange colour on the waveform.

Each file in the playlist also has a button with two square brackets, which enables you to adjust Cue In and Cue Out times for that particular file. Like the fade button, the cue button changes to an orange background when you click it.

Cue In and Cue Out points are set in hours, minutes, seconds and tenths of a second, relative to the start of the item. If a file has leading or trailing silence, corresponding cue points will be set automatically. The duration of the file in the playlist is updated automatically when you adjust a cue point, but the Original Length of the file is also displayed for your reference.

If a Fade In and Cue In are set on the same item in the playlist, the fade in begins at the Cue In point. If a Fade Out and Cue Out are set on the same item, the fade out ends at the Cue Out point. If your web browser supports the Web Audio API, you can click the Show Waveform button to adjust and audition cue points.

When your playlist is complete, click the New button in the top left corner to create another playlist, click the close icon (a white cross in a black circle) in the top right corner, or browse to another page of the Airtime interface.

If you want to edit the playlist content or metadata later, you can find it by TitleCreatorLast Modified date, LengthOwner or Year using one of the search tools on the Library page. Click the playlist in the search results list, and then click Edit from the pop-up menu. You can also Preview the entire playlist in a pop-up audition window, Duplicate or Delete one of your playlists from this menu.

Creating a smart block

Smart blocks are automatically filled with media files from the Airtime library, according to the criteria that you specify. This feature is intended to save staff time, compared to selecting items for a playlist manually.

To create a smart block, click the New button on the right side of the Library page, and select New Smart Block from the pop-up menu. Like a playlist, smart blocks can have a title and Description, which you can edit. This helps you find relevant smart blocks in searches.

Click the link Smart Block Options to display the criteria and modifiers for the smart block. The criteria can be any one of Airtime’s metadata categories, such as TitleCreator or Genre. The modifier depends on whether the metadata in question contains letters or numbers. For example, Title has modifiers including contains and starts with, whereas the modifiers for BPM include is greater than and is in the range.

You can also set the smart block type. A Static smart block will save the criteria and generate the block content immediately. This enables you to edit the contents of the block in the Library page before adding it to a show. A Dynamic smart block will only save the criteria, and the specific content will be generated at the time the block is added to a show. After that, the content of the show can be changed or re-ordered in the Now Playing page.

Click the plus button on the left to add OR criteria, such as Creator containing beck OR jimi. (The criteria are not case sensitive). For a static smart block, click the Generate button to see the results. Dynamic smart blocks do not display the Generate or Shuffle buttons.

If you don’t like the ordering which is generated, click the Shuffle button, or drag and drop the smart block contents into the order that you prefer. You can also remove items or add new items manually from the Library. Changes to static smart block contents are saved automatically when you add items, remove or re-order them, or click the Generate button. Click the Save button in the upper right corner to save any changes to smart block criteria.

To add an AND criteria, such as Creator containing jimi AND BPM in the range 120 to 130, click the plus button on the right. If you see the message 0 files meet the criteria in this case, it might mean that the files in the Library have not been tagged with BPM metadata. See the chapter Preparing media for ingest for tips on tagging content.

By default, a smart block will not contain repeated items, which will limit the duration of the block if you do not have sufficient items meeting the specified criteria in your Library. To override the default behaviour, check the Allow Repeat Tracks box.

If you have a large number of files which meet the criteria that you specify, you may wish to limit the duration of the smart block using the Limit to field, so that it fits within the show you have in mind. Select hoursminutes or items from the drop-down menu, and click the Generate button again, if it is a static smart block. Then click the Save button.

Smart blocks can be added to shows in the same way as a manually created playlist is added. Smart blocks can also be added to one or more playlists. In the case of a playlist containing a static smart block, click Expand Static Block to view the contents. For a dynamic smart block, you can review the criteria and duration limit by clicking Expand Dynamic Block.

Once created, smart blocks can be found in Library searches and refined at any time. They can be re-opened by clicking on the smart block and selectingEdit from the pop-up menu.

Adding a web stream

A web stream URL and metadata can be added to the Airtime library, so that a remote stream can be searched for and scheduled to be pulled into a show. For example, at the top of the hour your station may pull a news report from journalists working in another studio. This is a different concept from Master Source and Show Source remote streams which are pushed into the Airtime playout schedule.

To add a web stream, click the New button on the right side of the Library page, and select New Webstream from the pop-up menu. Like a playlist, web streams in the Library can have a title and Description, which may help you find them in searches later.

The Stream URL setting must include the port number (such as 8000) and mount point (such as remote_stream) of the remote stream, in addition to the streaming server name. A Default Length for the remote stream can also be set. If the stream is added at the end of a show which becomes overbooked as a result, it will be faded out when the show ends.

 

Page  16

 

Calendar

The Calendar page of the Airtime administration interface has three views: dayweek and month, which can be switched using the grey buttons in the top right corner. By default, the month view is shown, with today’s date highlighted by a pale green background.

In the top left corner of the page, you can go back or forward through the Calendar by clicking on the buttons which have a small grey triangle in a white circle. Click the today button to jump to today’s date in the current view. (The today button will be greyed out if you are already viewing that date). In theday or week views, there is also a drop-down menu which allows you to set the resolution displayed for the calendar, ranging from one minute per row to sixty minutes per row.

Adding a show

Only Admins and Program Managers can use this feature. To add a new show to the Calendar, click the + Show button in the top left corner of the page, or click on any future row or box in the Calendar which is empty. Either of these actions opens the Add this show box, which has six sections, arranged vertically: WhatWhenLive Stream InputRecord & Rebroadcast, Who, and Style. Click the small black triangle to the left of the section name if you wish to minimize or maximize it.

What

In the What box, enter the Name, public website URLGenre and Description for the show that you are creating.

When

Next, in the When section, if you clicked on a date in the Calendar this should already be entered in the Date/Time Start field. To set another date for the show, click on the date in the Date/Time Start field and select the date that you require from the small pop-up calendar which will appear. Click on the adjacent time field to set the start time for the show, with the pop-up Hour and Minute box. The Minute values in the pop-up time boxes are rounded to the nearest five minutes. You can also adjust the times manually by clicking into the fields and typing. Repeat the process to set the Date/Time Endfields. The Duration of the show will be displayed automatically, based on the start and end times you have set.

By default, the Timezone of the show start and end times will be the timezone of the station, as set on the Preferences page on the System menu. You can specify an alternative time zone using the drop-down menu, if you wish. The time zone displayed in the Calendar when you log in depends on your personal settings. See ‘Updating your own account’ in the chapter Users for more details.

Airtime will only allow you to enter valid times for shows. If you attempt to schedule show times which would be impossible, by ending the show before it begins, Airtime will highlight the error with a pink background.

To schedule a regular show, check the Repeats? box, which will make a new section of the dialog appear. Optionally, click the Link: box to automatically schedule the same content in the repeated shows as in the original show.

Then select either weeklyevery 2 weeks, every 3 weeks, every 4 weeks or monthly from the Repeat Type drop-down menu. If you have selected a weekly option, check the boxes for the days of the week that you want to schedule the regular show on. If you have selected monthly, you have the option to Repeat By: day of the month (for example the 9th of each month) or day of the week (for example the second Wednesday of each month).

 

Uncheck the No End? box and set the Date End for the regular show to finish, or leave the No End? box checked to schedule the show indefinitely.

Live Stream Input

The Live Stream Input section can be used to enable live input streams during the show, and also to configure authentication for them. If you check theUse Airtime Authentication box, the DJs (presenters) of the show will be able to connect a live stream to Airtime’s Show Source Mount Point using their login name and password. See the chapter Stream Settings for details.

If you check the Use Custom Authentication box instead, you can set a one-time username and password pair for live stream input to the show. For example, you may wish to create an authenticated live stream input for a particular remote news reporter, without providing any further access to your Airtime server for that person.

A reminder of the Connection URL for the live input stream to use is shown at the end of the Live Stream Input section.

Record & Rebroadcast

In the Record & Rebroadcast section, checking the Record from Line In? box enables automatic recording of the soundcard line input, if your Airtime server has one, at the time of the show. Shows set for line-in recording should not also contain files or playlists. The default audio format for live recordings is 256kbps Ogg Vorbis, and the files are saved in the recorded folder, under the Import Folder path set in the Media Folders page on theSystem menu. See the chapter Host configuration for details of recorder settings.

If you wish the recording to be played out at a later time, check the Rebroadcast? box, and then select up to ten date and time slots in the Choose Daysbox.

Shows set for recording have a small red dot icon in the calendar, while rebroadcast shows have a white loop icon.

Who

In the Who section, type the first few letters of the name of the show’s DJ (presenter) in the Search Users field to select a name from the Airtime database, or check one of the DJs boxes in the vertical list below. This association of a DJ name with a particular show enables that presenter to add playout media to the show, and also to connect a live Show Source input stream (if that has been enabled), so it is important to get the DJ’s name right.

Style

Show colours in the Calendar are set automatically, based on the Name of the show, so that individual shows can be easily identified in the Calendar. If you wish, you can select a Background Colour and Text Colour manually by clicking the boxes in the Style section. Click the coloured circle icon in the lower right corner to close this pop-up window.

 

Finally, click the Add this show button at the top or bottom of the box. The new show will now be displayed in the Calendar, with a regular slot if you have chosen to schedule one.

Editing a show

Show configuration and metadata can be changed at any time, except for Date/Time Start and Record from Line In? options, which are fixed after broadcast of that show commences. Click the show in the Calendar, and select Edit Show from the pop-up context menu. This opens the Update Showbox, which is almost exactly the same as the Add this Show box. Click the + Update show button at the top or bottom of the box when you are done.

Alternatively, individual shows can be clicked on and dragged to new days and times in the calendar. However, Airtime will not allow you to drag a future show into the past, or drag and drop instances of a repeated show. In the Day and Week views, show length can be adjusted by clicking on the lower edge of the show box, and dragging the edge of the box upwards or downwards. The new show length is calculated automatically.

Adding content to a show

To add content to a show, click the show in any view on the Calendar, and select Add/Remove Content from the pop-up menu. Shows that do not yet contain any scheduled content are marked with a red exclamation mark icon, to the right of the show start and end times in the top bar. Shows partially filled with content have a yellow exclamation mark icon. During playout of the show, a green play icon will also be shown in the top bar.

The Add/Remove Content action opens a window with the name of the show. Like when using the Now Playing page, you can search for content items and add them to the show schedule on the right side of the page. Refer to the Now Playing chapter for details.

When your show has all the required content, click the OK button in the bottom right corner to close the window. Back in the Calendar, click the show and select Show content from the pop-up menu to view a list of content now included in the show.

The Contents of Show window is a read-only interface featuring an orange bar which indicates how much media has been added to the show. Click theOK button in the bottom right corner, or the white x icon in the top right corner, to close the window.

Removing content from a show

To remove an individual item from a show, click on the show in the Calendar, and select Add/Remove Content from the pop-up menu. In the window which opens, click any item you wish to remove from the show, then click Delete on the pop-up menu, or check the box in the item’s row then click theTrashcan icon at the top of the table. To remove all files and playlists from a show, click on the show in the Calendar, and select Remove All Contentfrom the pop-up menu.

Deleting a forthcoming show

To delete one forthcoming instance of a repeating show, click on the show in the Calendar, and select Delete, then Delete This Instance from the pop-up menu. If you wish to delete all future instances of a repeating show, select Delete This Instance and All Following from the pop-up menu.

You cannot delete or remove content from shows that have already played out. These shows have only one option on the pop-up menu, which is Show Content.

Cancelling playout

If you wish to cancel playout of a show while it is running, click on the show in the Calendar and select Cancel Current Show from the pop-up menu. Airtime will ask you if you are sure about this action, as it cannot be undone.

 

Page 17

 

History

On the History menu, the Playout History page enables you to view a list of files played within a specific date and time range. This page is designed to help your station prepare reports for music royalty collection societies and regulatory agencies.

Search results can be copied to the clipboard using the Copy button, exported as data in CSV format (comma separated values), exported as a document in PDF format, or displayed in a printer-friendly format using the Print button. (Your web browser must have an Adobe Flash plugin installed for these buttons to appear). Press the Esc key to return to the Airtime interface once the print job is complete.

This page has three tabs: Log SheetFile Summary and Show Summary. On any of these tabs, you can select a date and time range by clicking the calendar and clock icons in the upper left corner of the page. Then click the search button, which has a magnifying glass icon, to the right. A list of files played during that date and time range will appear further down the page.

In the Log Sheet tab, the playout history is sorted by Start Time and End Time by default.

The number of times each file was played and the length of the files are shown in the File Summary tab. To make optimal use of this feature for royalty reporting purposes, music files must be tagged with Composer and Copyright metadata. The artist performing a piece of music may not be the original composer of the work, or the copyright holder of the sound recording.

On the Show Summary tab, click the name of a show within the search range to expand its row and see its playout details.

Manual logging

If your station features playout from analogue sources such as turntables or microphones, there is no automatic metadata for Airtime to collect from these inputs. To ensure that the playout history is complete, you can add log entries manually by clicking the + Create Entry button. This action opens a pop-up window with default fields of Start Time, End Time, Title and Creator. Click the Find button to automatically fill the Choose Show Instance menu with the names of shows that took place within the specified time range. Then click the Save button to enter the new item into the playout history.

Log entries can also be manually deleted, using the button with the trashcan icon, to the right of the + Create Entry button. Pages of entries can be selected for deletion using the Select drop-down menu.

History Templates

The History Templates page on the History menu enables you to prepare reports with the exact content required by regulatory agencies in the territories that you are broadcasting to. You can begin creating a custom template by clicking the button New Log Sheet Template or the button New File Summary Template.

Either of these actions opens a page in which you can name the new template, and add or remove elements from the list on the left. To add a new element from the list on the right, click the plus icon for the item you require. If the element you require is not listed, you can use the Add New Field box at the lower end of the right side column. Select stringbooleaninteger, or float, depending on the type of data that you wish to log, and then click the + Add button.

When the template is in the format you require, click the Save button, and Set Default Template if you wish. The new template will now be listed on the History Templates page. If you have set a new default template, any changes will be visible on the tabs of the Playout History page

 

Page 18

 

Listen

In the Master Panel, beneath the ON AIR indicator, you will find the LISTEN button.

This button opens a pop-up Live stream window, which enables you to monitor the streams that have been configured previously in the Streams page on the System menu. In the Live stream window, a drop-down menu enables you to switch between the streams which are currently available. Both the streaming server and name of the stream are shown. Your station logo is shown in the top left corner of the window, if you have uploaded one via theSupport Feedback page on the System menu.

Beneath the drop-down menu for stream selection is an orange volume control bar. This volume control only adjusts the output level of the pop-up Live Stream window, not the output level of the Airtime server itself. To adjust output level between muted and maximum, click on the corresponding place in the orange bar, with maximum level on the right side. Click on the left side speaker icon to mute the output.

 

To display the URL of the stream you are monitoring, so that you can copy and paste it into an email or web page, click the Share button. Click the X icon to the right of the URL to return to the drop-down menu of available streams.

When you have finished monitoring the streams, you can close the pop-up window in the normal way, depending on the browser you are using. In Firefox, you can close the window by clicking the X button in the top right corner. This action will not shut down the output from the Airtime server, only the stream monitoring on your desktop computer or laptop.

 

Page 19

 

Help

The first entry on Airtime’s Help menu offers a Getting Started guide for new users. Further down, there is also a link to the online version of this User Manual and an About page, which displays version and licensing information.

You can visit the Airtime online support forum, and sign up for the mailing list, at http://forum.sourcefabric.org/categories/airtime-support

This forum is mirrored by the mailing list, so posts on the forum appear on the mailing list and vice versa. You can therefore also post a message there by emailing airtime-support@lists.sourcefabric.org

To subscribe to forum updates via email, please register or login to the forum by clicking the appropriate link. Then visit your profile page athttp://forum.sourcefabric.org/profile/ and click the link My Email Subscriptions on the left side menu. In the pop-up window that opens, check the boxes for the mailing lists you wish to subscribe to, then click the Save button.

Bug reporting

Airtime needs your input to improve. If you think you’ve found a bug, please visit http://dev.sourcefabric.org/ and sign in, using the same login and password that you registered for the Airtime forum. Create a bug report by selecting Create Issue, then Airtime, and then Bug. That way, the Airtime team can keep track of your problem and notify you when it has been fixed. You can also suggest improvements and new features for Airtime on that site.

Contact

Finally, when all other avenues have been exhausted, email us directly at contact@sourcefabric.org and we’ll try to help!

Other help

The UNESCO publication Community Radio – A user’s guide to the technologyhttp://sourcefabric.booktype.pro/airtime-25-for-broadcasters/help/static/CommunityRadioUserGuide.pdf features a very comprehensive guide to setting up a community radio station. This guide is aimed at people thinking about setting up a radio station in India, but includes lots of practical advice that would be useful in any country.

 

 

Recording shows

Live show recording from the input of the server’s sound card, if one is fitted, can be enabled in the Add Show box of Airtime’s Calendar (see theCalendar chapter for details). During a recording, a red light is shown in the Master Panel, and the word Recording appears in a red font to the left of the show name.

Before the first broadcast show scheduled for recording begins, you should check that the level of recording is sufficient to ensure a good signal to noise ratio, but not so high a level that clipping (distortion) occurs in the recorded file. You can perform this check using the command alsamixer on the Airtime server. This command opens a soundcard mixer application in the server console.

Press the F4 key on your keyboard to set capture levels. Some experimentation may be required to find the correct control on the mixer, using the Leftand Right arrow keys on your keyboard. Levels are set with the Up and Down arrows, and Capture is toggled with the Space bar. Capture dB gain should be set to 0.00, 0.00 initially.

If you hear nothing at all in the recording, you may need to set the value of Input Source to Line, using the Up or Down arrows. Depending on the particular sound card and sockets you are using, you may have to enable other inputs, such as Digital or S/PDIF. If a test recording is too quiet, try raising the line output level of your broadcast mixer towards 0dB before increasing gain above 0dB on the sound card, in order to achieve the optimal gain structure.

Using recordings

After the recording has finished, you can find the recorded file in the Library, by searching for recorder. The file will be labelled with a Title containing a date and time stamp, as well as the name of the show.

Click a file and select Edit Metadata from the pop-up menu to enter additional details of the recording which will help you find it in searches later, such asAlbum or Language. Then click the Save button.

Cancelling a recording

If you wish to cancel the recording of a live show, click on the show in the Calendar and select Cancel Current Show from the pop-up menu.

Airtime will ask you if you are sure about this action, as it cannot be undone. The recorded show file in the Airtime library will be truncated if you click theOK button.

 

Page 21

 

Live shows with Mixxx

Mixxx is a cross-platform Open Source application for DJs, available from http://www.mixxx.org/

Installed on a desktop or laptop computer, Mixxx complements your Airtime server to provide a complete system for both live and scheduled broadcasting. Although Mixxx has many features designed for dance music DJs that require beat matching and pitch independent time stretching, the program can be used for any kind of manually triggered broadcast playout, including live speech shows such as news or current affairs.

Mixxx supports a wide variety of popular hardware control surfaces, which can be connected to your computer using a USB cable. A control surface might replace or augment an analogue mixer in your studio, depending on your live mixing and playout requirements.

Sound cards

If you wish to use Airtime and Mixxx on the same machine, you will need two or more sound cards, as each program requires exclusive access to the sound hardware. Otherwise, you may see an error message that Mixxx cannot access the sound device.

 

The solution is to configure Mixxx to use additional sound cards by clicking OptionsPreferences, then Sound Hardware in the main Mixxx menu. Select devices other than the ALSA default of hw:0,0 for at least the Master and Headphones outputs. Then click the OK button.

Sharing storage

If you make the Airtime server’s storage directory /srv/airtime/stor/ accessible to a desktop machine as a read-only location, Mixxx will accept that location as its default music library when starting up for the first time. (This location can also be configured after installation by clicking Options,Preferences, then Library in the main Mixxx menu).

You may need to adjust file and directory permissions so that the storage directory has read access from the desktop user account. Enabling write access directly to the storage server is not recommended, as this would allow desktop users to delete files which might be needed for playout later.

If the filesystem path has been configured correctly, the metadata for the files in the Airtime storage server will be displayed in the main window of the Mixxx interface. Individual files from the Airtime storage server can then be added to either of Mixxx’s live players with a right-click on the filename, or by using the appropriate hardware buttons on a control surface. Therefore it is possible to manage the station’s storage archive remotely and collaboratively through Airtime, while using Mixxx as the live playout client in multiple, remote studios.

The Airtime storage archive can be exported like any other file server share. The method that you implement would depend on the operating system of your desktop client machines, and whether they were on the same local network as the Airtime server, or remote.

For performance and redundancy reasons it is advisable to cache files required for a particular show on the client machine where Mixxx is installed. For example, for a GNU/Linux client machine, a nightly rsync download of new media in the archive would guard against network problems at playout time potentially disrupting a broadcast at a remote studio.

Mixxx users can also record a show, and then upload it through the Airtime web interface on a local or remote server for collaborative or user-generated broadcasts.

Streaming from Mixxx into Airtime

Mixxx 1.9.0 or later includes a live streaming client which, like Airtime, is compatible with the Icecast and SHOUTcast media servers. This feature can also be used to stream from Mixxx directly into Airtime, using either the Show Source or Master Source.

To configure Mixxx for streaming into Airtime, click OptionsPreferences, then Live Broadcasting on the main Mixxx menu. For server Type, select the default of Icecast 2. For HostMountPortLogin and Password, use the Input Stream Settings configured in the Airtime Streams page, on Airtime’sSystem menu. See the chapter Stream settings for remote input connection details.

Airtime skins for Mixxx

Airtime-themed skins for Mixxx, designed with broadcast users in mind, are available for download from https://github.com/Airtime/MixxxSkins

These skins provide a simplified interface for live broadcasting which do away with EQ, flange effect, looping and other features required by dance music DJs. Instead, the emphasis is on a clear and uncluttered interface which does not require large mouse movements to operate the most important controls. There are versions available both with and without pitch/tempo controls for beat matching.

After downloading one of the skins, extract the zip file and copy it to the skins directory on the computer where Mixxx is installed. For example, on Debian or Ubuntu:

unzip Airtime1280x1024_skin_for_Mixxx.zipsudo cp -r Airtime1280x1024 /usr/share/mixxx/skins/

Then, start Mixxx and select the Airtime skin by clicking OptionsPreferences, then Interface in the Mixxx main menu.

 

 

Page 22

 

Icecast and SHOUTcast

Airtime supports direct connection to two popular streaming media servers, the open source Icecast (http://www.icecast.org) and the proprietarySHOUTcast (http://www.shoutcast.com). Apart from the software license, the main difference between these two servers is that Icecast supports simultaneous MP3, AAC, Ogg Vorbis or Ogg Opus streaming from Airtime, whereas SHOUTcast supports MP3 and AAC streams but not Ogg Vorbis or Opus. The royalty-free Ogg Vorbis format has the advantage of better sound quality than MP3 at lower bitrates, which has a direct impact on the amount of bandwidth that your station will require to serve the same number of listeners. Ogg Opus also benefits from good sound quality at low bitrates, with the added advantage of lower latency than other streaming formats. Opus is now an IETF standard (http://tools.ietf.org/html/rfc6716) and requires Icecast 2.4 or later to be installed on the streaming server.

Ogg Vorbis playback is supported in Mozilla FirefoxGoogle Chrome and Opera browsers, via jPlayer (http://jplayer.org/), and is also supported in several popular media players, including VideoLAN Client, also known as VLC (http://www.videolan.org/vlc/). (See the chapter Stream player for your website on how to deliver jPlayer to your audience). Ogg Opus is relatively new and is supported natively in the very latest browsers, such as Mozilla Firefox 25.0, and media players including VLC 2.0.4 or later.

Streaming MP3 below a bitrate of 128kbps is not recommended for music, because of a perceptible loss of high audio frequencies in the broadcast playout. A 96kbps or 64kbps MP3 stream may be acceptable for voice broadcasts if there is a requirement for compatibility with legacy hardware playback devices which do not support Ogg Vorbis or Opus streams.

Because Airtime supports simultaneous streaming in multiple formats, it is possible to offer one or more streams via your website, and another independent stream for direct connection from hardware players. You can test whether Ogg streams sound better at low bitrates for yourself, by using theLISTEN button in Airtime’s Master Panel to switch between streaming formats.

Conversely, you may have a music station which wants to stream at 160kbps or 192kbps to offer a quality advantage over stations streaming at 128kbps or less. Since Ogg, AAC and MP3 formats use lossy compression, listeners will only hear the benefit of higher streaming bitrates if the media files in the Airtime storage server are encoded at an equivalent bitrate, or higher.

UTF-8 metadata in Icecast MP3 streams

When sending metadata about your stream to an Icecast server in non-Latin alphabets, you may find that Icecast does not display the characters correctly for an MP3 stream, even though they are displayed correctly for an Ogg Vorbis stream. In the following screenshot, Russian characters are being displayed incorrectly in the Current Song field for the MP3 stream:

The solution is to specify that the metadata for the MP3 mount point you are using should be interpreted using UTF-8 encoding. You can do this by adding the following stanza to the /etc/icecast2/icecast.xml file, where airtime.mp3 is the name of your mount point:

<mount>       <mount-name>/airtime.mp3</mount-name>       <charset>UTF-8</charset>  </mount>

After saving the /etc/icecast2/icecast.xml file, you should restart the Icecast server:

sudo invoke-rc.d icecast2 restartRestarting icecast2: Starting icecast2Detaching from the consoleicecast2.

 

Page 23

 

 

Preparing media for ingest

Before uploading media to an Airtime server, there are a number of factors which should be considered. Getting your ingest workflow right will save you a lot of time later.

Metadata quality

Airtime automatically imports any metadata that is in the files’ ID3 tags. If these tags are incorrect or are missing information, you will have to either edit the metadata manually, or suffer the consequences. For example, if the files have creator or genre metadata missing, it will be impossible to search for, create playlists or generate smart blocks according to these criteria until you add it.

There are a number of programs available which can be used to correct mistakes or incomplete information in ID3 tags. On GNU/Linux, the program Ex Falso (http://code.google.com/p/quodlibet/) can be useful for batch setting and editing ID3 tags before importing files into your Airtime server. On a Debian or Ubuntu desktop machine, you can install this program with the command:

sudo apt-get install exfalso

After installation, you can run this program with the command:

exfalso

or from the desktop menu. The Tags From Path feature of this program is a particularly useful time saver if you have a large archive of untagged files. Sometimes there is useful creator or title information in the file name or directory path structure, which can be converted into an ID3 tag automatically.

Metadata in legacy character sets

Airtime expects file tag metadata to be stored in the international UTF-8 character set. Programs such as Ex Falso (described above) encode metadata in UTF-8 by default. If you have an archive of files encoded with metadata in a legacy character set, such as the Cyrillic encoding Windows-1251, you should convert these files before import.

The program mid3iconv (part of the python-mutagen package in Debian and Ubuntu) can be used to batch convert the metadata character set of files on the command line. You can install python-mutagen with the command:

sudo apt-get install python-mutagen

For example, to preview the conversion of tags from Windows-1251 (CP1251) character set to UTF-8 for a whole archive of MP3 files, you could use the command:

find . -name “*.mp3” -print0 | xargs -0 mid3iconv -e CP1251 -d -p

in the base directory of the archive. The -d option specifies that the new tag should be printed to the server console (debug mode), and the -p option specifies a preview run. This preview will enable you to confirm that the metadata is being read and converted correctly before writing the new tags.

To actually convert all of the tags and strip any legacy ID3v1 tag present from each file at the same time, you could use the command:

find . -name “*.mp3” -print0 | xargs -0 mid3iconv -e CP1251 –remove-v1

The name of the original character set follows the -e option. Other legacy character sets that mid3iconv can convert to UTF-8 include:

KOI8-R: Russian
KOI8-U: Ukrainian

GBK: Traditional Chinese
GB2312: Simplified Chinese

EUC-KR: Korean
EUC-JP: Japanese

CP1253: Greek
CP1254: Turkish
CP1255: Hebrew
CP1256: Arabic

Audio loudness

On file ingest, Airtime analyzes each Ogg Vorbis, MP3, AAC or FLAC file’s loudness, and stores a ReplayGain value for that file in its database. At playout time, the ReplayGain value is provided to Liquidsoap so that gain can be automatically adjusted to provide an average output of -14 dBFS loudness (14 decibels below full scale). See http://www.replaygain.org/ for more details of ReplayGain.

Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (Seehttp://www.soundonsound.com/sos/sep11/articles/loudness.htm for a detailed analysis of the problem).

Your station’s producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as DR14 on some dynamic range meters, such as the command-line DR14 T.meter available from http://sourceforge.net/projects/dr14tmeter/). If the producers are working to a different loudness standard, the ReplayGain modifier in Airtime’s Stream Settings page can be adjusted to suit their material.

Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.

The vorbisgain command-line tool, available in the vorbisgain package in Debian/Ubuntu, can be used to indicate the ReplayGain of an individual Ogg Vorbis file before ingest into Airtime. (A similar tool for MP3 files is available in the mp3gain package in Debian/Ubuntu).

Here is an example of a very quiet file where the use of ReplayGain would make the output more than 17dB louder:

$ vorbisgain -d Peter_Lawson-Three_Gymn.oggAnalyzing files…    Gain   | Peak | Scale | New Peak | Track———-+——+——-+———-+——+17.39 dB | 4536 |  7.40 |    33585 | Peter_Lawson-Three_Gymn.ogg

And here is an example of a very loud file, with lower crest factor, where the output will be more than 7dB quieter with ReplayGain applied:

$ vorbisgain -d Snoop_Dogg-Doggfather.oggAnalyzing files…    Gain   | Peak  | Scale | New Peak | Track———-+——-+——-+———-+—— -7.86 dB | 36592 |  0.40 |    14804 | Snoop_Dogg-Doggfather.ogg

In the output from vorbisgain, Peak is the maximum sample value of the file before any ReplayGain has been applied, where a value of 32,767 represents full scale when decoding to signed 16 bit samples. Note that lossy compressed files can have peaks greater than full scale, due to encoding artifacts. TheNew Peak value for the Snoop Dogg file may be relatively low due to the hard limiting used in the mastering of that piece of music.

Silence in media files

Before importing media, it is good practice to check for any silent sections in the media files. While Airtime compensates for leading and trailing silence with the use of automatic cue-in and cue-out points, it may be preferable to trim these files to the intended length before upload. This is because media in the Airtime library could potentially be re-used in many different systems. Audacity is a cross-platform editor suitable for the task of trimming audio files, available from http://audacity.sourceforge.net/

Very quiet introductions or over-long fades can also lead to apparent gaps in your broadcast playout. Some audio CDs feature a ‘hidden track’ at the end, which in fact uses a long period of silence within the final track, rather than an actual separate track on the disc. This means that CD encoding programs will often encode both the hidden material and the silence in the media file. For example, the track Debra from the CD Midnite Vultures by Beck includes hidden material preceded by seven minutes of silence, as shown in the screen shot from Audacity below.