Page 1 of 1

Welsh's Synthesizer Cookbook for Linux users

Posted: Sun Aug 26, 2012 11:44 am
by danboid
After over 15 years of messing about with synths on and off, I wanted to learn more about synthesis and sound design. I'd read a number of rave reviews of the Synthesizer Cookbook so I bought it despite being unsure if I'd be able to follow all its examples under Linux and without access to a suitable hardware synth alternative.

I was adamant that I was going to follow Fred's examples using a Linux-native synth so I was hoping to use my fave, TAL Noisemaker. Unfortunately, Noisemaker lacked a couple of features required to follow all the examples to the letter and so too did every other Linux synth including the excellent commercial synth Loomer Aspect. It is very likely possible to create a dual osc, sub synth with every required feature to perform all the exercises in the book using ALSA Modular Synth or Puredata but doing so is beyond the ability of synth novices and hence most readers of this book.

All Linux native options (except zyn/Yoshimi which I didn't evaluate because its oversized interface is totally unusable on my netbook) exhausted, my only other option to follow along with the book was to get the included SCB synth running via wine which most Linux users will be aware lets you run Windows software under Linux. To save any other non-Windows users interested in this book the hassle and research, heres how I got the SCB synth running under Linux via wine.

First you need to make sure you have wine installed. I have got SCB synth running well using the wine 1.4.1 packages that are now in the Debian 7 (Wheezy) repositories so to install that I simply had to run as root:

Code: Select all

apt-get install wine
It would be the same command for Ubuntu users but with sudo on the front. AV Linux includes wine so no need for this step if thats what you're running. Next, you need to find a copy of the file mfc42.dll. You should be able to get it off the MS or another download site if you don't have a Windows machine nearby you can copy it off. Copy this file to ~/.wine/drive_c/windows/system32

Using a full-blown DAW such as Reaper is overkill if all you want to do is access and use a single VSTi such as SCB synth so I have opted for and had good results with SAVIHost which you can download from:

http://www.hermannseib.com/programs/savihostx86.zip

Within that zip file is savihost.exe. The simplest way to run SCB synth is to extract savihost.exe into the same folder as the SCB synth dll file (see CDROM included with book), which you may as well rename to savihost.dll as the executable name of savihost has to match the name of the dll plugin you want to run so running SCB synth would be a case of running:

Code: Select all

wine savihost.exe
When you are in the directory containing both savihost.exe and savihost.dll. These instructions, save for the package installation command, should also largely apply to *BSD, OSX and any other platform for which wine is available.

It would be nice if any future updates to this book were more friendly to the increasing amount of non-MS computer users as this workaround using wine is not possible if you're running Linux (or another OS) on a non-Intel CPU such as ARM or PPC - then this guide would become truly universal and able to reach the widest possible audience.

NB I did try SCB synth under festige before going for the 'pure wine' route described above. festige loaded it OK but I was getting lots of xruns and I failed to get MIDI input working with it, despite my keyboard being supposedly connected to festige according to qjack. I also tried to get dssi-vst working so I might be able to load it into qtractor but I dunno what voodoo GMaq has pulled off to get dssi-vst working as it does under AVL? Regardless, I'm happy enough to just stick with using savihost for this purpose as its only for educational purposes anyway.

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Sat Sep 01, 2012 6:54 pm
by danboid
When I created this thread I had read and completed the exercises contained within the first 5 chapters of Fred Welsh's synthesizer cookbook. Yesterday I completed the final tutorial section of the SCB entitled 'Synthesis through harmonic analysis and reverse engineering' and so I wanted to document how I was successful in following the whole book using all Linux-native software.

First I need to set a potential misconception straight that I may have caused with my previous post on how to run the SCB synth under Wine. I was able to perform all of the example exercises given in the book with the Linux-native Loomer Aspect synth although to the best of my knowledge Aspect is the only synth with a native Linux version that also runs as a plugin (this was a personal requirement of me finding a suitable synth) that is capable of undertaking the SCB challenge. Aspect is a superb synth and by using it to study the SCB it convinced me it was well worth its asking price so I got it registered to remove the 30m time limit and custom preset loading restrictions of the free version. You could use the demo version to go through SCB as thats what I did but if having to reload your synth every 30m is too much and you can't afford Aspect then you can always run the SCB synth as I described above or under REAPER, which Cocko's support running under Linux/wine.

I started a thread on KVR documenting my attempts at using TAL Noisemaker, which is currently the best Linux FOSS synth that runs as a plugin that I'm aware of, as an educational tool to study the SCB but sadly it was not to be for two main reasons. The first is that one of Noisemaker's oscillators can only create saw, pulse and noise waves. The second reason is that NM is incapable of creating a clean square wave. I couldn't believe this so I sent Noisemaker's author a screenshot of JACK-oscrolloscope attached to NM outputting my best attempt at a pure square wave and he replied:

"There is always a small amount of HP filter enabled. You can't remove it. You just can only increase this when you add another HP filter to it. As i said. The HP filter removes the signals DC offset when you do, for example, pulse modulation. My Juno 60 also has a HP filter (DC remover) and the square looks almost identical. There is no perfect square in noisemaker as in most synths."

You can, however, create a perfect square wave and both oscillators produce all the standard wave forms under Aspect. Those two reasons combined with its compact yet very flexible GUI that manages to fit all its controls into one window that can all be seen on my netbook display convinced me I had to buy Aspect.

When using both Aspect VST and TAL-NM LV2 to try the examples within the SCB I had the best results running the plugins under falktx's superb Carla plugin host which is part of his Cadence suite of JACK utilities he has created for KXstudio and the Linux audio world in general. I'm not sure if falktx has made an official release of Carla yet as it isn't mentioned on the KX studio apps page but its in the Cadence repo and already works great.

The reverse engineering section of the book required the use of a few extra tools- a playback tool, for which I used my fave JACK wave editor mhwaveedit, a scope - I used the already mentioned jack-oscrolloscope with the '-d 0.1' switch to display 0.1 secs of the wave instead of 10s - and a harmonic analyser for which I used JAAA. JAAA is straightforward to use- just connect something to one of its JACK inputs and hit 'Freeze' when you want to freeze the harmonic display. You can zoom by clicking on the 'Max' button under Frequency then using the arrows in the bottom left to adjust the max frequency to display and to get the pitch and freq of a harmonic just click on 'Peak' then click above the desired harmonic to get a measurement. If for some reason you prefer to use the freakoscope VST like Fred has used in the book so you're looking at exactly the same sort of display (JAAA's output does look a bit different to freakoscopes) then I can confirm that freakoscope works under REAPER/wine.

Hopefully this guide will help others wanting to study synthesis under GNU/Linux. SCB is very well written and highly recommended for anyone who is wanting to learn more about sound design. Fred has (almost) entirely avoided any complicated techie talk and made the fundamentals of sound synthesis and harmonic analysis understandable for anyone willing to put the time in to read the book and try the examples. Thanks to this guide, its not just a book for Windows users or those who can afford good hardware synths anymore either!

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Sat Sep 01, 2012 7:54 pm
by raboof
danboid wrote:I wanted to document how I was successful in following the whole book using all Linux-native software.
Thanks so much for sharing.
to the best of my knowledge Aspect is the only synth with a native Linux version that also runs as a plugin (this was a personal requirement of me finding a suitable synth) that is capable of undertaking the SCB challenge.
So no native FLOSS synth plugin is up to the challenge? That's kinda disappointing.
Aspect is a superb synth and by using it to study the SCB it convinced me it was well worth its asking price
Kudo's to Loomer for making such powerful software available natively on Linux

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Sat Sep 01, 2012 8:14 pm
by danboid
Hi Raboof!

Yes, I was very disappointed that no FLOSS plugins made the grade. Noisemaker comes the closest and maybe soon Ace Echidna (a GPL Virus synth clone) may become good enough to handle SCB. I also tried DiscoDSPs discovery but they only provide 32bit binaries (unlike Loomer who provide 32 and 64bit and soon LV2!) and I experienced multiple issues with its GUI and audio.

Someone is porting AMS to LV2 but I'm not sure how complete that project is.I've not tried it yet but I get the impression its still got some way to go before it recreates all of AMS. However thats not a newb friendly solution anyway and it likely can't compete in any way with Aspect until its nearing completion.

I wish synth1 would get open sourced or at least ported to Linux. Its got an OSX port now and I've tried mailing the author to ask about a Linux port but never got any response.

gxtuner and baudline

Posted: Sun Sep 09, 2012 8:55 am
by danboid
There are another couple of very useful Linux sound analysis tools I should've mentioned before that anyone studying or involved in sound design under Linux should know about:

gxtuner is a simple instrument tuner that is ideal for identifying the current musical note and the frequency of whatever JACK capture device or synth you attach to it. gxtuner is in recent Debian and Ubuntu repos so is very easy to install.

You may find it more convenient to use baudline instead of using JAAA and jack-oscrolloscope as it features both a scope and all sorts of fancy analysers. However, baudline isn't fully free software as it has limits on its distribution so it may never get into your fave distros repository unfortunately.

Re: gxtuner and baudline

Posted: Mon Sep 10, 2012 4:46 pm
by raboof
danboid wrote:gxtuner is a simple instrument tuner that is ideal for identifying the current musical note and the frequency of whatever JACK capture device or synth you attach to it.
'fmit' is a powerful tuner, too

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Tue Sep 11, 2012 5:38 am
by brummer
raboof wrote:'fmit' is a powerful tuner, too
Well powerful, the fmit UI eats 60% of my CPU power. :(
There is also a new tuner out there, announced by Cédric on LAU, to need less CPU then gxtuner, this one is also available for android,
http://sed.free.fr/android/index.html#tuner
I haven't checked it out for now, because I'm perfectly happy with gxtuner. :mrgreen:

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Tue Sep 11, 2012 10:31 pm
by raboof
brummer wrote:
raboof wrote:'fmit' is a powerful tuner, too
Well powerful, the fmit UI eats 60% of my CPU power. :(
LOL, here it just crashes :). Guess I should look into that, it was a real nice app from what i remember.

Does it always use 60% cpu? or just when you have a particular visualization open?

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Wed Sep 26, 2012 11:04 am
by danboid
I too have never had any real luck with fmit, or at least I never got it working in a way I liked or found usable.

I've not tried Cedrics new tuner which does sound nice as I'm perfectly happy with gxtuner. It would be quite cool to have the same tuner on my phone as on my 'proper' Linux machines tho so I'll give it a try soon.

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Thu Sep 27, 2012 6:50 am
by danboid
I created a similar sized qtractor session to my Ninja Step 2012 last night but using the most recent DISTRHO TAL-Noisemaker 64-bit VST plugins instead of Aspect instances and it seems Aspect is about 4x more efficient on CPU than Noisemaker which means you should be able to get 4x as many tracks.

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Sun Mar 24, 2013 1:40 am
by urlwolf
The first is that one of Noisemaker's oscillators can only create saw, pulse and noise waves. The second reason is that NM is incapable of creating a clean square wave
@danboid: try triceratops. 3 oscs, they all have a square wave (now, I didn't run them through an oscilloscope :) )

Now, I'd buy the books but I'm in EU, and this is offputting: shipping $12.31 US (1-2 weeks)
Plus it feels weird that in 2013 I need paper ship across continents...

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Sun Mar 24, 2013 5:16 am
by urlwolf
Is there a similar book that you recommend?

Re: Welsh's Synthesizer Cookbook for Linux users

Posted: Tue Mar 26, 2013 7:01 pm
by danboid
Hi urlwolf!

Pretty much every other book I found was either too academic and not practical enough or was targetting either a specific hardware or software synth(s) - in the case of the softsynths none of them have native Linux ports and they're normally pricey commercial plugins. I can't see there being many other books like Fred's but if you do find one let us know. I had to wait a week or two for mine as well but I recommend you just bite that paper bullet as it is everything it claims.

I have had a quick go with the tricera 0.1.6 KX package but I couldn't get any of the presets to work under the latest qtractor or A3.