Posted
Dear Andre,
The voice-leading algorithm does much of the heavy lifting in Synfire and is one of its main strengths. It is great that the choices which notes are played can be customised in multiple ways, e.g., by selecting different symbols or customising the interpretation settings.
Nevertheless, there are times when the voice-leading algorithm struggles to cope. For example, when importing music that employs non-harmonic tones rather deliberately (e.g., Bach), or when using somewhat longer segments in an attempt to control the interval directions etc.
It would be helpful if users could support the voice-leading algorithm by explicitly marking individual tones in a segment that are allowed to be non-harmonic, i.e., to relax/disable the voice-leading for individual tones within a segment (for horizontal and vertical scale symbols).
Thanks!
Best,
Torsten
Tue, 2015-12-29 - 17:23 Permalink
You can bypass voice leading (VL) for any segment and allow chromatic alterations to individual symbols (use inspector).
Once you did so however, it will be harder to edit or replace Harmony, as it might corrupt this fragile modification in that it turns a "blue note" into a "yellow note". In other words: What is a great dissonance in one context, can become awfully wrong in another.
Since this question arises quite often, I'll post here what I've already replied to you by email:
For non-harmonic tones (outside the current scale), Synfire offers two approaches: Clean and dirty. The clean approach is to think of non-harmonic tones as a momentary detour into a different scale. The dirty approach is to disable voice leading and allow for chromatic alterations for a particular figure segment. Both have their advantages and disadvantages:
- The clean approach ensures all instruments play nicely together in a controlled way at any time, which makes a composition portable across different harmonic progressions. This comes at the price of looking for a suitable 'momentary scale'.
- The dirty approach provides a quick solution to enforce a melody the composer has in mind. However, it also sacrifices the portability of the melody in question: It may or may not work in a different harmonic context.
I'd say for trills and grace notes, the dirty approach is ok. If you have a specific melody in mind that doesn't fit in the current scale however, this is probably an indication that your harmony is too static to accomondate the idea in your head. If so, looking for a harmony that better matches the intended melodies is a far better solution than a quick fix with chromatic tones.
Always keep in mind: Harmony is there to keep all instruments cooperative.
It is true that voice leading (VL) puts some limitation on what can be imported and faithfully reconstructed without user interaction. If you are creating new music however, VL ensures your Figures don't turn into chaos, or bland noodling scales up and down.
A harmony change can be a short as 1/8 note. From a composer's view, the interesting question is which momentary chord/scale change do I need to achieve the melodies I have in mind?
Tue, 2015-12-29 - 19:25 Permalink
Thanks for your detailed response.
> You can bypass voice leading (VL) for any segment and allow chromatic alterations to individual symbols (use inspector).
As I wrote, I appreciate that Synfire already provides multiple ways of fine-tuning the voice-leading for segments, including disabling it. However, disabling it completely for a whole segment has obviously limitations.
Also, I am not talking here about non-harmonic tones *outside* the current horizontal/vertical scale, only notes outside the current chord. I am interested in maintaining Synfire's harmonic flexibility (i.e. that the figure in question should work in multiple harmonic contexts).
I assume that the voice-leading algorithm relies on contextual information such as note durations and melodic intervals (in particular steps vs. skips) to decide whether a certain note can be a contrapuntial dissonance (e.g., a passing tone, appogiatura, suspension, anticipation, auxiliary, cambiata or a more complex case). However, I assume that the voice-leading algorithm does not recognise all those standard cases, and besides there could also be less standard situations where users wish for a non-harmonic tone (outside the chord, but inside the scale).
I therefore suggested a new feature: that the voice-leading algorithm could be disabled for *individual* tones -- which would then of course need to be somehow marked. Once this is in place then at least for advanced users the current limitations of the voice-leading algorithm (e.g., with respect to long melodies as a single segment) should not exist anymore, as it can be manually customised.
The fact that such questions have been raised often indicates that there is a real need for an improvement here. An ideal solution might be to have a super-smart voice-leading algorithm, but that is rather hard to do and may still not be flexible enough for special cases. An implementationally more easy and fully flexible solution is to allow users instead to disable the voice-leading algorithm for individual tones, which is what I therefore suggest.
Would such a feature be difficult to add?
Thanks!
Torsten
Tue, 2015-12-29 - 21:13 Permalink
I see the use for attaching properties to individual note symbols. Be it articulations, or rendering hints like the one you suggest. Currently this is not possible and enhancing this is already on the agenda.
The implications of disabling VL for individual note symbols are not yet clear, though. This may or may not work. It's worth experimenting.
there could also be less standard situations where users wish for a non-harmonic tone (outside the chord, but inside the scale)
This is already the case. Non-harmonic for Synfire means outside the scale. All tones inside the scale are already used by VL. The scale is considered a super-chord. Even if you disable VL, it never goes outside the scale.