Is there perhaps a way to automatically avoid octaves within chords? I have some complex harmonies (with up to 6 tones, e.g., C11). I would like certain chord figures (say, chords with 4 tones) play only different tones out of the set of available tones of the current harmony.
These chord figures use some open voicing (weite Lage). Depending on the underlying harmony or chord transposition, I currently sometimes have such 4-tone chords playing only 2 different tones (because there are 2 octaves involved).
I am aware of the Complete Chord figure setting, but I cannot use that for my purposes here. I am writing a piece for live acoustic instruments and thus have to take instrumental possibilities into acount (e.g., an accordion player can only play at most 4 tones with the left hand). The Complete Chord figure would add tones resulting in chords with more tones than the figure has symbols.
I also tried manually editing the "pitch" of individual symbols and double-checking then the result in the output parameter, but results are very unpredictable it seems. For example, moving a single symbol *up* within an otherwised unchanged chord can result in its pitch moving *down* in the output parameter. Also, the same chord figure behaves very different for different harmonies, and so some chord that may avoid octaves for one harmony may contain very different intervals with another harmony.
Any other trick perhaps that disallows octaves within a single chord figure?
In that context, is it perhaps possible to set a preference that simultaneous figures (e.g., from different tracks) use different chord tones so that together they may complement each other to form full(er) chords?
Thu, 2022-12-29 - 19:15 Permalink
Update: I found that writing chords as seemingly closed voicing figure with an open voicing figure setting helps. (Also toggling the voicing setting of the harmonies). While I don't have exact control over the intervals this way, I understand that this is in line with the Synfire overall philosophy and fine by me. I can always to further manual editing later outside of Synfire, but Synfire gets me a good first sketch.
Thanks for such features!
Thu, 2022-12-29 - 19:43 Permalink
A generic vertical chord segment may repeat notes in the next octave, that's true.
For complex chords you can use polytonality, i.e. split a progression into simpler subsets of its chords, and assign those layers to diferrent instruments.
Maximum control over voicing is almost impossible when at the same time harmonic context can be replaced at will. There is indeed a tradeoff between prototyping vs. manual edits. If you know your harmony has settled, you can transpose the symbols to meet your preference.
Thu, 2022-12-29 - 22:00 Permalink
Thanks for your feedback. I once played around a bit with Synfire's layered harmonies/polytonality. I appreciate that this feature exists for complex harmonic situations, but so far I did not manage to get far with it.
For example, I found it rather difficult to have some overview of all the layers at once. I could only get one layer to show in the progression tab at a time, and only the base layer in the structure tab. Thinking in terms of multiple harmony layers is already tricky in itself, but if instead of reading those harmonies one also has to remember them, then that is a bit too fiddly for me so far. Perhaps I missed something there.
Anyway, I understand and agree that there has to be a tradeoff between prototyping vs. manual edits. Synfire already supports a lot of controls for customisation of the rendering, but I understand that it cannot cater for every possible compositional situation, as composers would come up with all sorts of special requirements even for individual pieces or sections. The only solution there would be to allow users to extend the system, e.g., with user-defined constraints, but that would go against the actual spirit of Synfire as a system that tries to be reasonably easy to use despite all its features and customisation options.
So, no worries and thanks for what Synfire already offers.