Author Archives: TedS

Pipewire? Replacement for Jack and PU.

Category : Uncategorized

Things have progressed since this was written. Ubuntu 22.04.2 is out and Pipewire has matured. An important thing to note is that as installed from the Ubuntu installer, pipewire is not fully setup. Do the following:

sudo systemctl --user --no-pager status pipewire

This will show if pipewire is running. <esc> or ctl-z to get back to the prompt. Then install the rest of pipewire libraries.

sudo apt -y install pipewire-audio-client-libraries libspa-0.2-jack

If bluetooth hardware is installed on the computer:

sudo apt -y install libspa-0.2-bluetooth

Pipewire-media-session is obsolete and should be replaced with wireplumber

sudo apt -y remove pipewire-media-session

sudo apt -y install wireplumber

Configuration files should be linked so ALSA and pipewire configuration is set.

sudo ln -s /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default-conf /etc/alsa/conf.d/99-pipewire-default.conf

you might need to add this, although my installation had a config file there.

sudo ln -s /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-X86_64-linux.conf /etc/ld.so.conf.d/pipewire-jack-X86_64-linux.conf

And enable and start wireplumber:

sudo systemctl --user --now enable wireplumber

sudo systemctl start wireplumber

I have been reading up on Pipewire, a unified graph based infrastructure for audio and video streams. Pipewire is indended to work alongside ALSA for a a unified way of handling low latency audio and video within a computer. Pipewire is a unified audio and video handler for Linux that will replace pulseaudio and jack audio connection kit

  • Provide consumer, system and pro audio high performance, low latency routing of streams.
  • Provide for high performance, low latency routing of video streams.
  • Provide a simple easy to use interface for users.
  • Pipewire will be a default audio port for Flatpack applications.
  • It has fully functional jack2 and pulseaudio emulator plugins, so jack applications work as expected.
  • Already is the default in Fedora 34 distribution, so they figure it is kind of ready for prime time.
  • Has revolutionary implications for Linux, particularly when X11 (Xorg) is replaced by Wayland desktop manager

I reviewed many recent posts and comments online. It is pretty clear that a computer that uses Wayland used as a desktop machine would do well to move to pipewire. Its performance is much better than pulseaudio. For pro audio implementations there are still some bugs involving starting and tearing down setups leaving zombie ports that may require a reboot to clear them. This is ok for fairly stable desktops but would be unacceptable for a pro audio production environment.

Pipewire is wired to play nice with Wayland, but apparently also works ok with X11. Many of its features come to the fore with the new desktop. Ubuntu 22.04 uses Wayland but X11 can be run on top to get ssh -x forwarding to work.

My suggestion for pro audio users is: Ubuntu 22.04 LTS and use pipewire there.

The Ubuntu 22.04.2 LTS release has Wayland and Gnome 4.2 by default. Pipewire is pretty mature and Ubuntu will be better tuned for pipewire. A lot more native pipewire and flatpack applications will be available, so pulseaudio canl be finally of the picture. I read that pipewire works with Wine. Be ready to build test systems. This way you can hit the road running with pipewire while avoiding most of the “bleeding edge” problems.

If you are using OBS for video in a Ubuntu desktop environment you should probably upgrade now. You can get the full benefit of pipewire’s unified audio and video handling, and improved camera interface now. Setup should be a cinch. The reported problems should not be a big deal for that use. Your audio will sync accurately to your video.


Ubuntu Studio vs Desktop Ubuntu at 20.04

Category : Uncategorized

Where to start? This article discusses the PC version of Rivendell 4.0 on Ubuntu, not the Raspberry PI version

At version 20.04 LTS, the very first decision is whether to use UbuntuStudio or Desktop Ubuntu with the UbuntuStudio Installer is one of whether you like the low overhead XFce desktop or the pretty Gnome 3.  Please note that UbuntuStudio version 21.04 and later will use the KDE Plasma desktop of Kubuntu. Version 20.04 LTS (Long Term Support) of UbuntuStudio will not be up-gradable to later versions without a complete reinstall. I do not recommend using the 6 month interim updates for a production machine.

XFCE is a very low overhead desktop, but it is ancient. Desktop Ubuntu’s Gnome3 is very pretty, but pulseaudio is baked into it pretty tightly, so that you lose control of system audio when you shut it off to tighten latency. (For production environments, system sounds are problematic, and losing them is probably a good thing )

I don’t recommend non-LTS versions of Ubuntu as they must be upgraded regularly to avoid “end of life”. This is a bad thing in a production environment as upgrades can break all your setups. ( As I learned recently on a windows machine) This is a deal breaker in a on-air or tight schedule production environment.

My take for now, is to use Ubuntu desktop with the add on UbuntuStudio package. It requires some adjustment to keep pulseaudio from adding latency to Jack, and a few reboots to get the low-latency kernel installed. Don’t forget to remove the generic kernel after everything is working, as the boot partition can fill up (not a good thing) with unused old kernels of both the low latency and generic kernels when updating around 2028.

The new Rivendell 4.0 radio automation system is packaged to install easily into UbuntuStudio 20.04 LTS, so that will be the easiest path, as all the dependencies are met. If you use Ubuntu Desktop, the upgrade to Ubuntu Desktop 22.04 LTS that you will want to do in 2023 will be painless. OS upgrade to 22.04 LTS would be a complete reinstall however.

Bottom line: Use Ubuntu Desktop 20.04 and install the UbuntuStudio addon package audio features. Spend the extra time to get things set up properly and things will be easier in a few years.


Meterbridge and Jmeter Handy Level Meters

Category : Uncategorized

Meterbridge , Jmeters and JKmeter are GUI Jack Audio Connection Kit Utilities that provide an audio level meters. They all do the same basic thing, and can work the same way. Meterbridge is the original, and Fons Andriaensen rewrote it with more options and better dynamic accuracy.

Jmeters is the best for monitoring audio levels in Jack. It has more options for graphics and types of meters. It has some really cool things, like a stereo VU meter with two colored needles. (broken at this time in the KXstudio package)

JKmeter is Fons Andriansen’s excellent bare bargraph meter that can present in vertical or horizontal mode. It includes an ambisonic mode, and +14 db and +20 db scales for processed or live audio presentation.

Meterbridge has one important thing that is missing from jmeters and jkmeters . Jmeters only has input ports, Meterbridge also has corresponding static output ports.

Some Jack aware applications such as StereoTool search for possible ports to connect to when they are started. They are only willing to connect to ports that are already in existence when they are started. Ports appearing after they are initialized cannot connect. Programs like vlc and other media players’ ports only exist when they are actually playing. If vlc isn’t playing when StereoTool or another application like this is instantated, it cannot connect later. If vlc crashes and is restarted with a new jack name based upon its PID, these applications will refuse to connect to the newly named port.

Meterbridge can step into the fray and provide a persistent output port for StereoTool to connect to. Hooray, because meterbridge is happy to connect to any vlc instance that wishes to connect to it, is connected with jack_connect or by dragging a connection in patchage, catia or the like! Simply start meterbridge before any application with this behavior. Meterbridge’s “-t dpm” display is tiny and useful, so it won’t clutter up your display. Another application for meterbridge is to provide a stable connection port for silentjack which is picky on its timing when ports come and go.

Another interesting feature of meterbridge’s connection scheme is that if you specify input ports of an application or device on the command line, it will “sneak into” the line – Connecting its output port to the input port you specify AND move any connections already on those ports over to its own corresponding input ports.

/usr/bin/meterbridge -t dpm -c 2 -n meter1 system:playback_1 system:playback_2 &
/usr/bin/jmeters -t ebu -f small -name meter2 system:capture_1 system:capture_2 Right Left &

Ubuntu 18.04 installs meterbridge and jmeters in /usr/bin so calling it this way does not require the $PATH variable be properly set.

Some options for meterbridge and jmeters are different! Do not be confused:

  • -t <type> (required)
    • Choices for meterbridge [ vu|ppm|dpm|jf|sco ]
      • vu Round VU Meter – Use jmeters
      • ppm Black PPM Meter – Use jmeters
      • dpm – small vertical ppm meter
      • jf – Jellyfish X-Y Scope display
      • sco – Oscilloscope display
    • Choices for jmeters [ vu|bbc|ebu|din|sbbc|sebu|sdin|cvu|cbbc|cppm|cdin]
      • the first four are correct dynamics of these standards
      • the “s” set are dual stereo needle versions of the first
      • the “c” set are stereo centering of the first.
  • -r <ref-level> in decibels from 0 dbm (default 0 )
  • -c
    • <channels> in meterbridge
    • <columns> in jmeters ( stacked vs horizontal)
  • -n <jack-name> for meterbridge only – the jack port name
  • -name <jack-name> for jmeters only – the jack port name
  • -u <update-rate> for jmeters only ( default 20 per sec )
  • -f <meter-border-style> for jmeters only –
    • rect – Rectangular meter
    • small – Smaller rectangular meter (not correlation meters)
    • mbrl – large round meter (not DIN style)
    • mbrs -smaller round meter (not DIN style)
  • -g <geometry> I have no idea what this does.
  • This is followed by a space delimited list of ports to connect the inputs to.
    • Meterbridge appears to be happy with regular expressions
    • jmeter wants real ports and makes as many meters as there are ports listed. If the ports exist, they will be connected. If a port is not present, the meter will be created but no connection will be made to that meter. Port names are recognized by a “:” in the string.
  • jmeter then accepts a space delimited list of labels for the ports to be put on the meters. If you put names in, it will make that many ports. Names are placed on the lower border of the meter. You may not use “:” in the labels.
 >


Ubuntu 20.04 desktop for 24/7 Operation

Category : Uncategorized

Most computer systems are used as desktop devices that have a user at the keyboard, mouse and monitor. They are used for intermittent jobs which do not require continuous availability. We can call this office mode. The typical office use is to prepare documents, get information, keep track of operations, etc. Unavailability of the computer for a Windows 10 update or a three minute reboot is an annoying required trip to the coffee machine, but no disaster.

Radio Stations use computers the office mode to write copy, do billing, prepare proposals, record programs and spots, and maintain social media.

Other computers are used to “serve” applications, websites, streams, and other public facing interfaces. These are critical real time business processes. These servers often in the “cloud” – Server farms of thousands of computers configured with redundant, shared workspaces with each of the individual client services separated into individual virtual machines that exist in servers that have error correcting memory, redundant hard drives, duplicated power supplies, multiple independent Universal Power Supplies and multiple independent Heating Ventilating and Air Conditioning systems. If an individual piece of hardware fails, the server application can be re-spawned on another or several other physical computers in the cloud.

Sometimes a company will use a local server computer to provide centralized file storage for collaboration and organized storage. They may also have an application server to allow 10 copies of a program to be used by 30 employees (but only by 10 at a time The served applications can all be set up with identical default configurations so users all work with the same interface. Monthly software costs are limited if it only license as many “seats” as are likely to be used at the same time.

Radio Stations also use computers in ways that require 24/7 availability because they produce or deliver the product. Whether it is for program automation, audio store, program database, Studio Transmitter Links, program acquisition audio processing or Transmitter, antenna monitoring, these things are the lifeblood of the business. Any stoppage means a loss of listeners, revenue and reputation. A Uninterruptable Power System is needed, especially on a server or STL computers to be sure that any power failure will ride out any short power failures, ride out the period from a power failure until the generator stabilizes or produce an orderly shutdown with files properly closed.

One big difference between Windows systems and Linux systems is that while Windows supports multiple users and properly segregates their workspaces, it is designed to be used by a single user at a time. Linux systems can support a multiplicity of users with different roles. This allows a single computer to provide functionality to different aspects of an operation.

The use of Snaps or Flatpacks allows an application to be isolated from the libraries and drivers for other applications to avoid the common problems that occur when a system is upgraded and the version of the support libraries conflict, or between several applications that run on the computer one of which going awry could cause a failure that might take a station off air until the applications are rolled back to a previous state. Snaps and Flatpacks limit the resources available to their applications so there will be no conflicts in accessing databases system resources or devices on the computer.

Another strategy to separate functions is to establish virtual machines within one physical machine, (host() or even within several. Each virtual machine has its own operating system, libraries, and programs within a single physical computer. There are several designs to accomplish this. With a Ubuntu host I use KVM, Oracle Virtualbox works for nearly all Linux distributions and Windows. You can have a Ubuntu host which hosts several virtual machines, with one, for example running Centos, another Running Windows 10 and a third with Ubuntu Server, all performing different functions. These virtual machines can be started and stopped at will without disrupting the host. A good example of this is a server called a Certificate Authority

It is important, however to not put too many eggs in a single basket. One hardware failure can cause multiple systems to fail. It is wise to separate the machines that have servers connected to the internet from the machines on the station Local Area Network that run the automation or serve files, or databases..

That reliability requires much more than can be provided with desktop windows operating system. The Linux family of operating systems provides a much better solution than anything on a Windows or Mac platform. Standard Ubuntu desktop provides a very user friendly interface and “just keeps running” It is possible to set up a Ubuntu machine so that it will not upgrade files unless actively commanded by a physically present operator, and most upgrades do not require a reboot. (Kernel and other upgrades need rebooting to take advantage of the upgrade) Programs get the benefit of upgrades after all instances of the program have exited and the program is restarted. We have had computers running for a year or more without reboot that run Ubuntu or Centos.

It is a little tricky to set up an automatic 24/7 user for a linux box. A single user should runs the automation, the audio processor, the virtual console or the dozen other things needed full time operation in a radio station, it is important that user:

  • Automatically logs in at boot
  • Is immune from sleep and (probably) screen lock
  • Owns the 24/7 programs and daemons
  • Appears as an appliance instead of a computer, but has full access to GUI based programs needed for operations
  • Should not log out of its GUI Session , which can stop programs that must keep running.
  • Permit switch user, without actually logging out
  • Have a way to unlock a frozen X11 session

Modern Ubuntu and other Linux systems have a powerful tool for processes that must be running 24/7, called daemons. Systemd loads (in modern systems) and runs all the important daemons in the computer, like the printer daemon, the various hardware daemons, databases, etc. The various daemons can also be started, stopped and monitored using the systemctl command. You can start up your audio processor, your virtual console or anything else that should be started and kept running for a long time.

One very strong caveat: Try to get all the systems on your server machines running properly (without clunky workarounds) before you put it into production. You want to tune the system so it doesn’t need to be worked on after it has been fielded. It is good to have a development computer to test new versions of software, configurations or new systems so you don’t disrupt critical station systems.

It is also wise to keep one computer of each type in reserve to load and drop into service in the case of failure. Do not find yourself having to set up a server from scratch after a motherboard dies in a server computer. Just basic setup of a server from my “RadioSetupScripts.sh” program takes several hours of downloading and installing programs.


  • 0

Users for Jack Audio Connection Kit

Category : Uncategorized

The normal use of jack, which is envisioned as a single user utility: When a user wishes to make a recording, or edit a file starts with the user logging in, and load the jack daemon either manually, automatically or by launching a jack compatible application. This will provide the audio and midi interconnections between hardware and the various software needed for the job.

Another user can open another named jack session, but that session will not be able to access the sound card used by the first session.

Additionally, if the user closes his or her session all the jack infrastructure collapses. This is very problematic when the Jack session is used for real time applications like radio automation, streaming, Radio Studio-Transmitter Links, remote listeners, etc.

If the computer running jack reboots, the jack user must login before jack loads.

The work-around I have used is to create a special user that is exclusively runs for real time and audio processes. This user should be a member of the audio group, and should autologin, but have only those permissions that are needed to access the audio systems. (no sudo permission, for example). When jack needs to be adjusted, any other users on the machine should switch to the audio user and make the adjustments and then switch back to the normal user. See the post Ubuntu for 24/7 Operation for more information.

A good way to start jack in this paradyme is to make it a service and start at boot. This can also restart jack in case of a crash, and assure that its required support modules are in place before starting.


  • 0

Rivendell really likes Centos7. Not so Ubuntu 18.04

Category : Uncategorized

I am putting Rivendell and Centos 7 in a box. I haven’t been successful in running Rivendell reliably in a straight Ubuntu 18.04 LTS environment.

Back “in the day” there were a many Rivendell boxes working in Europe on Ubuntu 14.04 and 16.04, but Centos7 is so baked into Rivendell, it just makes sense to run it in a virtual box under Linux Kernel Virtualization  (KVM) with Centos7 as guest running Ubuntu and Jack2 with Ubuntu 18.04LTS as host.

Too many of the libraries do not align between what Rivendell expects and what Ubuntu provides, particularly the QT version.  Centos7 is not a poor jack2 host – jack itself works well, but few of the jack utilities work, or work reliably in the Centos7 Environment.  We can do all the fancy stuff in Ubuntu and the bread and butter automation in the business oriented Centos7 world.

I will be updating this post as I get this up through production.  I have only a testbed playing now. There is some work to test whether Cloudmin is suitable for administering KVM in this context or not.

Check back soon.


Upgrading to the LTS version of Ubuntu

Update 10/2019

One of the differences between Ubuntu and Ubuntu-Studio is that Ubuntu-Studio uses the Linux low latency kernel.  Now that the Linux Kernel has been modified so that the generic version has nearly the same performance as the low latency version, there is little to be gained by using the low latency version, especially since there appears to be some incompatibility of some applications and drivers with the low latency kernel.

Ubuntu-Studio is based upon the XFCE desktop, which is much more lightweight than the the ponderous old Ubuntu Unity interface. Ubuntu desktop uses Gnome 3, which is a mainstream desktop, lighter than Unity.  If you are in a resource limited environment, this may be important.  For normal audio work, it seems like a stripped down Ubuntu Desktop is the way to go.

Ubuntu-Studio is packed with many applications and utilities to facilitate graphics, video, publishing and other artistic pursuits beyond audio.  If you don’t need this, the advantage of the bundle is reduced.

For these reasons, I am now working on regular Ubuntu 18.04.3 as the base for the systems.

Rivendell is so tied into the libraries for Centos that is extremely difficult to get working and subject to bugs in Ubuntu.  I intend to run a Centos7 virtual KVM machine to implement Rivendell in a Centos 7 guest with Ubuntu as the host.

—————————

Ubuntu, has a versioning release system that accommodates both bleeding edge users and users that are seeking stability.  Ubuntu-Studio follows this scheme.  In the audio production field you want things that keep working for years.  The Long Term Support (LTS) release versions are the versions to use.

The various releases are kept track of by a Major release number – the latest being 18, a minor release number, and a point release number in the format:  18.04.3  LTS (See Below)  The major releases have a code name, 18. is Bionic Beaver, often just referred to Bionic.

There are generally substantial changes between major releases.  All the new stuff gets beta tested and tossed out into the world.  A release like 16.01.0 will likely have some hiccups because there are many things that have changed, and the changes do not always play nice with each other.

Because users who have production systems cannot track the “latest and greatest”, Ubuntu has established a “Long Term Release” based upon even major release numbers.  Major release 18 contains a Long Term Release.  Because the first several point releases are cleaning up incompatibilities, bugs and mistakes, it would be inadvisable to make an early major release with a low point release the LTS.  The Ubuntu folks have figured that by the fourth point release the new version has settled down enough to be stable.  So version 18.04  (and every .04 release of an even numbered major release will become an LTS)  To see the support status of the Ubuntu-Studio operating system and applications simply enter
$ ubuntu-support-status at the comand line.  The end of life status for Ubuntu releases determines when they no longer get updates.

When Ubuntu and Ubuntu-Studio 18.04 (without the.1) was released, it was very cool, but as all sofware, it still had bugs that had not been found or completely squashed.  It may not have had the user interface completely resolved.  Only when  Ubuntu 18.04.1 came out does it become the LTS edition – Ubuntu 18.04.1 LTS.   Updates to this version are intended to be focused on bug fixes, substantial performance improvements, etc.  There are rarely new applications or significant changes to the way it operates updated.  LTS versions are supported for five years, and other versions for only nine months.

LTS releases are what you build production machines from.  You want to turn off  automatic updates because you really don’t want to come in in the morning to find your workstation no longer works with the program you need to use because it was “updated” overnight. To update an LTS release, simply issue $ sudo apt-get update && sudo apt-get upgrade.

There are two other versions of “apt-get upgrade“,  the “dist-upgrade”, which is pretty safe in that it tries to upgrade every package in the package list, but will avoid any upgrades which require deleting a library or other possible dependency for another program.  There is also “full upgrade” which takes a more aggressive stance, and updates as many packages as possible without breaking dependencies.  In a production machine, I recommend only doing upgrades when you are physically at the machine where you can reboot it or fix whatever might stop working.

As I mentioned before, an LTS release will not get any new packages, but will upgrade all those that have been installed.  There is one notable exception.  This exception is “backports”.  Backports come in at least two groups.  Ubuntu backports are pretty well tested and you might consider using them to fix a broken or buggy driver, or to get something you really need working better.  By enabling the Ubuntu Backports repository (enabled by default) and installing from there opens you to some risk in a production environment, but it will probably work.

There are also manual backports where you build a package from a later edition of Ubuntu Studio to get some additional functionality.  Manual backports are for the daring and not for a production environment.

There are many different use conditions for Ubuntu, so you should plan carefully to determine what upgrade strategy to follow.  Do you want an appliance that will keep doing the same thing, year after year?  Is it your toolbox that needs to keep sharp?  It is a machine that lives on the internet and needs the latest security patches?  Is it on a closed network that is pretty safe from intrusion.  (Don’t forget flash drives, at my station we had a virus travel through several unconnected machines by the flashdrives in our “sneaker net”)

For anything you do with Rivendell, it is essential that you maintain a stable working environment.  Starting with a Ubuntu-Studio LTS distribution is an important place to start.  Locking down the upgrade process is one way to do that.  Opening it up only when prepared for a failure is a good strategy.  You really don’t want to have Rivendell go down without a plan to stay on the air.  Working out a plan to include security updates on a regular basis is also important.


  • 0

Nice demo of Rivendell with StereoTool

StereoTool is a very competent Jack enabled Audio Processor / FM stereo / RDS  Generator that runs on a decent 64Bit PC with a 192 kHz sample rate sound card.  Here is a YouTube demo of Rivendell feeding StereoTool through Jack. You can see the components working, and then the setup in KXstudio Catia patchbay.
[lyte id=”XufDQLV6ZrM” /]

Nice! Where else can you get a complete radio station in a box?  Just add transmitter and antenna.


Ubuntu-Studio vs DreamStudio

Update 2021

Dick MacInnes has let Dreamstudio drift into obsurity.  For a while he went from distro to package, but he has moved on to other things.  Thanks for Dreamstudio while it lasted.   At version 20.04, the decision is whether to use UbuntuStudio or Desktop Ubuntu with the UbuntuStudio Installer is one of whether you like the low overhead XFce desktop or the pretty Gnome 3.

Update 9/2019

It appears that Dick MacInnes did another pass on Dreamstudio in 2017 titled Volocian Dreamstudio based upon Ubuntu 17.04, and it has not been updated in two years.

update! 3/2016

DreamStudio is no longer a complete distro.  It is now a package of applications available for Windows, Mac and Ubuntu and KXStudio.

It was last updated several years ago and was available on Sourceforge.  Dick MacInnes has let his domain names Celeum.com and dreamstudio.com expire.  I hope Dick is doing ok, with his, and his wife’s health issues.

Ubuntu-Studio is a very cool Linux distribution for folks who want to do audio, video, graphics, animation or other media production using open source software.  It uses a very utilitarian XFCE user interface.  This has the advantage of simplicity and lightweight overhead on processor chips, leaving muscle for DSP processes.  Ubuntu-Studio is a derivative of Ubuntu, a distribution for regular computing based upon  Debian, but much more user friendly.  Ubuntu-Studio is dependent only upon software with the same open source licenses that are available to regular Ubuntu.  As a result there are a bunch of programs, many of which are free, but not sufficiently liberally licensed, that are not natively included in the distribution, such as an .mp3 codec.  Many of these can be easily added, but are not available in the distribution itself Ubuntu-Studio

Ubuntu-Studio has the advantage of a large user base. Its release schedule is synchronized with its bigger brother Ubuntu.

DreamStudio from Celeum Technologies is a gorgeous media suite also based on Ubuntu, but it uses regular Ubuntu’s Unity user interface, which diehard Ubuntu users complain about, but once you learn the basics is incredibly intuitive, helping to get work done.

Dreamstudio was a complete operating system distribution or “distro”.  which you would install on a blank machine or set up as a dual boot.  The last version was based upon ubuntu 12.04LTS, which is quite old.  The new version is a suite of programs that you overlay on a regular Ubuntu installation. This makes some sense, as the low latency kernel is now standard in Ubuntu 14.04 and later, so there is no need to dicker with replacing the kernel.

I have not tried the new suite yet, and will try this out when I have another machine to set up.  There are applications in the suite that can be complicated to set up properly, and I am sure that it will be a lot easier to get them all playing together using DreamStudio than trying to install them one by one.  I am not sure what happens when you install DreamStudio on UbuntuStudio instead of Regular Ubuntu.DreamStudio

Celeum Technologies is a tiny company in Saskatchewan, Canada run by musician/technical guru Dick MacInnes.  DreamStudio has no open source rules, as does Ubuntu Studio including best of the pack open source, commercial and free or limited license software where it makes for a better workstation.

DreamStudio is not updated as often as Ubuntu and is intended to be installed on  Ubuntu Long Term Support (LTS) releases.  Sometimes the releases are delayed a bit from the Ubuntu LTS release.  This is because DreamStudio is a labor of love for Dick, and he works on it among other demands on his time (performance, family, running a small business).  The craft he does during the long Saskatchewan winter nights may very well be worth it if you need the additional features and pretty interface.

The audio workstations in Ubuntu-Studio includes Audacity, a fine basic audio editor without the fine graphic control of levels in other editors, and ease of time dragging program elements.  Ardour, a full featured recording editor is also included.  Many people are afraid of Ardour because it won’t work until set up with jack2.  Fortunately, both  Ubuntu-Studio and DreamStudio have it already set up, so those headaches are gone.  It is still complex and powerful in the same class as Pro-Tools.

DreamStudio also comes with a demo version (upgradable to full version for $80) of Harrison MixBus 3 DAW that has full professional analog simulation with everything that a recording studio would want.  (You need a high quality multi-channel audio card to use it to full effect)  This is a SERIOUS audio editor which does not support compressed audio file formats, so have a big hard disk.  DreamStudio also comes with a host of professional video, animation, 2d and 3d graphics, film post edit, web design and other tools.  The list is amazing, and most are free, and the rest are affordably priced like MixBus 3 and Lightworks NLE award winning video editor.

If your plan is to do a Rivendell – Jack installation for a radio station and Ardour (or Audacity) is suitable for your needs, Ubuntu Studio is the obvious choice.  If you are doing a wide range of  multimedia creations, then DreamStudio is your dream.


Jack2 Audio Connection Kit

Jack2 is the connector for audio within and between computers.  It connects your audio soundcard to the guts of your computer using a simple to visualize jackfield, where you connect audio paths from one output to any number of inputs.  You can also connect several computers’ audio together over ethernet!  It is available for Linux (Ubuntu Studio), MacOS, and Windows!  It does not know multi-channel audio natively, so you have to hook up the left and the right ‘cables’ independently.

Jack Logo

 

 

My first exposure to Jack was back in Ubuntu 10.04 where I installed it manually in a system that had ALSA (Advanced Linux Sound Architecture) and an early version of Pulseaudio  installed.  It drove me crazy, no audio or audio that had dropouts.  Dozens of settings poorly documented.  AARRRRGH!

9/2019  Update:    Ubuntu 18.04 runs jacks quite nicely without problem when set up by KXStudio   (See Article)

No longer! Ubuntu Studio comes with Jack2 already installed so all that grief is mostly behind you.  Many web sources tell you to get rid of Pulseaudio, but the case is not so compelling as it once was, but if low latency or several sound cards are in your plan, dump it.  Check out my article “Use Pulseaudio with Jack Audio Connection Kit?”

You should have your final soundcard(s) installed when you install Ubuntu-Studio so that it can pick up the cards automatically.  Jack comes with a little utility called qjackctl that lets you set all the necessary configuration that lets you correct much of what might not work right away.  KXStudio cadence application (See below) is much prettier, and shows status in a much more easy to understand way and hooks up plugins and other features that I didn’t figure out Cadence’s tools are more robust than qjackctl, although it has no internal provision for saving patches in a patchbay.   No audio can usually be fixed with a command line utility called alsamixer because some sound card drivers set the volume to “0” not “11”.

There are packages from a site called KXStudio that make using Jack2 on Linux beautiful.  If you dive into KXStudio, you will not need  most of the Jack2 utilities like Patchage, qjackctl, etc.  I will have a script on this site soon that automates installing all these Uber Cool features.

Once you can hook up an audio editor like Audacity to the audio outputs and connect a parametric equalizer to the microphone inputs and the equalizer to Audacity inputs, along a  Jack meterbridge or spectrum analyzer you can see the power of this system. Jack can hook up Lapsda and .vst plugins for a multitude of effects.

 

NetJack is a way to hook up several computers’ audio  together via ethernet with one master computer connecting to another, or several others.  This can work over a typical quiet office network, but the NetJack audio should be on its own network with no competing uses of the bandwidth.  If there is too much audio flying around even a 1 GB network can get overloaded.

There are more convenient and higher fidelity options than NetJack, Such as Zita-NJBridge  the included zita-j2n and zita-n2j open audio ports to other jack instances on other networked computers.

So, the possibility of shipping audio around between workstations and a server is pretty easy, getting rid of lots of conventional cabling, and removing hundreds or thousands of places where the audio can get degraded.

One of the trickiest parts of Jack2 is making persistent setups and patchbay configurations that can automatically re-appear upon reboot or relogin, and understanding the relationships between applications started by different users and different sessions.  There is no standard command line tags for jack naming, and automatic jack connecting.  Auto-connecting a program’s output generally takes the form of

-<port tag>  Jack_Device_name:Jack_port_name

On some programs the Jack_Port_Name can be a regex, sometimes a complete name, or sometimes a port name less the variable part.  You have to play with the program to figure it out.