Catching Up With JOST

Three months ago I introduced my readers to a new system for hosting VST plugins compiled natively for Linux. That system has continued its development and has become a mainstay in the Studio Dave Linux audio arsenal. Here's an update on the system's recent incarnations, complete with the usual multimedia extravaganza of text, screenshots, and sounds.

Old JOST, New JOST

Figure 1: JOST 0.2.3 at hard labor


Lucio Asnaghi's JOST continues its progress towards a first-rate sound creation suite. Recently I've been employing the 0.2.3 stable version in my MIDI production system under the JAD Linux distribution (openSUSE 10.2), and I've been very pleased with its performance.

Cannibal's Trance (OGG 7MB) is a simple trance piece, an original I wrote as a texture study over a bass part reminiscent of the riff from Land Of A Thousand Dances in the version recorded by a group named Cannibal & The Headhunters. My piece is simple enough indeed, but its setup was not: I needed four instances of JOST, three channels in QSynth, some additional processing in JACK-Rack, and MIDI channel routing via midirgui. Figure 1 shows off this happy band at work.

The multiple JOSTs were necessary for the effects I wanted to achieve. One pair ran the mdaJX10 synthesizer modified by Lucio's superb Eqinox paragraphic equalizer, the other pair ran only an unprocessed mdaDX10 instrument. From each pair I needed a totally dry output for some tracks and a modulated output for the rest. The complex audio and MIDI routing was handled by Rui Nuno Capela's QJackCtl and Holborn's midirgui.

Since none of this software is compatible with the LASH session handler I faced the annoying trouble of having to set up everything each time I wanted to work on the piece. Fortunately I know how to write a simple shell script, so I wrote this tiny amenity :

xdosemu -input \r big.bat &
qjackctl &
midirgui mdaplusqsynth.midir &
sleep 10    ;;; necessary on my faster machine
qsynth &
jack-rack wetplate.rack &
/home/dlphilp/jost2 &    ;;; note that each instance appears 
/home/dlphilp/jost2 &    ;;; with its own audio I/O ports
/home/dlphilp/jost2 &    ;;; in QJackCtl's audio connections panel
/home/dlphilp/jost2 &

I saved the script as sequencer.scr, gave it executable status (chmod a+x sequencer.scr), and added it to my Fluxbox menu for easy access. Voilà, 1-click setup for nine application instances.

The DOSemu invocation (xdosemu) calls a similar script to launch my sequencer. The big.bat script is located on DOSemu's logical c: drive and includes these commands :

d:          ;;; change to drive with Voyetra software
cd voyetra  ;;; change directory
vapimpu     ;;; start Voyetra's DOS MIDI driver
sleep 3     ;;; wait while the driver initializes
spg /nh /nm /dr:128 /RES:1 /casio  ;;; start sequencer with options
vapimpu /rem  ;;; remove driver after closing sequencer   
c:   ;;; return to c: drive
bye  ;;; quit DOSemu

By the way, this script is a batch file written for the DOS shell (i.e. not bash), hence the slightly different syntax.

These scripts are my invaluable helpmates, and in lieu of LASH compatibility they are wonderful time savers. JACK-Rack, midirgui, and the sequencer can be called with command-line options, and QJackCtl can be configured to for patchbay persistence, further automating the system setup and its connections.

JOST 0.2.3 is cool. It allows sequential chaining of plugins, includes session save/recall, and performs beautifully with JACK. But just as I was getting used to its design, Lucio decided to rework some of JOST's basic features. This new design has resulted in a concurrent beta version of JOST (0.3.0) that adds some great new features to this already neat software.

Figure 2: JOST 0.3.0 under the yoke


Figure 2 demonstrates JOST 0.3.0 on the job. You can clearly see the difference in its external design: a canvas has replaced the frames of 0.2.3, plugins are represented as connectable icons (red connector for MIDI, blue for audio), and fixed I/O ports have been added (with up to four separate audio ports). Sessions can be saved and reloaded, but session files created with JOST 0.2.x are not currently accepted by version 0.3.0.

JOST is in relatively early development, and it still shows some rough edges. For my work, the most annoying aspect is its lack of separately addressable MIDI ports. The audio ports appear in QJackCtl as four discrete ports, but only one MIDI port appears. Multiple MIDI ports would lend greater power and flexibility to the system. Lucio is aware of the problem and is already working on a solution.

In my opinion JOST has grown from its original design as a host for natively-compiled Linux VST plugins, and it is becoming a powerful modular environment for complex audio synthesis and processing. A sizeable number of plugins work now with JOST, and Lucio promises more to come. He has already ported a batch of LADSPA plugins as Linux VSTs, which somehow seems very weird, but they do add to the palette. He has also designed some very nice JOST-savvy plugins, including the Eqinox equalizer and a soon-to-be-released synthesizer called Capsaicin. I've worked with an early version of the synth, it includes a nicely designed GUI, and I'm looking forward to its public release.

Earlier versions of JOST included a non-functional Sequencer menu. That menu has been removed in the latest releases, but audio/MIDI sequencing capability would bring JOST closer to being a complete music production environment (especially if the sequencer could sync to the JACK transport controls).

As in any software at this early stage of development, there are downsides. Some plugins are incompletely ported, many have no presets, and most have no Preset Save functions (a serious and severe limitation). I must add here that Lucio himself has ported only some of the available plugins, so he can fix only his own work. Developers who have ported the other plugins will need to add the requested functions as they have the time and energy (though nothing stops anyone else interested in helping out).

As mentioned, performance with JACK is generally excellent. However, I do get xruns when operating plugins with full GUIs, such as the ZR3 organ seen in Figure 2. Parameter control during playback is fine if I use the plain-vanilla GUI (the Parameters tab), but the more colorful VST interfaces may be problematic on lower-powered machines.

Of course, more plugins would be nice too. Nevertheless, a respectable collection of usable (with caveats) plugins exists, thanks primarily to these developers :

  • cern.linux.vst a small but unique and useful collection
  • JUCEtice home to JOST, Eqinox, SoundCrab, DestroyFX VST ports, et cetera
  • Linux-VST Jorgen Aase's links to the mda plugins, Freeverb, his own synths, and more

Please let me know if you know of other developers providing JOST-compatible native Linux VSTs, I'll be happy to expand this list.

I believe that JOST represents a viable solution to the problem of accommodating VST/VSTi plugins on Linux, at least for those developers who are willing to open their source code and reconsider licensing terms where necessary. The system is already a stable performer, and its developer is open to suggestions for improvement. With a few more rounds of fixes and features it could well become a champion. Meanwhile, it's getting a heavy workout here at Studio Dave. If you'd like to help, download JOST (binary or source), knock it around a bit, and let Lucio know how his program held up and what you think might improve it.

Who In The World Makes Music With Linux ?

The LAM site answers that question readily enough, but since LAM has no rating system I thought I'd link a selection at the end of each entry here. This week it's James Shuttleworth's Fling (OGG 7MB), one of my all-time favorites. Enjoy, and be sure to visit dis-dot-dat.net to see/hear what else James is up to.

Outro

Okay, so maybe it wasn't exactly an extravaganza, but I do hope you enjoyed the update and the tunes. I'll be back in about two weeks with more news from the world of Linux sound and music software development. Meanwhile, get your groove on, stay tuned, and keep swinging.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

does it feature in any distro?

michel moalem's picture

this sounds great but for a linux noobe it feels like a mountain to climb 'compiling' all this and other vst related software... i'm still looking for the distro that comes vst-capable all ready to record and play out of the box - as far as i figured out neither dynebolic, musix. ubuntu studio nor 64studio has that support builtin -but maybe you know of such distro that you cant point to...

Multimedia Linux

Anonymous's picture

Perhaps try the Startcom Multimedia Linux from Startcom.
It seems to support many things and should be easy to add more.

on the jucetice site you can

kRAkEn/gORe's picture

on the jucetice site you can find source code for jost and the ported plugins, but i've prepackaged also binaries for them, so even a noob will be able to download and open'em.
my plugins comes in binary only, so you could use them directly dropping the shared library over the jost canvas :)

ps. if you like to try a complete distro for making muzak... try JAD, now comes beta1, and a lot of stuff like this is already present by default.

cheers

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState