General Crossover Thoery
There are several reasons why we need a crossover in our loudspeaker system. In this tutorial I am just going to scratch the very surface of filter design. Designing a good crossover network is very demanding and also it might be difficult or impossible to simulate the final behavour of the filter. However, GSpeakers provides a number of tools to make it a little bit easier for you to design a suitable filter. Also GSpeakers sometimes compromises between "power to the user" and "easy to use". The crossover design part of GSpeakers was the most difficult part to make because it is difficult to make it powerful for the experienced electronic guy (like me, well somewhat experienced anyway) while it still should be easy to use for a newbie. I don't know if I have succeeded but I think I am almost there. What I miss is a couple of features that would make GSpeakers more powerful for the advanced user.
This tutorial assumes that you are familiar with at least simple passive crossover commonly used in loudspeakers. For example you should know what a 1st order butterworth lowpass filter is. Information on where you can find newbie loudspeaker and crossover design articles can be found in the links section in the reference documentation.
SPICE interpreter
Since node analysis of electronic circuits is difficult to implement in code I decided to use an external SPICE interpreter to do the actual filter calculations. This way I can focus on the user interface and the features instead of fixing bugs in complex node analysis code. This section assumes that you have a working SPICE interpreter installed. Currently only Berkley SPICE for Linux is supported but any Berkley SPICE 3f5 should work (at least on Unix). It is not very difficult to add code to handle other SPICE interpreters but it is not a very high priority task. However, support for a Windows SPICE interpreter will be added as soon as possible.
Instructions on how to install a SPICE interpreter can be found in the install section of the reference documentation.