Giter Site home page Giter Site logo

Comments (7)

titus-ong avatar titus-ong commented on June 3, 2024

Hey, glad it helped!

You are referring to this section, correct?

if isinstance(scale_key, Scale):
scale_root = scale_key.key.root
else:
scale_root = scale_key.root
scale = self._SE.create_scale(scale_root, "major")

I'll admit my theory knowledge isn't the best, I've only seen Roman numerals for chords in the major mode hence I hard-coded it to major. Could you give an example of some chord conversions you are doing that the current code gets wrong?

from chordparser.

amelie106 avatar amelie106 commented on June 3, 2024

Hey, yes that is exactly the part I was talking about :)

To give an example, if there is a progression of Am -> C -> Dm -> E -> Em in a key of A Minor, with a scale hardcoded to major it results in the following:
i -> bIII -> iv -> V -> v
whereas it should be:
i -> III -> iv -> V -> v

The bIII appears because C is not part of the A Major scale, C# is.

Another example:
B Minor scale, the progression is Bm -> G -> D -> A
in a Major context (hardcoded): i -> bVI -> bIII -> bVII
in a Minor context: i -> VI -> III -> VII, which is correct according to music theory

If you wanna read up on it, here is a link: https://www.musicnotes.com/now/tips/roman-numeral-analysis-in-music/
Also don't hesitate to ask if you have any other questions :)

Hope I could help!
All the best,
Amelie

from chordparser.

titus-ong avatar titus-ong commented on June 3, 2024

Thanks for the explanation! Hm my understanding is correct, but I'm guessing I confused the chord's quality with the scale's quality while writing the code.

Anyway, thanks for flagging this out, Amelie! I'm quite impressed you knew which lines of code to change, I still don't fully understand my code when I was checking out your changes haha.

Do you want to create a pull request for this so your contribution will be recognised? I haven't touched this repository in quite a while because of work and I don't have any plans to update it for now, but I'll help to merge your PR in and publish a new version.

from chordparser.

amelie106 avatar amelie106 commented on June 3, 2024

Sure, I will make a PR!
Also, if you ever plan to make a similar project, I would love to contribute - let me know :)

from chordparser.

titus-ong avatar titus-ong commented on June 3, 2024

Cool, I would honestly love to get back to this project some day, will definitely let you know then.

from chordparser.

titus-ong avatar titus-ong commented on June 3, 2024

Apologies for the late merge. Thankfully my CD workflow still works so the package was published successfully, you can check it out here or just install the latest version (should be 0.4.2). Thanks again!

from chordparser.

amelie106 avatar amelie106 commented on June 3, 2024

Great! Happy to contribute :)

from chordparser.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.