Passing data from Chord-seq to an OMChroma synthesis class (as add-1).
The chord-seq's data must be converted in order to be used with Csound.
The conversions requested are the following:
In the example A observe in the sound object the amplitude of the chords rendered by add-1.
The first chord has 4 notes and an amplitude of 0 dB.
The second chord has 2 notes and an amplitude of about 1/2 of the first one.
The third chord has only 1 note and an amplitude of about 1/4 of the first one.
Although it is difficult to exactly compute the amount (as it depends on the frequency and phase of each note), the amplitude of 4 simultaneous notes is higher than that of 2 notes, and therefore a sort of amplitude compensation might be needed.
In the example B the list of amplitudes (1 1 1 1 2 2 4) balances the density of the chords.
The way to balance amplitudes shown above does not refer to loudness (perceptual amplitude), but only to the signal's highest value. Compensating loudnesses of complex signals is a very tricky process, which will not be explained in this documentation.
The example C gives a demonstration of the usage of polyphony without chord's density compensation.