Code Monkey home page Code Monkey logo

johnny-six's Introduction

johnny-six

This is the automation system for WUVT-FM powered by Liquidsoap. It schedules all traffic (station IDs, PSAs, etc.) in compliance with FCC regulations and supports playing different playlists depending on the day and time. It also supports logging track metadata to the main site using the Trackman API.

The following traffic is scheduled to play at the first break after the scheduled time:

  • The station ID played at the top of the hour
  • The statement of ownership played at midnight (instead of the station ID)
  • Underwriting played at :00 and :30
  • Public service announcements played at the :15 and :45 (or within 6 minutes)
  • Promotional messages played at :30

Liner tracks are also injected every 5 songs; these are intended to remind the listener what station they are listening to and typically include the call sign or a slogan.

Configuration Notes

You should never use NFS or other types of remote filesystems. Liquidsoap has support for HTTP, HTTPS, and FTP for all types of sources, so if you need network support, use one of those instead. For more information, refer to the Liquidsoap documentation.

License

Copyright (c) 2015-2016 mutantmonkey

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

johnny-six's People

Contributors

echarlie avatar emachin3 avatar mutantmonkey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

johnny-six's Issues

Play m4a?

Usually, this is a container format for mp3; Dr. Sue commented that they were not playing, but theoretically, we should be able to decode and handle them.

Should be able to log "new" and "rotation" status with johnny-six

I'm imagining text files with the correct metadata for tracks that need to be marked (most likely by album/artist). Johnny-six then checks if a song matches those fields before marking as new/rotation. This would allow automation to help chart songs, especially useful for summer.

underwriting should have human-readable config

current yml config for underwriting is awful. write a new one.
it should store/allow

  • start and end dates
  • arbitrary metadata about underwriting (e.g. transcripts)
  • multiple recordings for each underwriting
  • multiple underwriters per hour

Ideally, underwriting will play every underwriter for a given hour, and will select a random underwriting recording if there are multiple for a single piece of underwriting. It also should verify that it is before the end date and after the start date, so that we don't need to babysit underwriting. Some less useful potential features: use liquidsoap's built-in say support to read transcripts, if we have no recording of the underwriting.

Long-term, it may be possible to adapt this, with minimal modifications, to use for scheduled PSAs, Promos, and Rotation.

safe harbor hours announcement

should add an optional slot to run, in addition to the ID, every hour from 22:00 to 05:00, to announce content may contain strong or suggestive language. While I do not believe this is a requirement, it is a courtesy to listeners.

Parse metadata from WAV

this may be a limitation of liquidsoap, but we do not parse id3v2 (or other?) tags out of WAV files, although we happily play them. c.f. https://wavmetadata.blogspot.com/ for info on tags supported in WAV.

/tank/automation/Shows/rare-groove/2020-07-09/Cass\ McCombs\ -\ The\ Wine\ Of\ Lebanon.wav has tags 'TITLE': ['The Wine Of Lebanon'], 'GENRE': ['Alternative'], 'TRACKNUMBER': ['1/1'], 'ARTIST': ['Cass McCombs'], 'DATE': ['2020'], 'ALBUM': ['The Wine Of Lebanon'] according to pytaglib, but it was never logged.

Validate tracks don't contain FCC violations

This should first check if the playlist will play outside safe harbour hours. If it will, check each track against a lyric database and search for WUVT's standard set of FCC disallowed words.

start loading next hour's playlist 5min before top of hour

usually, johnny-six plays one track from the prior hour's playlist after the ID at the top of the hour. This isn't a big deal for most hours, but is very noticeable at 7am (when americana starts), 5pm (when jazz starts), and 7pm (when jazz ends).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.