I have decided to put together a release and free Chionic to the world.
Chionic is by far THE most advanced sampler that you can find for
GNU/Linux, *BSD, Etc. It is not only extremely powerful, but t has
everything configurable via UI.
You can obtain the baby here:
http://www.reduz.com.ar/chionic/
Lengthy, Lenghty, Insane List of features:
1.2.1 General
* OSS and JACK Support (sorry, no time to make ALSA)
* Integrated Virtual Keyboard for testing samples and patches
(automatically detecting the mode in which you are).
* Spectrum display for the output sound.
* Voice Counter, so you can always see how many voices is Choinic
processing.
* Customizable Colors for some widgets.
* Customizable keybindings for many widgets
* Sliders all show the respective values, and offer small button so
you can input a value by yourself, with the range and all presented.
* Spinboxes go to top and bottom if you right click on the arrows.
* Fully Functional ``Settings'' Menu.. no need to go like..
``chionic -help'', tweak everything from the UI.
1.2.2 Samples
* No, you dont control Samples directly, you have to make instruments.
* Up to 1000 samples per bank
* Loading of stereo/quadrophonic/whathever samples in as many slots
as possible, or just merge into a monophonic sample, all upon import
* Supports every single sample format thru libsndfile
* Built in extremely complete sample editor with extensible plugins.
This sample editor is meant for tweaking everything sample related:
1. Loop Begin/ Loop End.
2. Tuning, Autotuner.
3. Realtime centered zoom, from full view to individual samples
using a slider.
4. Play Position Display! It displays the playback pointer
INSIDE the sample, for every voice being played.
* Sample Looping at any point, plus ping-pong (bidirectional) looping
* Samples are stored in 16 bits normalized, then converted to 32bits
floating point for mixing (not really any audible quality loss, since
it's CD quality).
* Samples are stored in a pool and become loaded on demand, when an
instrument is using them or you are editing them. They are automatically
freed when not using anymore.
* If you permorm modifications to a sample in realtime, it will
remain in memory until you save it, to avoid any kind of mistake.
* Sample management is easy, with an interface full of indicators
for the usage/refcount of every single sample.
* Extremely fast resampler using selectable (cubic, linear, cosine
or raw) interpolation method, which uses fixed point increment sections.
You can have over 512 simultaneous voices with very little CPU usage.
(yup!) on a 1Gz machine..
* The resampler also performs volume ramping and filtering, so the
quality is perfect.
* Integrated declicker, which will smooth out samples that dont
start or end at DC. The result is a clean sound no matter if the samples
have wrong DC. It also declicks samples that are being killed.
* Experimental Sample mip-mapping feature.. in a way, it's the best
upsampling interpolation you'd ever hear... in other way, it works like
shit with looped samples.. as I need to refigure out how to make them..
so It's off by default.
1.2.3 Channels/Buffers/Buses/Sends/Inserts
* Integrated Buffer Routing System, for assigning inserts and sends
to your mix.
* Integrated set of effects and presets for insert (Chorus, Reverb,
Stereo FX, Stereo Echo, Band Limiter, 6,8,10,20,30 bands graphical EQs,
OA-Pitch Shifter as internal plugins, plus LADSPA is supported too).
* Sends can be assigned to midi controllers.
* Very Smart algorithm for detecting inactivity of mixing channel
buffers, so it can turn off inserts automatically when they are not
used, for both internal and LADSPA inserts.
* Buffer counter, so you can see how well the previous feature works :)
* PANIC!!! button, to turn off all the voices.
1.2.4 Instruments
* Unlimited Banks of 128 instruments for Patches
* Patches are made by using samples from the pool
* When a Patch is loaded, the samples are loaded too
* Adjustable Velocity Sensitivity Curve
* Pitch/Pan Scale and Center Separation, to be able to make
piano-like instruments.. where the bass goes to the left, and treble to
the right of the pan.
* Inserts PER PATCH. Besides the other inserts, you can make an
effect chain with the same internal and LADSPA effects that are bind to
a Patch. Also, if you modify any parameter, it will be modified in
realtime in all the channels where this Patch has been assigned too.
* Up to 4 ``tones'' (sub voices) per Patch, each tone has:
1.2.5 Tones
* Velocity Range (from which to which velocity does the tone accept
notes)
* Sensibility Curve Editing
* Note Scaling, Coarse/Fine Tuning, Pan, Start Delay
* Filters: Resonant LPF,HPF,BPF,BRF with Frequency Tracking for
Cutoff, and Volume->Cutoff Sensibility in both ways.
* Widget to edit the filter shape (cutoff/resonance) by just drawing
on the Frequency Domain curve.
* Randomness factor in all of the above parameters, for a more
natural sound.
* Freeform Envelopes (just draw a polygon) with Loop and Sustain
Loops (which can take any 2 different points, so you can loop with any
shape you want). The Display has Auto-Zooming and guides. Envelopes also
display a one or more position guides which represent the place the
envelopes are being played, in realtime!
* LFOs (wich can be sync-ed or not) with sine, saw, square and noise
waves, and editable Delay, Rate, Depth and Phase.
* Envelopes and LFO for: Volume, Pan, Pitch, Cutoff and Resonance.
Use all together if you want.
* Sample/Note Table, to assign to EACH note, EACH different sample
in the sample pool.
* Of course, helper buttons for the above :) so it doesnt take a
much time to do.
1.2.6 MIDI
* ALSA_seq MIDI Input driver, can open up to FOUR ports, so you
achieve 64 input channels. All channels are mapped into the buffers
screen, and due to the optimized nature of Chionic, you can use all 64
of them without any slowdown.
* Midi Jitter Correction. This means that you dont need to run JACK
at low latency in order to avoid Jitter.. even at 16k buffer sizes, the
midi sent to Chionic will sound fine, with no jitter. This was achieved
using a very clever and complex hack, which shouldnt be there because
JACK should support midi in the first place :)
* Due to the wonderful nature of Linux, you have to make sure that
nothing is stressing the /proc filesystem, or else the above feaure will
not work correctly! Dont run any 'top' operations and BE CAREFUL with
KSysguardd. Failure to comply with this will result in the midi sensing
thread to improperly timestamp incoming events.. heck if I know why.
* On the bright side, and if nothing of the sort is being done, you
can run jack and chionic even as normal user and it's going to work fine.
****************************
Sad News.
I'm over with the development of chionic, on it's first release. I have
to sadly accept that as much as it works the way I want, I cant
communicate my sequencer to chionic in the way I need (because Jackd is
too poor to do it the proper way).
So in short, anyone who is interested in taking care of chionic for me
and continuing development is MORE THAN WELCOME. I will gladly offer
assistance on it's development. Also, choinic and it's Core/UI are
separated at code level, so if you want to make a GTK app, or port it to
Windows, it's not a hard task. Just let me know, so...
CHIONIC IS DEAD UNTIL SOMEONE DECIDES TO PICK IT UP AND CONTINUE
DEVELOPMENT (or until Jackd matures enough.. yeah right :)