<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="GENERATOR" content="Mozilla/4.79 [en] (X11; U; Linux 2.4.7-10 i686) [Netscape]"> <title>ZynAddSubFX</title> </head> <body text="#000000" bgcolor="#FFFFFF"> <center> <h1> <img SRC="images/logo.jpg" NOSAVE height=147 width=756></h1></center> <p><br><u><font size=+1>Introduction</font></u> <br> <b>ZynAddSubFX</b> is a opensource software synthesizer capable of making a countless number of instruments, from some common heared from expensive hardware to interesting sounds that you'll boost to an amazing universe of sounds. <br> The project started in March 2002, and I had written it because I wish to make a synthesizer that produces very beautiful sounds, but which is freely available to anybody who needs it. <p><a NAME="warning"></a><b>Please don't use this program to make music that is against God and Jesus Christ (eg. HeavyMetal, NewAge,..etc..). Think that the only way to the Salvation is Jesus Christ. Please don't lose this chance and don't make others to lose it!</b> <center><b><u><font color="#000099"><font size=+1>For God so loved the world, that he gave his only begotten Son, that whosoever believeth in Him should not perish, but have everlasting life. (John 3:16)</font></font></u></b></center> <p><font size=+1><a href="#t01">Features of ZynAddSubFX</a></font> <br><font size=+1><a href="#t02">Screenshots</a></font> <br><font size=+1><a href="#t03">Audio demos</a></font> <br><font size=+1><a href="#t04">News</a></font> <br><font size=+1><a href="#t05">Requirements</a></font> <br><font size=+1><a href="#t06">Copyright and License</a></font> <br><b><font size=+1><a href="#t07">Download</a></font></b> <br><font size=+1><a href="#mailinglist">Mailing Lists</a></font> <br><font size=+1><a href="#t08">Compilation & Running</a></font> <br><font size=+1><a href="#t09">Documentation</a></font> <br><font size=+1><a href="#t10">Bugs</a></font> <br><font size=+1><a href="#t11">ToDo list</a></font> <br><font size=+1><a href="#t12">How to contribute</a></font> <br><font size=+1><a href="#credits">Credits</a></font> <br><font size=+1><a href="#t13">About me</a></font> <br> <p><a NAME="t01"></a><u><font size=+1>Features of ZynAddSubFX:</font></u> <br> - <b>realtime</b> synthesizer <br> - <b>polyphonic</b><i> (allows playing more than one note at once)</i>, <b>mutlitimbral </b><i>(allows playing more than one instrument at once)</i> synth <br> - <b>Microtonal</b> capabilities with any scale, any number of notes per octave (well... the no. of notes per octave must be less than 128) and keymapping <br> - 2 synthesiser engines: 1) first (called "<b>ADsynth"</b> or "<b>ADnote"</b>) is a complex engine which makes sounds by adding a number of voices. Each one has filters, envelopes, LFOs, morphing, modulation (Ring Modulation, Phase Modulation... the modulators can have any shape), resonance, etc. Each voice includes a very powerful waveform generator with up to 128 sine/nonsine harmonics. You can use Fourier synthesis or if you don't like it you can waveshaping/filtering of functions. This engine includes antialiasing. <br> 2) second (called "<b>SUBsynth"</b> or "<b>SUBnote"</b>) is a simpler engine who allows to make sounds by subtraction of harmonics of sounds from white noise <br> - Instruments can be orgainzed in kits, which alows you to make drum kits or layered(mixed) instruments; this makes possible to use more than one instrument for a single part. It is possible to choose what items from the kit should be processed by the Part's effects. <br> - <b>Effects</b>: Reverb, Echo, Chorus/Flange, Phaser,AlienWah (it's a kind of vocal morpher), Distorsion(Waveshaping) and EQ <br> - The effects can behave as <b>System Effects</b> or as <b>Insertion Effects</b>; this allows to use many effects at the same time. You can put any insertion effect on any part(or more insertion effects to same parts, if you like so) or you can put the insertion effect to Master output (very usefull if you use the EQ effect). Also, you can have instrument's effect (that is saved with the instrument). <br> - Filters up to <b>60dB/octave</b> (or more..); filters can be <b>analogic</b> (LPF,HPF, BPF,etc.), <b>formant</b>(advanced formant filters) and state variable (SVF) <br> - Envelopes can have ADSR (or ASR, etc..) modes or can be free modes (with any shape) <br> - Many settings has a "<b>randomness</b>" option, which you can make instruments that every time produces a subtle different sound; this produces a very pleasent effect (like analogue synths or natural instruments that can't produces exactly same sound twice). Because of this, even if it is digital synthesis, it sounds "warm". Listen the ogg vorbis demos from this page to hear this effect. <br> - the specifications can be easily chaged, so (for example) if you want to change the number of voices or parts to a higher value or to allow a higher number of effects at the same time, there is necessary to chage only a single value from the source file (<b>globals.h</b>) and to recompile the program <br> - Intuitive and easy to use <b>User Interface</b> <br><b> </b>-<b> Midi </b>support (supports many controllers) and (if you want) <b>JACK</b> support <br> - the program has <b>Virtual Keyboard</b> which let you to use it even if you don't have a real midi keyboard <br> - it is a <b>free</b> program, licensed under <b>version 2</b> of the <b>GNU General Public License</b> <br> - many other features.... It is is impossible to describe all this program's features in just a page <br> <p><a NAME="t02"></a><u><font size=+1>Screenshots</font></u> <br><a href="images/screenshot01.png"><img SRC="images/screenshot01_small.jpg" ALT="1" NOSAVE BORDER=1 height=190 width=158></a><a href="images/screenshot02.png"><img SRC="images/screenshot02_small.jpg" ALT="2" NOSAVE BORDER=1 height=190 width=250></a><a href="images/screenshot03.png"><img SRC="images/screenshot03_small.jpg" ALT="3" NOSAVE BORDER=1 height=190 width=253></a><a href="images/screenshot04.png"><img SRC="images/screenshot04_small.jpg" ALT="3" NOSAVE BORDER=1 height=190 width=236></a> <br> <p><a NAME="t03"></a><u><font size=+1>Audio demos (<a href="http://www.vorbis.com">OGGvorbis</a>):</font></u> <br> All these demos are recorded directly from the ZynAddSubFX without audio processing with another program (well, exeption cutting/ OGG Vorbis compressing). <br><font size=+1> </font><b><a href="demo01.ogg">Demo01.ogg(190k)</a><a href="demo02.ogg">Demo02.ogg(150k)</a></b> <b><a href="demo03.ogg">Demo03.ogg(105k)</a><a href="demo04.ogg">Demo04.ogg(190k)</a></b> <b><a href="demo05.ogg">Demo05.ogg(170k)</a><a href="demo06.ogg">Demo06.ogg(50k)</a></b> <a href="demo07.ogg">Demo07.ogg(80k)</a><b><a href="demo08.ogg">Demo08.ogg(65k)</a></b> <br> <a href="demo_src.tar.bz2">Source code some demos(7k)</a> <p><a NAME="t04"></a><u><font size=+1>News:</font></u> <br> <b>1.4.3</b> - added state variable filters and other types of analog filters <br> - small UI improvements <br> - bugfixes <br> <b>1.4.2</b> - added full-featured, advanced formant filters <br> - added mixer panel which lets you to see/change most important part settings, and shows a vu-meters for each part <br> - you can choose to process the instrument's kit items only with one Part effect (eg. you can make a instrument kit that contains a reverberated piano and flanged strings) <br> - enabled to launch more instances in Jack <br> - when is launched first time, it searches for <i>default.bnk_zyn</i> file into <i>/usr/share/zynaddsubfx</i> and <i>/usr/local/share/zynaddsubfx</i> directories (useful for binary packages for Linux distributions) <br> - bugfixes <br> <b>1.4.1</b> - added single mode to the instrument kit who alows only one item to be played same time <br> - added "Spectrum Adjust" to the ADsynth oscillator <br> - added "drum mode" to the instrument, where all midi keys are mapped to 12tET <br> - added a parameter to the "440Hz" which make the freq to varies a bit according to the key pressed (very usefull to toms and other drums) <br> - (for OSS audio out) if it is launched with root privileges, the synth will gain realtime scheduling priority <br> - bugfixes <br> <b>1.4.0 </b>- added instrument's own effect (effects that are loaded/saved with the instrument) <br> - FreeMode Envelopes: all Envelopes can have any shape (not only ADSR) <br> - Added instrument kits: It is possible to use more than one instruments into one part (used for layered synths or drum kits) <br> - Amplitude envelopes can be linear or logarithmic <br> - added interpolation on the Resonance user interface <br> - user interface improvements and cleanups of it's code <br> - initiated a mailing list to allow users to share patches for ZynAddSubFX. Please share your ZynAddSubFX patches and look at <a href="http://lists.sourceforge.net/mailman/listinfo/zynaddsubfx-user">http://lists.sourceforge.net/mailman/listinfo/zynaddsubfx-user</a> for more information about the mailing list. <br> <b>1.2.1</b> - improved filter interpolation <br> - bugfixes: wav header is written correctly,NRPN works correctly <br> - added master fine detune (-64..63 cents) and protection of the fundamental frequency agains damping (resonance) <br> - it is possible to swap effects(change the order) or copy them <br> - started to port it to <b>VST</b> (not functional, yet) <br> <b>1.2.0 </b> - <b>ZynAddSubFX is ported to Windows </b>;-) <br> - added internal Virtual Keyboard <br> - added Configuration window <br> - added frequency tracking to filter <br> - improved the OscilGen (harmonic filter, RMS normalisation, etc..) <br> - improved the recorder (uses the WAV file format and it starts only when a key is pressed) <br> - added filter interpolation if the frequency is changed very fast (it removes some annoying clicks) <br> - other improovements, bugfixes, speedups and cleanups of the code <br><b> 1.0.9 </b> - added keylimit to parts (first note priority) <br> - you can use multiple filter stages in order to make very steep filter rolloffs (eg. 48 dB/octave) <br> - ADsynth - added noise mode and you can make fixed frequencies; added the "Punch" parameter <br> - added an external program "Controller" which enables you to use the mouse for MIDI controllers <br> - other improvements and bugfixes <br> <b>1.0.8</b> - added mono mode and portamento <br> - added the EQ effect <br> - the output of the system effects can be sent to other system effects <br> - minor bugfixes and improovements <br> <b>1.0.7</b> - some settings (like samplerate) are set on runtime (by command line) <br> - added distorsion effect <br> - added controllers (over than a dozen) and NRPNs (with NRPNs you can change all effects parameters by MIDI) <br> - bugs removed and other improovements <br> <b>1.0.6</b> - Added <b><a href="http://jackit.sourceforge.net">JACK</a></b> support <br> - Minor improvements and bugfixes <br><b> 1.0.5 </b>-The bug that crashed ZynAddSubFX if you change some effect parameters, it is really removed (I forgot to update the file before upload) <br> - Other bugfixes and code clean-ups <br> - Added a Global Filter to SubSynth <br> - Added keyresponse limits to Part <br> - Added presets to Effects <br> - The fade is smaller on high frequecy content and larger on low frequecies; so you'll don't hear starting clicks on basses and audible fadeins on higher pitched sounds <br> - Added tunnings to Reverb: you can choose Random of Freeverb. Freeverb is written by Jezar at Dreampoint; I used the tunings from it. <br> <b>1.0.4 </b>- Impooved the microtonal settings (added key mapping to scale degree, the Master Keyshift and Part Keyshift keeps the intervals) <br> - It is possible to load <a href="http://www.xs4all.nl/~huygensf/scala">Scala</a> (<b>scl</b> and <b>kbm</b>) files <br> - It is possible to compile/use ZynAddSubFX without ALSA (see the readme.txt) <br> - The real detune (cents) is shown <br> - The interface looks better, and you have to move the mouse up/down (instead a circular movement) to change most of parameters <br> - Minor bugs removed <br> <b>1.0.3 </b>- small bugfixes: "Bypass Global Filter" from ADnoteUI dissapears sometimes ; removed the low amplitude noise produced by the reverb; if you "acconect" zynaddsubfx with aseqview no note was processed a long time <br> - added Notch Filter <br> - added the option to randomize the ressonance function <br> - added VU-Meter <br> - Change the Insertion effect modes behaves (it sounds a bit louder) <br> - Added to the project an external program called Spliter that splits the keyboard and alows you to play two instruments same time. You can use this program with ZynAddSubFX or any other synthesizer. <br> <b>1.0.2-1</b> - bug found and removed: sometimes when Master/Instrument is saved, the synth crashed <br> <b>1.0.2</b> - added instrument banks. This makes possible to chage instruments easy. <br> - the Band Pass Filter's output amplitude was increased <br> - some fixes to FFTwrapper. This removes the compilation errors related to drfftw.h (please see the docs from to the FFTwrapper.h if there still are compile errors <br> <b>1.0.1</b> - removed a bug that crashed ZynAddSubFX if you disable a part while notes are playing on that part <br> - added Resonance to harmonics (ADsynth). This makes possible to make very realistic sounds, and it use small CPU power. <br> - added Band Pass Filters <br> <b>1.0.0 </b>- first release (25 Sep. 2002) <p><a NAME="t05"></a><u><font size=+1>Requirements:</font></u> <br> - a fast computer (depend on what you do with the synth) <br> - <b>Linux</b> (tested with RedHat 7.2, 7.3) or <b>Windows</b> <br> - <a href="http://www.fltk.org">FLTK</a> 1.x.x (tested with fltk 1.1.0, 1.1.2 and others) <br> - <a href="http://www.fftw.org">FFTW</a> 2.x.x (tested with fftw 2.0.5, 2.1.3 and others) - necesary for Fast Fourier computations <br> - (recomanded but not required) a <b>MIDI keyboard</b> <br> - for <b>LINUX:</b> <br> - <a href="http://www.alsa-project.org">ALSA</a> 0.9.x (with OSS emulation if you don't use JACK) or OSS, for midi in <br> - (not required, but recomanded) <a href="http://jackit.sourceforge.net">JACK Audio Connection Kit</a> <br> - (not really required) <a href="http://www.portaudio.com">PortAudio</a> <br> -for <b>Windows</b> <br> - if you compile yourself, you need <a href="http://www.portaudio.com">PortAudio</a>; MinGW and Msys from <a href="http://www.mingw.org">here</a>. Also, you need the <a href="http://sources.redhat.com/pthreads-win32">pthreads (GC) for win32</a>. <p><a NAME="t06"></a><u><font size=+1>Copyright and License:</font></u> <br> <b>ZynAddSubFX</b> is <b>Copyright (c) 2002-2003 Nasca Octavian Paul</b> and may be freely distribuited under version 2 of the GNU General Public License (GNU GPL). The program is licensed <b>only under version 2 of the GNU GPL and <u>not under any other version of GNU GPL</u></b>. This program comes <b>WITH NO WARRANTY OF ANY KIND</b>. <br> All these pages including images, diagrams and sounds are <b>Copyright (c) 2002-2003 Nasca Octavian Paul</b> and may be freely distributed under GNU Free Documentation License (GFDL). <p><a NAME="t07"></a><u><font size=+1>Download:</font></u> <br> You can download the program from the project page at sourceforge <b><a href="http://sourceforge.net/projects/zynaddsubfx">http://sourceforge.net/projects/zynaddsubfx</a></b> <br> From the download page you can download the documentation tarball (the complete contents of all theese pages including ogg vorbis samples, etc.) and the <b>source code</b> of ZynAddSubFX. The Windows binaries are available from same page. <b>Please publish your instrumets/settings of ZynAddSubFX and Midi files that sounds good with it on the mailing list.</b> <br> There are available Linux binaries at <a href="http://www-ccrma.stanford.edu/planetccrma/software/soundapps.html">Planet CCRMA</a> or at <a href="http://rpmfind.net">RPMfind</a>. <p><a NAME="mailinglist"></a><u><font size=+1>Mailing list:</font></u> <br> ZynAddSubFX has a mailing list for it's users. Here you can share your ZynAddSubFX patches and midi files for ZynAddSubFX made by you. You can subscribe to it or find out more abuot it on <a href="http://lists.sourceforge.net/mailman/listinfo/zynaddsubfx-user">http://lists.sourceforge.net/mailman/listinfo/zynaddsubfx-user</a> <br> <p><a NAME="t08"></a><u><font size=+1>Compilation & Running:</font></u> <br> If you don't know how to compile, you can download the Windows binaries or the Linux binaries. Look on the "Download" section from this page. <br> First of all, you have to change the Makefile.inc, to choose some settings (like OS, AudioOut, etc.) <br> Run "make" in the source directory. Hope all goes right. Right now, there is no "make install". <br> After compilation run the "zynaddsubfx" file from the source directory. If you want to run zynaddsubfx without clicks, run with root priorities(this is not necesary when running with jack). If you use ALSA, don't forget to connect the midi output device (or program) with ZynAddSubFX (you can use "acconect" or "alsa-patch-bay" to do this). <br><b> Read "README.txt" and "compile.win32" from the source directory for more information.</b> <p><a NAME="t09"></a><u><font size=+1>Documentation:</font></u> <br> You can browse the documentation or download all for off-line browsing (see the "download" section): <blockquote><a href="doc_0.html">Introduction/Basics</a> <br><a href="doc_1.html">ZynAddSubFX components/structure</a> <br><a href="doc_2.html">ZynAddSubFX user interface</a> <br><a href="doc_3.html">Controllers</a></blockquote> <a NAME="t10"></a><u><font size=+1>Bugs:</font></u> <br> - The Controller and PitchWheel interface for OpenSoundSynstem (OSS) are not tested (please tell me if you can use midi controllers with OSS, only) <p><a NAME="t11"></a><u><font size=+1>ToDo list:</font></u> <p> - GStreamer port <br> - LFO frequencies quantisize for using them with Tempo + measure; the LFOs will be tuned with tempo; it is not very hard to do <br> - Implement the Pitch Modulation <br> - Implement an export function of instruments to Wav, .SF2, .XI ; this will make the synthesizer useful for slower computers <br> - more... <br> <p><a NAME="t12"></a><u><font size=+1>How to contribute:</font></u> <br> Please send me instruments/master settings to make a collection of instruments for putting on the program webpages.If you are programmer, you can contribute some code. If you can donate me some money, please do so; this way I can spend more time on ZynAddSubFX in the future. Please notice that you <b>don't have any obligation</b> to pay me for using this program (even for commercial purpuoses) on conditions of General Public License. <p><a NAME="credits"></a><u><font size=+2>Credits</font></u> <br> 1) Most of the analog filters are implementations of the formulas written by Robert Bristow-Johnson . You can get the formulas in the "Cookbook formulae for audio EQ biquad filter coefficents" from <a href="http://www.harmony-central.com/Computer/Programming/Audio-EQ-Cookbook.txt">www.harmony-central.com/Computer/Programming/Audio-EQ-Cookbook.txt</a> <br> 2) The Freeverb was written and published in public domain by Jezar at Dreampoint. I used the tunnings of Freeverb into my Reverb effect. <p><a NAME="t13"></a><u><font size=+1>About me and other programs that I wrote:</font></u> <br> I am a 22 (Aug. 2003) years boy from Romania who is interested in computers, music, etc. I graduated the studies at Mathematics-Computer science university from my town, Tg. Mures. <br> I start to program in 1992. About that year I started to be interested in music. The problem was that the keyboard that I wanted was much too expesive for me. This made me start studing how I can use the computer as synthesizer. So, I had written my first synthesizer. I won the third prize for it at programming national contest for it. After that, I have written a new synth "Paul's Sound's Designer", and put it on the net at <a href="http://www.harmony-central.com/Software/Dos/">www.harmony-central.com</a> . The sounds made by it were very good; many ideas from it I used in ZynAddSubFX as ADsynth. After that I started to write another synth based on filtering harmonics from white noise, but I didn't finished it. Anyway the ideas from it I called SUBsynth and I implemented in ZynAddSubFX. All these programs were written for DOS, because the computer I had was an 486. <br> In March 2002 I started to write ZynAddSubFX. I hope that this program will help many people to make music. <p>e_mail: <b><u>zynaddsubfx AT yahoo D0T com</u></b> <br> <br> <A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=62934&type=5" width="210" height="62" border="0" alt="SourceForge Logo"></A> </body> </html>