Comments (7)
Hey, glad it helped!
You are referring to this section, correct?
chordparser/src/chordparser/editors/chord_roman_converter.py
Lines 86 to 90 in 2c1d0d8
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.
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.
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.
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.
Cool, I would honestly love to get back to this project some day, will definitely let you know then.
from chordparser.
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.
Great! Happy to contribute :)
from chordparser.
Related Issues (18)
- Roman editor
- Set chord notation format HOT 1
- Convert from roman to chord HOT 2
- Update Colab Notebook HOT 1
- Show transpose example in Colab Notebook HOT 2
- Show roman-chord conversion in Colab Notebook HOT 2
- Proper roman notation
- Add class and editor HOT 1
- Secondary chord class HOT 1
- Extensions in Quality class HOT 1
- Allow key input for ChordAnalyser HOT 1
- Identify special chords in Colab Notebook example HOT 2
- base chord function in ChordEditor HOT 1
- Duck typing
- Make single responsibility for regex parsing in Chord class clearer
- New class for quality attribute of Chord class
- Helper dictionary list
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chordparser.