Hi!
Yes, all of this is to be intended as post 0.9.4...
Krzysztof Foltman wrote:
> Salvatore Di Pietro wrote:
>
>> Do you mean to use as total envelope time the length of the longest
>> sample in the layers an instrument has?
>> IMHO I think it would be THE way :)
>
> Well, I'd say just a max for every knob. Not for the sum of knobs. If
> the envelope is longer than the sample, so be it.
But doesn't decay time lose meaning this way?
> I don't know the implementation of
>> the ADSR H2 uses, but I think that the sum of the attack,decay and
>> release time should equal the sample length time, and each knob should
>> "steal" time from the other two, if cranked to the max.
>
> That might be a recipe for headaches. As in: increase decay and the
> attack time changes unpredictably. Or increase decay and the other knobs
> start moving (should the extra time for release be taken away from
> attack first? or maybe decay first?).
I agree, it could be, unless there is some predictable stealing policy,
which I didn't specify before.
The idea is the same of automation curves segments connected by "knots"
that you drag around. Dragging a knot moves only the two lines that
connect it with his neighbors. In this case there would be three knots:
(best achieved with a visual envelope editor, perhaps substituting the
knobs, and having a superimposed sample view beneath it, in order to
have a visual view of where, in the sample, the various parts of the
envelope are working, like in the sample editor of the samplefun branch,
but tucked into the instrument editor)
k1
/ \
/ \
/ k2____
/ k3
/ \
/ \
/ \
| A | D | S | R |
I thought about adding sustain time as well, and doing the following:
Decreasing (increasing) Attack time should increase (decrease) Decay
start time, moving k1 to the left(right).
Decreasing (increasing) Decay time should increase (decrease) Sustain
start time, moving k2 to the left(right).
Decreasing (increasing) Sustain time should increase (decrease) Release
start time, moving k3 to the left(right).
If a note_off arrives, the envelope modulation jumps to Release stage,
fading out the sample.
Otherwise, Release stage comes after Sustain time elapsed.
> Also, the sustain time is variable
> (depends on note length), so you can't predict the total envelope time
> anyway, it's different for each note.
With this envelope mode you would not need to predict it. If a note_off
arrives -> Release. Otherwise, it follows Sustain time, then Release occurs.
>
> No other synth/sampler does that, and for a good reason.
I agree about a synth, but in the samplefun branch you can do this in
the sample editor, with the volume envelope...
Why not doing this in the instrument editor just for ADSR?
Do you think it has no use?
>> A cool thing would be providing also a little graphical representation
>> (not necessarily editable, you can do this in the sample editor) of the
>> envelope shape, in addition to knobs, and an envelope on/off button, to
>> turn off ADSR shaping, if needed.
>
> Those are nice ideas, yes. And possibly easy to implement. But still I
> wouldn't advise delaying 0.9.4 to implement them.
>
> More possible ideas for envelopes (not for 0.9.4, you can safely ignore
> them completely):
>
> - Hold phase (fixed level=100% between Attack and Decay), to allow for
> "gated" style sound (like full volume for 1s then rapid cutoff)
> - "Fade" phase to replace Sustain (ADSTR envelopes like in popular
> hardware VA synths)
Nice.
> On the other hand, the sample_fun stuff wolke is working on is much more
> flexible and uses graphical representation for everything. I don't know
> if it can be applied on instrument level, though.
Well, something like that, but just for ADSR edit.
>> Another thing that buzzes in my head: how about having five knobs in the
>> envelope modifier? Attack time, decay time ,sustain time, sustain level,
>> decay time.
>
> The sustain time is dependent on note length (especially when Hydrogen
> is MIDI-controlled). Or you want to enforce a max (or, better, min)
> sustain time? Or you mean something else?
Exactly. A min release time, if no note_off occurs, or H2 is set to
ignore them. With an envelope time set by sample length, you are always
sure to be able to use all the envelope.
Ciao!
--
salvuz
POST FATA RESVRGO
Linux registered user #291700 | machine #174619
get counted on ---> http://counter.li.org/ <---
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel