`billboard_101.jams` contains chord `'Eb:1'` -- what does this mean?
Closed this issue · 1 comments
rubencart commented
The harte-library parses it as a chord consisting of only the root, I hardly think this qualifies as a chord?
c = Harte('Eb:1')
c.pitches
Out[5]: (<music21.pitch.Pitch C4>,)
Another consequence is that it causes errors:
c.prettify()
Traceback (most recent call last):
File "/cw/liir_code/NoCsBack/rubenc/miniconda3/envs/harmonyenv/lib/python3.12/site-packages/IPython/core/interactiveshell.py", line 3553, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-3-b71bc92b3314>", line 1, in <module>
c.prettify()
File "/cw/liir_code/NoCsBack/rubenc/miniconda3/envs/harmonyenv/lib/python3.12/site-packages/harte/harte.py", line 218, in prettify
assert self._all_degrees, "The chord is empty: no degrees to prettify."
AssertionError: The chord is empty: no degrees to prettify.
andreamust commented
The chords Eb:1
(also representable as Eb:(1)
) defines a chord composed by only one note (Eb). Please, refer to the original Harte syntax paper for more information on this.
The chord is parsed correctly by the harte_library
, while the error raised in the prettify()
method could be fixed and handled more elegantly.
Closing the isse as it does not directly relate to ChoCo.