美文网首页
Prime Harmony

Prime Harmony

作者: BiggerMax | 来源:发表于2018-08-22 14:40 被阅读0次

    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

    }

    相关文章

      网友评论

          本文标题:Prime Harmony

          本文链接:https://www.haomeiwen.com/subject/ztqyiftx.html