Prime Harmony

2018-08-22  本文已影响0人  BiggerMax

Spil nøglerne og få akkordet! Prime Harmony er et simpelt redskab til at lære harmonier, hvilket giver dig almindelige tonale akkorder og en grundlæggende atonal repræsentation af uanset hvad du spiller. Andre funktioner:

* Evnen til at justere sorte nøgle noter skal være enten flad eller skarp

* Hør noterne, mens du spiller dem

* Hør hele akkordet du har valgt

Brug akkordkalkulator til at hjælpe dine musikteori studier, kontrollere dit arbejde eller som et supplement til andre teori ressourcer.

importFoundation

typealias Key = (PitchClass, Octave)

enum PitchClass: Int, Comparable, Hashable {

    casec =0, cSharp, d, dSharp, e, f, fSharp, g, gSharp, a, aSharp, b

    varisBlackKey:Bool{

        returnString(describing:self).contains("Sharp")

    }

    varpossibleSpellings: [String] {

        switchself{

        case.c:return["C","B♯"]

        case.cSharp:return["C♯","D♭"]

        case.d:return["D"]

        case.dSharp:return["D♯","E♭"]

        case.e:return["E","F♭"]

        case.f:return["F","E♯"]

        case.fSharp:return["F♯","G♭"]

        case.g:return["G"]

        case.gSharp:return["G♯","A♭"]

        case.a:return["A"]

        case.aSharp:return["A♯","B♭"]

        case.b:return["B","C♭"]

        }

    }

    varpossibleLetterNames: [NoteLetter] {

        switchself{

        case.c:return[.c, .b]

        case.cSharp:return[.c, .d]

        case.d:return[.d]

        case.dSharp:return[.d, .e]

        case.e:return[.e, .f]

        case.f:return[.f, .e]

        case.fSharp:return[.f, .g]

        case.g:return[.g]

        case.gSharp:return[.g, .a]

        case.a:return[.a]

        case.aSharp:return[.a, .b]

        case.b:return[.b, .c]

        }

    }

    staticfunc<(lhs:PitchClass, rhs:PitchClass) ->Bool{

        returnlhs.rawValue< rhs.rawValue

    }

}

enumNoteLetter:String{

    casec ="C", d ="D", e ="E", f ="F", g ="G", a ="A", b ="B"

}

enumOctave:Int,Equatable{

    casezero =0

    caseone =1

}

上一篇下一篇

猜你喜欢

热点阅读