The code below converts Numbered Musical Notation (簡譜) to musical note letters using Xcode 8.3.2 playground in Swift 3.1. Techniques used in the code involves:
1. Separating a string into an array
2. Type casting each array element into an integer
3. Converting the numerical notation into a matched letter
4. Joining all letters into a single string
//Twinkle, Twinkle, Little Star 一閃一閃亮晶晶
let numberedNotation = "1 1 5 5 6 6 5"
//1. Separating a string into an array
let numberedNoteArray = numberedNotation.components(separatedBy: " ")
let lookupTable = ["C","D","E","F","G","A","B"]
var noteArray = [String]()
for note in numberedNoteArray {
//2. Type casting each array element into an integer
let noteInt = Int(note)!
//3. Converting the numerical notation into a matched letter
let noteChar = lookupTable[noteInt-1]
noteArray.append(noteChar)
}
//4. Joining all letters into a single string
let noteString = noteArray.joined(separator: " ")
print("\(noteString)")
Result:
C C G G A A G
No comments:
Post a Comment