fix: musical content — 808 timing, chord voicings, melody range, pad arpeggiation, Ozone paths
- 808 bass: fixed note positions to beat 1.0 per bar (i-iv-i-V, 1.5 beat duration) - Chords: 4-note 7th voicings (Am7, F7, C7, G7) instead of 2-note intervals - Lead: constrained to 8-semitone range, pentatonic scale - Pad: arpeggiated eighth-notes instead of static 2-note drones - Ozone 12: fixed .vst3 filename paths in Calibrator - Delta-encoding: fixed cumulative timing drift in _build_midi_source() with CC events 298/298 tests pass.
This commit is contained in:
@@ -77,9 +77,10 @@ def _resolve_chord_tones(
|
||||
intervals = [0, 4, 7]
|
||||
|
||||
tones: set[int] = set()
|
||||
for oct_shift in (-12, 0, 12):
|
||||
for iv in intervals:
|
||||
tones.add(root + iv + oct_shift)
|
||||
# Constrain to single octave (oct_shift=0 only) to keep melodies coherent.
|
||||
# Expanding to ±1 octave creates 2+ octave jumps in the arch contour.
|
||||
for iv in intervals:
|
||||
tones.add(root + iv)
|
||||
return tones
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user