Catching Up With JOST
May 31st, 2007 by Dave Phillips
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

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 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.
__________________________
Special Magazine Offer -- 2 Free Trial Issues!
Receive 2 free trial issues of Linux Journal as well as instant online access to current and past issues. There's NO RISK and NO OBLIGATION to buy. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Sorry, offer available in the US only. International orders, click here.
Subscribe now!
The Latest
Featured Videos
In case you were wondering about the fun side of Linux World Expo, we thought we'd give you a peek at our shenanigans. We at Linux Journal love what we do so much, that we can't help but have a ball wherever we go.
The X Window System is a magnificent platform for many uses, but using it to run an application over a slow network is nearly impossible. This is an introduction to NX, a technology that makes remote applications fly even over commodity internet.
Recently Popular
From the Magazine
September 2008, #173
Feeling a bit like a Thermian? Never give up, never surrender! Someday, you could go from underdog to top dog. Just take a look at a few of the underdogs we highlight in this issue: Mutt, djbdns, Nginix, Gentoo, Xara and the program voted mostly likely to fail just a few years back—Firefox. If Firefox not radical enough for you, check out Chef Marcel's column for some more alternatives. Having trouble mapping your program data to your relational database? If so, Rueven Lerner shows you some tricks in his At The Forge column.
Need to run GUI applications on your server in the next state? In his Paranoid Penguin column, Mick Bauer shows you how to do it securely. Kyle Rankin keeps hacking and slashing and shows you a few split screen secrets you may not be familiar with. Finally, we all know what happens next February, but only Doc knows what happens afterward.
Delicious
Digg
Reddit
Newsvine
Technorati







Catching Up With JOST
On May 5th, 2008 linda says:
thank you for the information
__________________________nick msn nickleri msn nickleri msn nickleri korku korku !
does it feature in any distro?
On June 1st, 2007 michel moalem (not verified) says:
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
On June 3rd, 2007 Anonymous (not verified) says:
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
On June 1st, 2007 kRAkEn/gORe (not verified) says:
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