If you want to use this program to make music that is against God and Jesus (like HeavyMetal, NewAge,..) STOP and think that you'll be judged someday by God Himself for causing people to lose the way to Salvation and go to hell. This will happen, no matter if you'll use my program, else's program or anything else against Jesus's name.
Features of ZynAddSubFX:
- realtime synthesizer
- polyphonic (allows
playing more than one note at once), mutlitimbral (allows
playing more than one instrument at once) synth
- Microtonal capabilities
with any scale and any number of notes per octave (well... the no. of notes
per octave must be less than 128)
- 2 synthesiser engines:
1) first (called "ADsynth" or "ADnote") 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....) etc. Each voice includes a 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 of functions. This includes antialiasing.
2) second (called "SUBsynth" or "SUBnote") is a simpler engine
who allows to make sounds by subtraction of harmonics of sounds from white
noise
- Effects: Reverb,
Echo, Chorus/Flange, Phaser, and AlienWah effect
- The effects can behave
as System Effects or as Insertion Effects; this allows to
use many effects at the same time
- Many settings has a "randomness"
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.
- the specifications can
be easily chaged, so 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 (globals.h)
and to recompile the program
- Intuitive and easy to
use User Interface
- Midi support
- it is a free program,
licensed under version 2 of the GNU General Public License
- many more features....
It is is impossible to describe all this program in a half of page
Audio demos (OGGvorbis):
All these demos are recorded directly from the ZynAddSubFX without audio
processing with another program (well, exeption cutting/ OGG Vorbis compressing).
Demo01.ogg(250k)Demo02.ogg(150k)
Demo03.ogg(105k)Demo04.ogg(190k)Demo05.ogg(170k)Demo06.ogg(80k)Demo07.ogg(80k)
Source code
of all demos(7k)
News:
1.0.0 - first relase (25 Sep. 2002)
1.0.1 - removed a bug that crashed ZynAddSubFX
if you disable a part while notes are playing on that part
- added Resonance to harmonics (ADsynth). This makes possible to
make very realistic sounds, and it use small CPU power.
- added Band Pass Filters
Requirements:
- a fast computer
- Linux (tested with RedHat 7.2)
- FLTK 1.x.x (tested with fltk 1.1.0)
- FFTW 2.x.x (tested with fftw 2.0.5)
- necesary for Fast Fourier computations
- ALSA 0.9.x with OSS emulation
(it is possible to use only OSS with minor changes in the ZynAddSubFX sourcecode)
Copyright and License:
ZynAddSubFX
is Copyright (c) 2002 Nasca Octavian Paul and may be freely distribuited
under version 2 of the GNU General Public License (GNU GPL). The program
is licensed only under version 2 of the GNU GPL and not under any
other version of GNU GPL. This program comes WITH NO WARRANTY OF
ANY KIND.
All these
pages including images, diagrams and sounds are Copyright (c) 2002 Nasca
Octavian Paul and may be freely distributed under GNU Free Documentation
License (GFDL).
Download:
You can download the program from the project page at Sourceforge http://sourceforge.net/projects/zynaddsubfx
From the download page you can download the documentation tarball
(the complete contents of all theese pages including ogg vorbis samples,
etc.) and the source code of ZynAddSubFX.
Compilation & Running:
Run "make" in the source directory. Hope all goes right. Right now, there
is no "make install".
After compilation run the "zynaddsubfx" file from the source directory.
You may ecounter clicks because the program doesn't start at high priority(yet).
To give higher priority renice the all threads of the program to -19 or
-20. It may work OK if you'll renice only the thread before last thread.
I tried to run as root "nice -19 zynaddsubfx" but I ecounter some problems.
Hope I will make this more simple.
Documentation:
You can browse the documentation or download all for off-line
browsing (see the "download" section):
Introduction/Basics
ZynAddSubFX components/structure
ZynAddSubFX user interface
Bugs:
- Sometimes the name/comment of the scale is not
shown corectely after loading the scale from the file
ToDo list:
- Implement Midi Banks, so instruments will be stored
in banks; after this, implement Program Change midi messages
- LFO frequencies quantisize for using them with
Tempo + measure; the LFOs will be tuned with tempo; it is not very hard
to do
- Change most important settings(like SampleRate)
at runtime instead at compile time (globals.h)
- Start to implement Midi Controllers
- implement System Exclusive messages; but first
I have to make the posiblilty to use 7-bit encoding for parameters(there
is no need to change the format, I had put a "encoding" parameter in the
header of the files); of course use as Sysex ID 0x7d (educational/developement
use - any opensource program is anytime in developement ;-) )
- Make Part::partnotes static, so the poliphony
setting will represent the all poliphony and not part polipohony
- Implement the Pitch Modulation
- Set the number of computing buffers before sending
them to soundcard
- Add Reverb types (including Freeverb) to reverb;
now the reverb is randomly tuned
- System Effect 0 send to next System Effect 1,...
- Implement an export function of instruments to
Wav, .SF2, .XI ; this will make the synthesizer usefull for slower computers
- Make the synthesizer non-realtime; the biggest
problem is the timing
- Add the Karplus-Strong synthesis (of course an
modified algorithm that allows playing more slightly detuned strings for
1 note and other parameters)
- many more...
How to contribute:
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 don't have any obligation to pay
me for using this program (even for commercial purpuoses).
About me and other programs that I wrote:
I am a 21 years boy from Romania who is interested
in computers, music, etc. I am in the last year of studies at Mathematics-Computer
science university from my town, Tg. Mures.
I start to program in 1992. About that year I started
to be interested by music. The problem was that the keyboard that I wanted
it 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 www.harmony-central.com
. 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.
In March I started to write ZynAddSubFX. I hope
that this program will help many people to make music.