         case .minor: centOffets = centOffsetsPureMinor
         }
 
-        let tuningBase = pureBase(
+        let base = pureBase(
             pitch: pitch,
             transpositionTone: transpositionTone,
             rootTone: rootTone,
             centOffsets: centOffets
         )
-        return tunePure(octaveRange: octaveRange, tuningBase: tuningBase)
+        return expandTuning(base: base, octaveRange: octaveRange)
     }
 
     static func pureBase(

        transpositionTone: Tone,
        octaveRange: OctaveRange
    ) -> [Note] {
        let tuningBase = equalBase(pitch: pitch, transpositionTone: transpositionTone)
        var notes = [Note]()
        octaveRange.forEach { octave in
            let harmoniesInThisOctave = tune(octave: octave, tuningBase: tuningBase)
            notes.append(contentsOf: harmoniesInThisOctave)
        }
        return notes
    }

    // "Base" means C1, D1, ... in:
    // => http://ja.wikipedia.org/wiki/%E9%9F%B3%E5%90%8D%E3%83%BB%E9%9A%8E%E5%90%8D%E8%A1%A8%E8%A8%98
    static func equalBase(pitch: Float, transpositionTone: Tone) -> [Tone: Float] {
        // Frequencies when transpositionTone == C
        var baseFrequencies: [Float] = [
            frequency(pitch: pitch, order: 3.0)  / 16.0,  // C

        return pitch * pow(2.0, order / 12.0)
    }

    static func expandTuning(base: Tuning, octaveRange: OctaveRange) -> [Note] {
        var notes: [Note] = []
        octaveRange.forEach { octave in
            let notesInOctave = tune(base: base, octave: octave)
            notes.append(contentsOf: notesInOctave)
        }
        return notes
    }

    // Generate 12 frequencies for spacified octave by integral multiplication
    static func tune(base: Tuning, octave: Int) -> [Note] {
        var notes: [Note] = []
        for key in base.keys {
            guard let baseFrequency = base[key] else { continue }
            let frequency = Float(pow(2.0, Float(octave - 1))) * baseFrequency
            notes.append(
                .init(
                    tone: key,
                    octave: octave,
                    frequency: frequency
                )
            )
        }
        return notes
    }
