Chronicle is a simple, command-line audio logger, designed to record on-the-hour, every hour. This makes it suitable for basic Record of Transmission logging for most radio stations.
By UK law, radio stations are required to keep a record of their transmissions for 42 days, in case any of their programming is investigated by OFCOM (the UK broadcasting regulator) due to a complaint or suspected licence breach.
When Halton Community Radio was refurbished in 2016, I oversaw the rebuilding of their IT and networking infrastructure. Part of this included their Record of Transmission logger. When the time came to replace the aging unit, we were faced with a choice: buy a new computer and software, or buy an integrated unit. Neither of these options seemed to offer particularly good value-for-money, so naturally, I ended up writing a basic but functional logger in my spare time!
Chronicle is in use now at HCR and is available for anyone else who may find it useful.
The latest version (v0.1.2) is stable enough for production use (and is currently running in a production environment at Halton Community Radio, amongst others). Are you using Chronicle? Give me a shout!
Download binaries for x32 and x64. Nice and easy!
Linux users can also download the binaries. However, you will need to install the following pre-requisites:
Or, you can compile Chronicle from scratch.
You'll also need the build toolchain:
Then, download the source tarball and run
The built binary will exist in
I'm working on getting
To start using Chronicle to record hourly to the local directory using the default audio device, just run:
No configuration needed!
However, to configure Chronicle more to your liking, use the following options:
chronicle [-h | --help] chronicle [--licence] chronicle [-l | --list-devices ] chronicle [-d | --directory OUTPUT_DIRECTORY] [-f | --filename FORMAT] [-i | --input-device DEVICE_ID] [[-a | --max-age MAX_FILE_AGE] | --no-delete] [-s | --audio-format [WAV | OGG]] Where: -h | --help Prints this help message. --licence Prints the licence information for this software and libraries that it uses. -l | --list-devices Lists the available input devices with their IDs. -d | --directory Sets the directory to save the logged audio to. A trailing slash is not required, but may be added. On Windows, if using a trailing slash, use a trailing double-slash. Defaults to current directory. -f | --format strftime-compatible format to use when naming the audio files. Defaults to %F %H%M%S . -i | --input-device The ID number of the input device to record from. A list of input devices and their ID numbers can be obtained with `chronicle -l`. If unspecified, the system default audio recording device will be used. -a | --max-age Sets the maximum age (in seconds) before audio files will be automatically deleted. Defaults to 3628800 (42 days, in accordance with OFCOM rules). --no-delete If passed, Chronicle will not delete old audio files, so they can be manually managed. Incompatible with --max-age. -s | --audio-format Sets the audio format to use for the recorded audio files. Acceptable parameters are: OGG | Ogg Vorbis (.ogg) WAV | 16-bit PCM WAV (.wav) Defaults to WAV.
Read the README for more info.
Does Chronicle not work the way you expected, or do you have an idea to make Chronicle even more useful?
Head over the the GitHub Issues and log a new request! Or, those who fancy diving straight in can fork the repo and submit a pull request