[linux-audio-dev] Chionic 1.0.0 Final (Sampler) Released!!

Juan Linietsky coding at reduz.com.ar
Sat Apr 9 08:37:56 UTC 2005


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 :)




More information about the Linux-audio-dev mailing list