Comments (4)
Not sure I get the question, something like ‘E6’ or ‘Em6’ works. Feel free to send a PR.
from musthe.
Of course new chord recipes could be added, but that's not the point.
In music theory chord extensions are modular (somewhat).
Some imply others (e.g. '9' implies '7').
Others can be added (e.g. 'add6') on top of others.
With the current system, all combinations should be written down as recipes.
But I think it would be simpler that way... any ideas?
from musthe.
I see. An idea: build a 'chord parser' that for example decomposes E9add6 into: ['E', '9', 'add6']. Then there are instructions about what this means: ['E'] means the major triad, ['9'] means the 7th and the 9th, ['add6'] means the 6th. I am open to other ideas.
from musthe.
I collected roughly all possible ways of writing chords (items on the same line are equivalent ways of writing the same chord):
Basic chord extensions and alterations:
C
CM
Cmaj
C-
Cm
Cmin
Cdim
Cº
C-(♭5)
Cm(♭5)
Caug
C+
C(♯5)
CM(♯5)
Csus4
Csus
Csus2
C7
Cdom7
Cm7
Cmin/dom7
Cmaj7
CΔ7
CΔ
(although depending on context,Δ
means only "major")Cmin/maj7
CmM7
Cdim7
Cº7
Cø7
Cm7(♭5)
Upper chord extensions
C9
C7add9
Cmaj9
Cmaj7add9
C11
C13
Add-on notation:
C7(♯9)
C11(♭13)
C7sus4(omit5)
C7sus4(no5)
Inversions and added bass:
C/E
C/A
Other:
C5
(power chord)C6
Cadd6
Cm6
Cm/add6
(note: it adds a major sixth)Cm(♭6)
Cm/add♭6
(note: it adds a minor sixth)C69
Cadd6add9
Calt
Cdom7(♭9)
Cdom7(♯9)
A few considerations:
- both
C6
andCadd6
do the same thing, howeveraddN
notation is more modular, as you could writeCadd6add9add13
but notC6913
; it may make sense to haveC69
as a recipe, whileaddN
into a hypothetical parser, sinceaddN
can be used multiple times; - still with
addN
,/
seems necessary to make the chord more readable when the last letter is a letter, as inCm/add6
; - addon notation
(...)
can be used to add tones (as inCadd6
) or alter existing tones (as inC(♯5)
a.k.a.Caug
); - maybe there's more things which I haven't considered.
from musthe.
Related Issues (8)
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 musthe.