URL:
----
http://reduz.com.ar/legasynth

LegaSynth:
----------

LegaSynth is an old chip/synthethizer emulator. It currently uses the
ALSA sequencer API, but could easily be expanded to use others as
well.
LegaSynth supports OSS/JACK wave output drivers.
Current engines proovide very precise emulation of:

-Yamaha DX7 FM
-MOS6581 Sound Interface Device (or best known as the good old C64 SID
:)
-Yamaha YMH2K (Soundchip very popular in small Yamaha
keyboards/Arcades and the Sega GENESIS)

LegaSynth Programming Framework:
--------------------------------

LegaSynth is also a very powerful synthethizer programming framework,
where, with only a few lines of code you can have your own engine.
A simple demo engine and some documentation are aviable within the
source tarball.
The difference between LegaSynth and other programs such as Reaktor or
Bristol, is that here the engines have to be actually programmed by
hand :). So if you want to make an engine out of a ladspa instrument
or even try to port a DXi/VST plugin, you have the framework ready.
LegaSynth proovides you with:
-Midi Driver Handling.
-Midi Event Handling.
-Voice Parameters Handling: You dont need to parse/write specific midi
bank/controller/pitch/key code, legasynth takes care of all that.
-Smart "Voice" base class: Your voice is notified of noteon/noteoff,
and then asked to mix into a buffer, at mix time you retrieve the
frequency/volume and run your code. If you think the note finished its
job, just change the status to "dead"
-Voice Allocation: LegaSynth does all voice allocation/handling job.
-Bank/Patch/Drums Config: Simply let LegaSynth know about what
parameters does your voice use, and with simply that, LegaSynth will
be able to create midi patches, banks, drumsets, an interface to
configure patches, and ability of loading/saving them to disk.
-Effect Buffers: Voices can be Chorused/Reverbed, and will soon use
custom output plugins.
-Wave Output: LegaSynth supports OSS/ALSA and JACK drivers.


Porting/Library:
----------------
Legasynth currently runs on GNU/Linux and code is proovided to compile
it in Microsoft Windows(tm)
It is written in a portable fashion, the GUI engine is actually
separated from the actuall synthethizer engine, so are all the
specific audio/midi drivers.
For this reason, if anyone is interested in porting to other OSs,
please let me know, because it shouldnt be hard at all.
Also, the existing win32 code is far from optimal since it uses
directsound/winapi for midi, a DXi/VST plugin may be the best.

If interest exists, the synth code can easily be turned into a dynamic
library, for usage in other projects.

If you have any questions, or just want to contact me, you can use the
mail below, or just join #lad (linux audio development) on
irc.openprojects.net and find me by the handle "reduz".


Regards!

Juan Linietsky

ah, thanks to S�bastien M�trot for proposing the app name :)

Reply via email to