Rivendell install guide

Having installed Rivendell several times recently whilst learning how it works I’m in a position to help out anyone new to it with how to get the latest version running on (IMHO) the easiest Linux system. I’ve been playing with Rivendell on and off for about 4 years as I work at a college with a student radio station. This year we’re going to hopefully move from pure Internet stream to FM and so need something like Rivendell to run it.

I’ve tried to explain each step for the benefit of Linux beginners but it has been a while since I was one so forgive me if I gloss over some things. Please tell me and I will help out and adjust the guide accordingly.

Start with Xubuntu 12.04.
Everything we do here should work on any flavour of Ubuntu but I find the XFCE desktop keeps out of the way the best. 12.04 is the current Long Term Support (LTS) release and has support until 2017. Until the next LTS (14.04) has been out for a little bit I wouldn’t suggest using it.
Installation should be straightforward, boot from the install disk and follow the instructions. A few notes to keep in mind at this stage:
  • Don’t use the user name “rivendell” as that will cause problems and conflicts.
  • Make the computer name something useful if you are going to network several machines together.
  • All the audio data in Rivendell is stored in /var/snd so if you plan to have multiple partitions or drives make sure /var/snd is on a larger one (or has a symbolic link).

Once you’ve installed and rebooted you will probably want to remove any applications you don’t need (games, the GIMP etc.) and make sure the system is up to date (a notification will bug you about it)
I like to customise the XFCE desktop a bit. Removing the bottom panel and moving the top one down to be more like Windows XP. Right click one of the panels, select Panel>Panel Preferences.

Now we’re ready to install Rivendell. We will use the Tryphon Debian repository packages.

  1. Open your Terminal Emulator (under Accessories) and enter the following:

    sudo nano /etc/apt/sources.list

    It will ask for your password as “sudo” is a command which gives you admin access. Nano is a simple text editor and /etc/apt/sources.list is a file which tells the system where to look for software.
    Be aware that when using the terminal you can’t use Ctrl-C to paste. Either right-click and select Paste, or use shift-insert.

  2. Scroll to the bottom of the file and type the following lines.

    deb http://debian.tryphon.eu precise main contrib
    deb-src http://debian.tryphon.eu precise main contrib

    These are the addresses for the repository. “precise” is the codename for Ubuntu 12.04 so change it if using another version.

  3. Press Ctrl-X to close Nano, press “y” to confirm you want to save and “enter” when it shows you the filename.
  4. Now run the following in the terminal

    wget -q -O – http://debian.tryphon.eu/release.asc | sudo apt-key add –

    This will add the repository key which will allow the package manager to make sure the updates it downloads are signed correctly. It will bug you about it every time if you don’t do it.

  5. Now run

    sudo apt-get update

    This updates the local list of packages and tells the system if there are updates to install.

  6. If there are no errors then the Rivendell repo has been added correctly.
    Now we install.

    sudo apt-get install rivendell rivendell-server mysql-server pulseaudio-module-jack

  7. MySQL will ask for a root password. You will need it when first installing Rivendell and later messing with the database so write it down.
  8. The JACK audio connection kit gets installed but I won’t talk about setting it up in this guide. Select to enable realtime priority when it asks anyway as this is one of the main benefits of using JACK.
  9. Select yes when it asks to setup rivendell-server and rd.conf.
  10. Select no when it asks about purging. You never know when you might accidentally uninstall and wipe everything.
  11. Select default user and group names, 48000 for the frequency, localhost for the mysql location and default username for mysql.
  12. Once the install has finished you’ll want to check /etc/rd.conf to check the settings. I find it sometimes doesn’t set the frequency properly to 48000.

    sudo nano /etc/rd.conf

  13. It’s a good time now to reboot the system. You need to at least log out to update user permissions.
  14. Once rebooted you’ll find lots of Rivendell applications under “Multimedia” in the App menu. First we select RDAdmin.
  15. RDAdmin will say it can’t access the database. That’s because it isn’t there yet. Log in with “root” and the password you created earlier when MySQL was installing and it will create the new Rivendell database.
  16. A login will appear now. Use “admin” with no password and that will bring you to the Admin panel. Leave it for now, lets first make sure the sound is working.
  17. Select RDAirPlay from the Multimedia menu and you’ll see this:

    AirPlay is the main playout application for Rivendell. To test the sound out just click “ADD” from the bottom left corner, select “Test Tone” and either press the play button, or click “Ok” and select one of the now yellow buttons in the grid on the right. You will get a 10 second test tone and the meter will light up.

  18. Now I would suggest reading the operations guide and get playing. The Rivendell wiki is a bit unorganised, some of it cut and pasted from the mailing list, but there are some good tips and tricks in there.

I hope this guide has helped you and as I said at the beginning I will adjust anything which wasn’t clear. I have plans to create an up to date replacement for RAAbuntu with simple installation and setup scripts.

    Rivendell radio automation

    This week I am once again messing around with Rivendell Radio Automation with a view to using it for the student radio station I work on. The current setup is a combination of Airtime and some Liquidsoap hacks but this is all server side and we are potentially going FM this year which needs something local.

    I’ve used Xubuntu 12.04 as a base. It’s a custom ISO I made with a more Windows XP setup and the college logo in places. Installing the packages from the Tryphon debian repo was pretty easy this time around and they have just updated to the latest release (2.7.0). I was using 2.5.5 when I set up so I’ve pinned it for now until the new release is a bit more mature.
    One problem I came across was a problem with the default engine MySQL uses. Rivendell has a problem with InnoDB when setting up the schedule grids so I had to set the default to the older MyISAM. It can be fixed after the database has been built by just backing it up and doing a find and replace on the backup file.

    We haven’t got microphones or a mixer set up yet but I have a machine with an on board 5.1 soundcard which, through the miracle of JACK, you can route audio to each port pretty easily. The idea could be that I have different ports for music, spot sound effects and audition cues and these can be mixed by the external mixer before going on the air.

    I worked out I could use Liquidsoap as an Icecast client which runs in the background and just shows up as a JACK input. Right now I have jack_mixer doing the job of an external mixer and the output of that goes into the stream. But it could just as easily use the straight input from the line in.
    I’m ashamed to say I installed php5 purely because I knew how to write scripts for it to pipe the currently playing details into the stream metadata.

    I’m unsure of how to organise the playlists in Rivendell. The log generator is pretty powerful but in practice it always seems to overstock the playlist. I guess the setup I’m using needs some fine tuning.

    More thoughts once I get this into production.

    Thanks Google…

    Wonderfully embarrassing moment today thanks to Google Search speech recognition.

    I had the in-laws over, playing with my daughter. I hooked up my Nexus 4 to the TV so I could show little Dotty pictures of animals. She is getting good at recognising them and while she can’t say the words, she often can point out the cuddly toy or puzzle piece that matches.

    Anyway, I had been speaking to Google search, saying “Pictures of Cats” etc. However when it came to “Pictures of Giraffes” it recognised it as “Pictures of Your Ass”. Queue hilarious laughter from everyone. Thankfully it realised what I meant and searched for giraffes but there was a scary moment where I was expecting a screen full of bums.

    Thank goodness Google is better at reading minds than understanding my accent!

    Very late

    New Year has thrown my body clock and I am up late, pondering what projects to do this year.

    This blog could be one. I’ve let go my VPS and closed my Linode account. I was only using it for an RSS reader anyway and I’ve moved that to my local machine. Now I’m on Blogger mainly for it’s G+ integration.

    I want to try making a game using LÖVE now version 0.9.0 is out. I want to make a game with the feel of the old ZX Spectrum platformers Manic Miner and Jet Set Willy, games which should be simple to do but have a lot of room for modern expansion.

    I could also do a podcast, but that might be limited to rehashes of blog posts. I might force myself to record my thoughts without a script to stop the monotonous drone which I hate but do frequently on my Hacker Public Radio episodes.