Open theogf opened 3 months ago
The issue here is that it should be B[4]
not B[5]
:
julia> intervals = [
Interval(MusicTheory.C[4], MusicTheory.E[4]),
Interval(MusicTheory.E[4], MusicTheory.G[4]),
Interval(MusicTheory.G[4], MusicTheory.B[4]),
Interval(MusicTheory.B[4], MusicTheory.C[5]),
]
4-element Vector{Interval}:
Major 3rd
Minor 3rd
Major 3rd
Minor 2nd
julia> Scale(MusicTheory.C[4], intervals)
Scale{Pitch}(C₄, Dict{PitchClass, Interval}(C => Major 3rd, G => Major 3rd, B => Minor 2nd, E => Minor 3rd))
The notes in a given octave are C, D, E, F, G, A, B
in that order.
BTW I wouldn't call that a scale; that's a major 7th chord:
julia> using MusicTheory.PitchNames
julia> Chord(C[4], E[4], G[4], B[4])
Chord{Pitch}(Set(Pitch[G₄, C₄, B₄, E₄]))
I am a novice in music theory but I would like to create new scales. Since I don't know how to create intervals I tried to revert engineer it: I googled the Major 7th scale for C: C, E, G, and B. And tried to build the scale out of it:
However
sum(intervals)
fails due toCan it be due to a bug in the implementation?