- Implement DCA (Dissonant Counterpoint Algorithm) to favor voice changes - Track actual pitch changes in voice_stay_count (not graph indices) - Add CLI weight arguments: --weight-melodic, --weight-contrary-motion, --weight-hamiltonian, --weight-dca, --weight-target-range - DCA probability = (sum of stay_counts for changing voices) / (sum of all) - Test with --weight-dca 100 shows frequent voice changes |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| chord.py | ||
| graph.py | ||
| harmonic_space.py | ||
| io.py | ||
| pitch.py | ||