method `ConcreteScale.deriveByDegree` not working for `scale.MelodicMinorScale` for some degrees
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 50/100
Línea de trabajo
Start by running the reproduction in the issue: scale.MelodicMinorScale('c').deriveByDegree(6, 'c'), which raises IntervalNetworkException: could not find any edges. The failure is in the interval network that ConcreteScale.deriveByDegree builds, so read the music21 scale module's intervalNetwork code and the melodic minor definition. Done means degrees 6 and 7 return pitches without raising, and the existing scale tests still pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
music21 version
9.1.0
Problem summary
The method ConcreteScale.deriveByDegree is not working for scale.MelodicMinorScale for some degrees (e.g. 6, and 7).
Steps to reproduce
>>> scale.MelodicMinorScale('c').deriveByDegree(6, 'c')
...
music21.scale.intervalNetwork.IntervalNetworkException: could not find any edges
All other scales and degrees seem to work as expected.
for s in [
scale.MelodicMinorScale,
scale.MinorScale,
scale.MajorScale,
scale.HarmonicMinorScale,
scale.OctatonicScale,
scale.WholeToneScale,
scale.ChromaticScale,
]:
sc = s('c')
print(sc.name)
print([p.name for p in sc.pitches])
for i in range(1, len(sc.pitches)):
try:
derived1 = sc.deriveByDegree(i, "c")
pitches = [p.name for p in derived1.pitches]
except Exception as e:
pitches = f"Exception: {e}"
print(i, pitches)
Expected vs. actual behavior
Actual behaviour: see output on C melodic minor for degrees 6 and 7.
C melodic minor
['C', 'D', 'E-', 'F', 'G', 'A', 'B', 'C']
1 ['C', 'D', 'E-', 'F', 'G', 'A', 'B', 'C']
2 ['B-', 'C', 'D-', 'E-', 'F', 'G', 'A', 'B-']
3 ['A', 'B', 'C', 'D', 'E', 'F#', 'G#', 'A']
4 ['G', 'A', 'B-', 'C', 'D', 'E', 'F#', 'G']
5 ['F', 'G', 'A-', 'B-', 'C', 'D', 'E', 'F']
6 Exception: could not find any edges
7 Exception: could not find any edges
C minor
['C', 'D', 'E-', 'F', 'G', 'A-', 'B-', 'C']
1 ['C', 'D', 'E-', 'F', 'G', 'A-', 'B-', 'C']
2 ['B-', 'C', 'D-', 'E-', 'F', 'G-', 'A-', 'B-']
3 ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'A']
4 ['G', 'A', 'B-', 'C', 'D', 'E-', 'F', 'G']
5 ['F', 'G', 'A-', 'B-', 'C', 'D-', 'E-', 'F']
6 ['E', 'F#', 'G', 'A', 'B', 'C', 'D', 'E']
7 ['D', 'E', 'F', 'G', 'A', 'B-', 'C', 'D']
C major
['C', 'D', 'E', 'F', 'G', 'A', 'B', 'C']
1 ['C', 'D', 'E', 'F', 'G', 'A', 'B', 'C']
2 ['B-', 'C', 'D', 'E-', 'F', 'G', 'A', 'B-']
3 ['A-', 'B-', 'C', 'D-', 'E-', 'F', 'G', 'A-']
4 ['G', 'A', 'B', 'C', 'D', 'E', 'F#', 'G']
5 ['F', 'G', 'A', 'B-', 'C', 'D', 'E', 'F']
6 ['E-', 'F', 'G', 'A-', 'B-', 'C', 'D', 'E-']
7 ['D-', 'E-', 'F', 'G-', 'A-', 'B-', 'C', 'D-']
C harmonic minor
['C', 'D', 'E-', 'F', 'G', 'A-', 'B', 'C']
1 ['C', 'D', 'E-', 'F', 'G', 'A-', 'B', 'C']
2 ['B-', 'C', 'D-', 'E-', 'F', 'G-', 'A', 'B-']
3 ['A', 'B', 'C', 'D', 'E', 'F', 'G#', 'A']
4 ['G', 'A', 'B-', 'C', 'D', 'E-', 'F#', 'G']
5 ['F', 'G', 'A-', 'B-', 'C', 'D-', 'E', 'F']
6 ['E', 'F#', 'G', 'A', 'B', 'C', 'D#', 'E']
7 ['D-', 'E-', 'F-', 'G-', 'A-', 'B--', 'C', 'D-']
C Octatonic
['C', 'D', 'E-', 'F', 'G-', 'A-', 'A', 'B', 'C']
1 ['C', 'D', 'E-', 'F', 'G-', 'A-', 'A', 'B', 'C']
2 ['B-', 'C', 'D-', 'E-', 'F-', 'G-', 'G', 'A', 'B-']
3 ['A', 'B', 'C', 'D', 'E-', 'F', 'G-', 'A-', 'A']
4 ['G', 'A', 'B-', 'C', 'D-', 'E-', 'F-', 'G-', 'G']
5 ['G-', 'A-', 'A', 'B', 'C', 'D', 'E-', 'F', 'G-']
6 ['F-', 'G-', 'G', 'A', 'B-', 'C', 'D-', 'E-', 'F-']
7 ['E-', 'F', 'G-', 'A-', 'A', 'B', 'C', 'D', 'E-']
8 ['D-', 'E-', 'F-', 'G-', 'G', 'A', 'B-', 'C', 'D-']
C Whole tone
['C', 'D', 'E', 'F#', 'G#', 'A#', 'B#']
1 ['C', 'D', 'E', 'F#', 'G#', 'A#', 'B#']
2 ['B-', 'C', 'D', 'E', 'F#', 'G#', 'A#']
3 ['A-', 'B-', 'C', 'D', 'E', 'F#', 'G#']
4 ['G-', 'A-', 'B-', 'C', 'D', 'E', 'F#']
5 ['F-', 'G-', 'A-', 'B-', 'C', 'D', 'E']
6 ['D', 'E', 'F#', 'G#', 'A#', 'B#', 'D']
C Chromatic
['C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C']
1 ['C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C']
2 ['B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B']
3 ['B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-']
4 ['A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A']
5 ['G#', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-']
6 ['G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#', 'G']
7 ['F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F', 'F#']
8 ['F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E', 'F']
9 ['E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-', 'E']
10 ['E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D', 'E-']
11 ['D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#', 'D']
12 ['C#', 'D', 'E-', 'E', 'F', 'F#', 'G', 'A-', 'A', 'B-', 'B', 'C', 'C#']
- Lenguaje dominante
- Python
- Estrellas
- 2.6k
- Forks
- 459
- Merge medio
- 1 d 7 h
- PR fusionados (30 d)
- 40
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cuthbertLab/music21
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cuthbertLab/music21#2084 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cuthbertLab/music21#2082 ·
Los mantenedores suelen responder en 1 día
-
`TypeError` in `ChordReducer.run()` on multi-part `stream.Score` without instrument `partId`sAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
cuthbertLab/music21#2074 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
cuthbertLab/music21#2055 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Slur bezier-x/y from start element gets overwritten by stop element's valuesQuizá libre de nuevo @bingliscodes la tomó hace 10 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cuthbertLab/music21#2019 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de cuthbertLab/music21
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
EchoTools/nevr-runtime#651 ·
Los mantenedores suelen responder en 1 día
-
bug frontend rt sev-3
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
noontide-co/mainbranch#1211 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[1.x Bug] run-operation --sql reports success but rolls back writes on transaction-capable adaptersAbiertotriage
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
dbt-labs/dbt#16784 · 1 comentario ·
Los mantenedores suelen responder en 1 día