GrandOrgue / GoOdf

A tool for creating/editing organ definition files for GrandOrgue
GNU General Public License v3.0
12 stars 2 forks source link

Derivative Stops sound correct only in equal temperament #62

Closed Bumblebee001 closed 1 year ago

Bumblebee001 commented 1 year ago

I am trying to create an extended set. In equal temperament pitch tuning works well. Change temperament, and, irrespective of the Harmonic number chosen, whether to conform to the original or to the derivative stop, the sound goes back to the original stop that the new one was supposed to be derived from.

Help!

Mark

larspalo commented 1 year ago

It's not possible that the overall pitch behaviour of "Equal temperament" would differ from any other selected temperament except for the "Original temperament".

However, if I create three stops with exactly the same samples (of 8' pitch with correct embedded pitch info). One I designate as a 16' stop and add PitchTuning=-1200 and HarmonicNumber=4 to the stop/rank level. One I leave as original 8'. The last I designate as a 4' stop and add PitchTuning=1200 and HarmonicNumber=16 to the stop/rank level. No matter if I select Original temperament or any other temperament, the different stops will always play as the correct pitched stop it is.

If it doesn't do that for you, then I'd believe that something is wrong in your combined odf/cmb/GO setup.

larspalo commented 1 year ago

Here is an example of the three different methods to re-use samples at different pitches in GrandOrgue, done just for academic purposes. The borrowing by REF or by rank referencing is giving very similar results (no surprise as the rank referencing was created as a newer way to do the same thing as the old REF borrowing was doing...) and the PitchTuning/HarmonicNumber transposition gives a slightly different tonal effect. To compensate for the differences in tonal effects, some voicing with gain has been done to even things out. Changing the interpolation method in GO also affects the sound slightly.

TestTranspose.zip

Incidentally, in the process, I've discovered another bug in GOODF in how the rank referencing first accessible key range was calculated... I'll fix that eventually.

larspalo commented 1 year ago

Another method could be to use octave couplers in a judicious way.

Also, I should perhaps mention that as an alternative it would certainly be possible to make just one rank from the three in the sample set above (with 12 + 61 + 12 = 85 pipes) and reference to parts of it, but I thought that it would be clearer if I separated them...

Bumblebee001 commented 1 year ago

Thanks Lars.