The Box of No Return

summary

The Box of No Return is a Linux-based musical synthesizer platform, suitable for live musicianship, designed to handle multiple patches with enormous demands, and switch between them with zero delay and zero cutout.  If you sit in your home studio and use single SoundFonts with a laptop and simple GUI, you don't need this.  If you play live, and pile on the tone generators and filters in patch development in order to feel and deliver the unyielding power of the musical harmonic roar, a full implementation of the BNR may suit you well.  There are obviously middle grounds too ☺, and there are articles here to help in general.

questions, contributions, discussion, the code

The project and its code are hosted on Github.  There are SF2 SoundFonts involved in the current build which are downloadable here; these are conversions of the Sonatina Symphonic Orchestra, original SFZs being here.

more articles

are right here.  There is also a new Facebook group over here.

why this project and its benefits

From the beginning, the BNR was built out of a need to host patches of maximum, profound and terrible, tonal content. If you find yourself reducing the profundity of your patches because your machine won't do better, this project may be very good for you, especially if you play live. Current patches include one with three simultaneous Yoshimis, another with several simultaneous large FluidSynth soundfonts, and the ability to mix the two and a third together. 

Surprisingly enough, the current BNR is quite a lot more stable than its predecessors.  If one of its soft servers gets overloaded (say, due to its musician having a really good day), it cuts out without static or other noise, and recovers, and comes back just as quietly.  Obviously we engineer against such events, but it is wonderful to have the setup so much more forgiving.

The current known box running with this code, is an eight-core 4GHz machine with 8G RAM. In an earlier iteration, it used the conventional single JACK server; but less than one-quarter of its CPU capacity was being used, while JACK reported that 75% of its capacity was being used. In 2015 began an effort, now successful, to use multiple JACK processes together in one box, and this is the rebuild of the BNR with MultiJACK at its core. Attempts have not yet been made to run this code on a quad-core box, though the previous single-JACK iteration of the BNR is still running as of this writing on quad 3GHz with 8G RAM.

There are quite a few people using tools like NetJACK to increase JACK capacity with multiple boxes, or at least multiple motherboards. But if you value portability, if you value space, and/or if you are a gigging musician, a fragile or heavy (one, the other, or both; probably not neither) multi-motherboard construct is not preferable. Most users of Linux-hardware synths limit themselves as a result of what one JACK server can do, and other platforms limit analogously; here we have an effort to blow the door open just a bit more.

Many prayers granted, enormous help from the Linux Audio community, and much study, work, and trial and error, has gone into making this happen reliably and well.  My gratitude to all!