LoginSignup
0
0

More than 1 year has passed since last update.

Swift で全音階を基音からの音程を指定して演奏する方法

Posted at

1オクターブは半音12個で構成されている。
ドを基音としてレを出したい場合に2を与えるとそれが達成できるようにしたい。

static func hight(_ num : Float) -> Float {
        let base : Float = 440.0 // ピアノでいう真ん中のラの周波数
        let min: Float = -24 // そこから 2オクターブ下を基音とする
        return base * pow(pow(2, num + min), 1/12)
    }

1オクターブ上がると周波数が2倍になることを利用して計算。
底が2の対数で何オクターブ上がるかが計算できる。したがってその逆を行うと1/12オクターブを半音として扱うことができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0