Support `lotimer` / `hitimer`
pgcrowe opened this issue · 4 comments
Adding support for lotimer / hitimer is necessary to support sample sets containing two or more acoustical release samples on each sustain (EG: short, medium, and long).
With existing Kontakt and GrandOrgue acoustical multirelease sample sets, each release sample is handled with a counter that tracks the held length of each prior sustain sample. Short, mid, and long releases are triggered by short, mid, and long sustain lengths, as a way to account for release characteristics as they vary with different sustain lengths. Kontakt calls this their Release Trigger Counter, which is part of their release trigger system script.
For example, in GrandOrgue, the code for a single note might look like the following:
// Sustain Sample for Note 1
Pipe001=.\Samples\036-C.wav
// Number of Release Samples for Note 1
Pipe001ReleaseCount=2
// Release Sample 1 for Note 1
Pipe001Release001=.\Samples\rel99999\036-C.wav
// Triggers Release 1 if prior sustain length is greater than the lowest value of subsequent releases.
Pipe001Release001MaxKeyPressTime=-1
// Release Sample 2 for Note 1
Pipe001Release002=.\Samples\rel00750\036-C.wav
// Triggers Release 2 if prior sustain length is 750 MS or less.
Pipe001Release001MaxKeyPressTime=750
// Release Sample 3 for Note 1
Pipe001Release003=.\Samples\rel00500\036-C.wav
// Triggers Release 3 when prior sustain length is 500 MS or less.
Pipe001Release003MaxKeyPressTime=500
Many thanks for your consideration and time!
Hello! Maybe this issue is already solved by #1186, though IDK if the implementation is the same as you expect, it's already in the latest release.
Thank you, that's wonderful news!! I look forward to testing it out! From looking at the example code on the lotimer / hitimer definition page, it "looks" like this implementation might work for triggering the appropriate release regions. I'll play around with it and report back.
Closing, reopen if you find any problem.
Closing, reopen if you find any problem.
Hi Redtide!
I finally got around to testing functionality of hitimer / lotimer
on triggering release samples. While hitimer / lotimer
works as predicted on trigger=attack
regions, unfortunately, it does not function at all for trigger=release
regions., resulting in both release samples sounding at the same time. Below is some of the example code I used for testing:
<group>
lokey=60 hikey=72
ampeg_release=0.1
amp_veltrack=0
<region> // Sustain region
group=1
sample=samples/sustain.wav
trigger=attack
lokey=60
hikey=72
ampeg_release=0.1 // Release fade, overlaps with short and long release regions
<region> // Short release region
group=1
sample=samples/short_release.wav
trigger=release
lokey=60
hikey=72
lotimer=0
hitimer=0.499 // Adjusted to avoid overlap at 500ms
ampeg_attack=0.1 // Attack time for crossfading
ampeg_decay=0.3 // Gradual decay to smoothly transition out
<region> // Long release region
group=1
sample=samples/short_release.wav
trigger=release
lokey=60
hikey=72
lotimer=0.500 // Starts right after the short release timer ends
ampeg_attack=0.1 // Attack time for crossfading
ampeg_decay=0.3 // Gradual decay to smoothly transition out
Thanks for looking into this!
Pat