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.
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.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- another very interesting
1 hour 30 min ago
- Reply to comment | Linux Journal
3 hours 23 min ago
- Reply to comment | Linux Journal
10 hours 17 min ago
- Reply to comment | Linux Journal
10 hours 34 min ago
- Favorite (and easily brute-forced) pw's
12 hours 25 min ago
- Have you tried Boxen? It's a
18 hours 17 min ago
- seo services in india
22 hours 48 min ago
- For KDE install kio-mtp
22 hours 49 min ago
- Evernote is much more...
1 day 49 min ago
- Reply to comment | Linux Journal
1 day 9 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?