The MultiPatternSequenceEngine is a SequenceEngine that is similar to the PatternSequenceEngine, except that it supports an arbitrary number of voices instead of one.
The MultiPatternSequenceEngine randomly choses on of the provided "patternEngines" tags and uses all of its "patternEngine" tags to create patterns. These patterns will be used to create a multi-voice sequence. The patterns don't need to have the same number of ticks.
The wildcard character "+" can be used to create a transition pitch between the current chord and the next chord. This pitch is always based on chord offset 0 of both chords.
Configuration
Tag | Attribute | Type | # | Example | Description |
---|---|---|---|---|---|
patternRestartMode | - | string | 0-1 | chordSection | The restart mode to use for all patterns in addition to restarting them at the end. Allowed values are "chord" (restart patterns at each new chord), "chordSection" (restart patterns at each new chord section), "song" (never restart patterns). Defaults to "song" for backwards compatibility. Available since version 0.9. |
normalizeChords | - | boolean | 0-1 | false | Specifies that chords should be normalized. Defaults to true. Available since version 0.3. |
patternEngines | - | - | 1-n | - | Groups the patternEngine tags. |
patternEngines/patternEngine | class | class | 1 | StringPatternEngine | The name of the PatternEngine implementation to use. |
patternEngines/patternEngine | - | - | 1-n | - | The configuration of the PatternEngine implementation. |
Configuration example
<sequenceEngine class="MultiPatternSequenceEngine">
<patternEngines>
<patternEngine class="StringPatternEngine">
<string>-,-,-,-,5,-,-,-,-,-,-,-,5,-,-,-</string>
</patternEngine>
<patternEngine class="StringPatternEngine">
<string>-,-,-,-,4,-,-,-,-,-,-,-,4,-,-,-</string>
</patternEngine>
<patternEngine class="StringPatternEngine">
<string>-,-,-,-,3,-,-,-,-,-,-,-,3,-,-,-</string>
</patternEngine>
<patternEngine class="StringPatternEngine">
<string>0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,+,-</string>
</patternEngine>
</patternEngines>
</sequenceEngine>
Add new comment