         return pitch * pow(2.0, order / 12.0)
     }
 
-    // Generate one-octave tones based on specified root tone
-    static func arrangeTones(rootTone: Tone) -> [Tone] {
-        guard var rootIndex = tones.firstIndex(of: rootTone) else { return [] }
-
-        var arrangedTones = [Tone]()
-        tones.forEach { _ in
-            rootIndex = rootIndex == tones.count ? 0 : rootIndex
-            arrangedTones.append(tones[rootIndex])
-            rootIndex += 1
-        }
-        return arrangedTones
+    // Generate 12 frequencies for spacified octave by integral multiplication
+    static func calculateTuning(octave: Int, tuningBase: [Tone: Float]) -> [Harmony] {
+        var harmonies = [Harmony]()
+        for key in tuningBase.keys {
+            guard let baseFrequency = tuningBase[key] else { continue }
+            let frequency = Float(pow(2.0, Float(octave - 1))) * baseFrequency
+            let harmony = Harmony(tone: key, octave: octave, frequency: frequency)
+            harmonies.append(harmony)
+        }
+        return harmonies
     }
 }
 

        return tuning
    }

    static func tuneWholePure(
        octaveRange: OctaveRange,
        tuningBase: [Tone: Float]


// General and Equal
private extension HarmonyKit {
    static func tuneEqual(
        pitch: Float,
        transpositionTone: Tone,
