Mon Jun 28, 2021 4:38 am
Hello Christian,
I've moved your topic here, since it relates to organ definition (ODF) programming. Briefly (since we only officially provide support for editing ODFs to major sample set producers):
Although Hauptwerk wasn't designed for tremulants to be implemented in that way, I would suggest using a Tremulant object, together with a corresponding TremulantWaveform object, as the oscillator, specifying TremulantWaveform.PitchOutputContinuousControlID to send the output of the oscillator wherever you desire it. Tremulant/TremulantWaveforms are specifically designed to be accurate waveform generators/oscillators, allowing any shape of waveform to be used (even complex shapes). You would then simply create one pair of single-cycle sample files with the desired wave shape(s) to specify for its TremulantWaveform.PitchAndFundamentalWaveformSampleID and TremulantWaveform.ThirdHarmonicWaveformSampleID. Since you would only actually be using the pitch waveform (by sending it to a ContinuousControl) the amplitude and harmonic content waveforms could be all-zeros.
Although I haven't specifically tested it, I think that should achieve what you want, and it has the significant benefits of allowing more realistic shapes than a pure sine, whilst also taking advantage of Hauptwerk's native tremulant model's ability to ramp-up/down the tremulant depths and speeds when starting/stopping.
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.