List<Pitch> get pitches { if (_pitches == null) { _pitches = intervals.map((interval) => root + interval).toList(); } return _pitches!; }