andreamust / harte-library Goto Github PK
View Code? Open in Web Editor NEWExtension of the music21 library for working with music chords encoded according to the Harte Notation.
License: MIT License
Extension of the music21 library for working with music chords encoded according to the Harte Notation.
License: MIT License
N and X symbols are not recognized by the parser
A cleanup of the harte parser utility is needed in order to get rid of the unused code.
As for now, the Harte
constructor takes a harte chord as input. This hinders the possibility of using the library in a different way which is not for parsing harte chord.
For example, this limits the possibility of instantiating a chord from music21.chord
and port it to harte.
should be treated the same as power
.
related to Issue #6
Shorthand 6
has not been implemented, but usage has been found in some annotations.
Further details on which should be its intervals are required (is it the same as maj6
? or a shorthand for 7(6)
?)
Realted to Issue #6
Method __deepcopy__
hasn't been implemented and it throws an error when trying to initialize the Chord object (the chord is missing)
This is fixed by #17 which explains the details - I'm just creating an issue for visibility in case anyone else runs into this in the meantime
the convert_interval
function yields A5
for a b5
degree and d5
for a #5
degree.
Should be probably be treated the same as hdim7
is.
Further details need to be checked to confirm.
related to Issue #6
Contains F- while it should contain F#. Also it would be nice if quality returned augmented (or suspended, but this appears never to be returned by music21.chord.Chord
anyway).
c = Harte('Bb:(4,#5,b7)')
c.quality
Out[6]: 'other'
c.pitches
Out[7]:
(<music21.pitch.Pitch B-4>,
<music21.pitch.Pitch E-5>,
<music21.pitch.Pitch F-5>,
<music21.pitch.Pitch A-5>)
c2 = Harte('C#:min(b7)/b1')
c2.pitches
Out[6]:
(<music21.pitch.Pitch C##3>,
<music21.pitch.Pitch C#4>,
<music21.pitch.Pitch E4>,
<music21.pitch.Pitch G#4>,
<music21.pitch.Pitch B4>)
c2.prettify()
Out[7]: 'C#:min7(b1)/b1'
c2.unwrap_shorthand()
Out[8]: ['b1', 'b3', '5', 'b7']
I might be wrong, and I don't know this chord, but I don't see where the C##3
comes from? Shouldn't the /b1
in the bass become C4
as first pitch? The chord occurs in biab-internet-corpus_1004.jams
in the ChoCo dataset.
from harte.harte import Harte
from music21.chord import Chord
c = Chord('C E G#')
c.quality
Out[0]: 'augmented'
c = Harte('C:aug')
c.quality
Out[1]: 'augmented'
# but (problem):
c = Harte('C:(3,#5)')
c.quality
Out[2]: 'other'
c = Harte('C:hdim7')
Gives
(<music21.pitch.Pitch C4>,
<music21.pitch.Pitch E-4>,
<music21.pitch.Pitch G#4>,
<music21.pitch.Pitch B-4>)
Unless I'm mistaken, it should give
(<music21.pitch.Pitch C4>,
<music21.pitch.Pitch E-4>,
<music21.pitch.Pitch G-4>,
<music21.pitch.Pitch B-4>)
Extend the shorthand mapping with the superset provided by the JAMS library.
If bass is not equal to the root note, the prettify method does not return the bass note.
should be treated the same as pedal
probably, to check
related to Issue #6
Add test cases and setup related GitHub actions.
See for instance Fb:maj/##4
or C#:min7/bb1
related to Issue #6
Add encoder and decoder functionalities for DL applications.
sometimes notated also as "X"
from Issue #6
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.