Category Archives: Hardware

  • 0

Network Setup for Rivendell and NetJack

The physical connections between computers running Rivendell and/or NetJack should be done with a bit of thought.  There are some special considerations in any network that carries real time audio or files that must be served on an exact schedule.  This “real time” requirement is different than most computer needs where a document or web page can be served at some time in the future, as long as it is soon.   Audio streams and playout systems need their data NOW.

Rivendell requires Internet access for its rdcatch feature, as well as to access audio files, logs, ssh management, icecast servers. ftp servers and podcast servers, etc.  A Jack server should have access to the internet for the same reasons, plus network time, printers, sending email alerts, etc.  I will call this a connection to the “Office Network” since it includes mostly non-real time traffic.

The safest way (I have thought of) is to have the Rivendell Workstations and Rivendell Server(s) connect to two separate networks.  One network, the “Office Network” carries all the normal traffic, connection to the internet, uploading of logs, printing reports, VoIP, etc..  The other network I call the “Music Network” carries only NetJack traffic, NFS traffic for audio files, and MySQL traffic and some network management traffic.  Rivendell also requires that the Ethernet addresses for these purposes are STATIC, meaning that they are maintained permanently and  setup manually.  The “Office Network” could be automatically assigned using DHCP, or can be STATIC, although there are good reasons that the server interface to the “Office Network” should be STATIC also.

Below is a graphic showing a possible configuration of a Rivendell – NetJack system in  a small radio station, or station cluster.  It is not set up for redundancy to provide high reliability, but later additions will permit this:

Network Layout

Rivendell – NetJack Music and Office Networks

The “Music Network” should use Gigabyte Ethernet interfaces on the computers and switch.  It should use Cat-5e or Cat-6 cables in a unique color to distinguish it from the office network.  If patch panels are used, they should be separate panels from the office network to avoid confusion.  As you can see, only the machines that have real time functions are connected to this net.  There could be a Network Attached Storage device on this network also, but it should not be used for backups, etc.; only for music and playout traffic should be on this network.

In this installation I have arbitrarily assigned the “Music Network” to a class C non-routable set of addresses:

Parameters -192.168.60.0  netmask 255.255.255.0  Gateway 192. 168.60.1 (The server) Broadcast 192.168.60.255.

This means that any device on the “Music Network” assigned an address beginning with 192.168.60. will be a member of this network.  It does not require a router, just a switch since the knowledge of the members of this network and the needed data routes will be known by each of the computers involved.  This network could possibly have 254 devices attached, but you would never want that many.

The “Office Network” is a conventional internet connected network configured to be efficient for its size.  It carries all the regular business and computer traffic of the operation, in addition to providing audio file upload services and possibly streaming sources for Internet Streaming. Conventional network design considerations are appropriate here.  A small station could possibly use the firewall – router provided by the Internet Service Provider (ISP), or another solution with more than one ISP and a load balancing router, a router using DD-Wrt or other open source router software, or Cisco or other “heavy iron” solution.

Not shown here, but for radio stations that need to deliver programming to remote transmitters, there may be a third ethernet interface on the Rivendell Server for a “STL Network” whose exclusive purpose is program delivery, transmitter control and communications to the station transmitters.  The traffic on this network should be separated from the other networks. This network will interconnect using dedicated microwave channels, landline T-1, and/or other methods of data transport  requiring well thought out routing protocols for high reliability.

 


  • 0

Use PulseAudio with Jack Audio Connection Kit?

Ubuntu Studio 14.04 uses Pulseaudio -> Alsa -> Jack as the connection interface for audio devices.  Pulseaudio is a very simple interface, and with it most audio cards just “show up” and play with Jack as the pulseaudio-sink and pulseaudio-source devices on the Jack patchbay.

In the olden days (Ubuntu Studio 10.04 and before) Pulseaudio was  buggy and not worth the effort to deal with the bugs.  Pulseaudio is now much more mature, and for a single sound card machine makes it much more likely that you will have Jack working right away.  If you are using Debian or regular Ubuntu, you will need a Pulseaudio plugin to hook it up with Jack.  I have not used the plugin as it is all nicely done in Ubuntu Studio.

Alsa is perfectly capable of connecting sound cards to Jack, with infinitely more flexibility, and (unfortunately) with more complexity.  Remember to turn the volume controls up in alsamixer!

There still remain some reasons to dump Pulseaudio:

  • Pulseaudio works best with a single sound card – if you have an in-computer card and a USB card and want to use both, Pulseaudio is complicated at least and may not let you use the second card. (I have not been successful, but I didn’t try very hard)
  • Pulseaudio devices want to hook up to stuff in the patchbay, and I have not figured how to keep them from automatically doing so.
  • Pulseaudio adds latency to the audio chain.  If you are just recording and playing back stuff and “real time” audio is not important, this might be insignificant.
  • Pulseaudio and Rivendell get in the way of each other.  Rivendell wants to have multiple audio inputs and multiple outputs, and that can be a problem with Pulseaudio if they are on different cards.
  • Pulseaudio devices Pulseaudio-sink and Pulseaudio-source hide the names of the actual sound devices, so they can be confusing when patching.
  • Pulseaudio hides and plays with some sound card settings in Alsa, so special configurations might just get reset to the defaults at next boot.

The reasons to keep Pulseaudio:

  • Alsa can be tricky to get all your audio devices working right unless you are happy to use the command line.
  • Ubuntu Studio comes with Pulseaudio installed and working, and dumping it can cause your installation to stop working until you figure out what Alsa settings for your sound card are undone.
  • There are some tricks to getting Pulseaudio to uninstall or to disable it. (It keeps coming back)
  • Pulseaudio now keeps a simple setup simple (except for those crazy patchbay devices)

Assuming you want to remove Pulseaudio, here is what you do:

From hecticgeek.com:

1. First let’s remove PulseAudio from your Ubuntu OS. I don’t remember since when Ubuntu used to come installed it by default, but for the recent versions such as: 12.04 Precise Pangolin, 11.10 Oneiric Ocelot, 11.04 Natty Narwhal, 10.10 and 10.04 the below command should remove it.

sudo apt-get -y autoremove pulseaudio

2. Now do a reboot since PulseAudio daemon (system service) is also running from the background. So it’s better to let the OS update everything.

3. You need the package alsa-tools, but that is already installed in Ubuntu-Studio, but not in regular Ubuntu.

4.  The script I will be publishing later will do this all automagically.

If you just want to just disable PulseAudio, you can edit the config file

1.   Copy /etc/pulseaudio/client.conf for a backup

sudo cp /etc/pulseaudio/client.conf /etc/pulseaudio/client.conf.orig

2.  Modify /etc/pulse/client.conf  the line   ; autospawn = yes to autospawn=np

sudo sed  s/; autospawn = yes/autospawn = no/ /etc/pulseaudio/client.conf

3.  Reboot or kill the pulseaudio job.


  • 0

Hardware for Audio – Server and Workstation

The Workstation

A Rivendell workstation with Jack2 and Netjack to work with a server needs a reliable motherboard with an X64 processor  with two to four cores, Several Gigs (3?) of Memory, and if to be used with a server for audio storage and database, probably 120 Gigs of SSD.     If the machine will be in a playout or editing environment, an SSD is important for fast boot  and fast loading of applications. The $50 a little SSD costs is well worth it.  An additional hard drive is needed to keep keep work files in the /home folder.  If you have a good server, you don’t need a big hard drive unless you want to duplicate the library and database on the workstation (this is tricky because they need to be kept sync’ed)

If you work with a server, you need a good quality Gigabit network card which you will set up for STATIC ADDRESSING.

You need a good sound card fully rated for ALSA compatibility.  I have used M-Audio hardware with good results, particularly the Delta 1010 cards and the all of the 17xx cards work well too.  Ubuntu studio 14.04 has also learned to play nice with M-Audio Fast Track 8R USB rack mounted box. (earlier versions did not)  Rivendell loves the Audio Sciences cards, but they are pricey.

If the workstation is in the studio, you also want high volume LOW NOISE fans. Bigger cabinets seem to have quieter fans because they use larger 120 mm fans that move more air with slower blades. You should also use a good quality power supply and UPS.  The UPS should be connected to the computer USB for graceful shutdown when the power goes out, and stays out.

The current version of Rivendell playout has a fixed window size so don’t go crazy on resolution or the control window will be too small.  (I have heard that this is likely to change in the next major revision).   Your video card does not need to be anything special, motherboard cards work fine.  rdAirplay will work with a touchscreen, and there are many that work with Ubuntu-Studio, but not all.  Your touchscreen mileage may vary.  You are looking for high reliability, not blazing performance. Do not overclock.

Rivendell works with audio switchers such as the Broadcast Tools SS 8.2, and with digital IO cards that talk by RS-232 serial ports.  It would be nice if the motherboard had an RS-232 port, but a high quality USB-RS-232 converter will work.  There are cheap converters that won’t work because they need a special driver that might not be available in Linux.  The machines that will be running RdCatch and RdAirplay will need this if you need these outputs to switch satellite receivers and such.  (Audio switchers may be unnecessary if you have enough inputs and outputs on your soundcards when running Jack2.)

The Server

A server for Rivendell should have similar computing  performance to the workstation, and should have a reasonable amount of memory on a multi-processor X64 chip, with four or more gigs of memory.  Hard drives should start with a 128 Gig SSD for the operating system, and about 2 TB or more of high quality hard drives for audio and database.

You should have two or three Gigabyte Ethernet ports on this machine.

It theoretically could be a “headless” machine, but some of the audio applications just really need GUI interfaces.  Sharing a monitor, mouse and keyboard with a KVM switch with another machine (such as a standby server) would be useful.   Be careful that the KVM switch and the motherboard have the same mouse and keyboard connectors.  USB to DIN adapters generally don’t work on KVM switches. No fancy video card is needed.

If this will be the “master control for audio” it will need a good ALSA compatible sound card with as many output channels as you will have outputs.  The server should have at least a 2 TB  USB removable drive or a Network Attached Storage device for backups.  You may have trouble finding servers that are quiet enough for the average station.  If you will be running the servers in a server closet, I recommend recently pulled 1U to 4u servers with dual power supplies. They will, however, be much too noisy for an office or studio environment.  You probably can’t afford them new, but used are inexpensive, just make sure you get multiprocessor X64 machines with enough memory

Your “music” ethernet network should be built with good Cat6 cables – any that go through the ceilings or floors should be ‘plenum’ rated.  Use high quality gigabit switches.  You probably can do without managed switches unless you have a lot of workstations, and then we have to tune things that I haven’t had to do yet.

It is possible to set up a server standby system for Rivendell, where you have two identical servers for Rivendell and the audio store or the database are kept up to date on both.  This way a failure will not put you off the air until a new server can be configured.  Similarly, you should keep your workstations as close to identical as possible  so you can switch over quickly in the case of an equipment failure.

If you are doing hot standby  servers, it would make sense to have two independent UPS systems – one for each server, and a ups for each workstation.  The idea is “no single point of failure”!  This is where the use of a real router (not bestbuy specials, but microtik or cisco) become important.

When you set up Ubuntu studio on these machines make sure you choose to add .mp3 codec and use LVM.  The account you use to setup will be the main “SUDOER” account.  Use a real password and require it to be entered.  It might make sense to encrypt the main account’s /home folder.

The server might be called on to do more than switch audio, serve the databases, and stream.  You may want to run the station’s phone system using freeswitch, or at least the phone interfaces to the studio.  It may make sense to put these into separate “boxes” using Oricle’s Virtualbox or the more sophisticated OpenStack. If you are thinking about using openstack, you will need at least one processor per “node” so a six or eight processor computer for the server makes sense, along with more memory, as each node has its “own” memory.


Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1 other subscriber

Recent Comments

    Subscribe to Blog via Email

    Enter your email address to subscribe to RadioTed and receive notifications of new posts by email.

    Join 1 other subscriber