セント (音楽)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

セントは、1オクターブの1200分の1の音程である。音律を理論的に表示し、わかりやすくするために使われる対数値の一である。イギリスの音響学者・比較音楽学者、エリス Alexander John Ellis(1814年 - 1890年)が提唱した。

すなわち、nセントとは2音間の周波数比が 2n/1200 : 1 であることをいう[1]。つまり、2音の周波数が f0, f1 のときには、f0 から見て f1 は 1200 log2 (f1/f0) セントだけずれていることになる。

これにより、十二平均律全音は200セント。半音は100セントとなる。ピタゴラス音律長2度大全音の音程比9/8は約204セント。音程比からセント値を求めるには、音程比の常用対数を2の常用対数で割って1200を掛ければよい(1200*log音程比/log2)。

同様の用途に使われるものに、ミリオクターブがある。これは1オクターブを1000ミリオクターブとするものである。

単位換算[編集]

プログラム[編集]

2 音の周波数比(振動数比)とセント値とを換算する Ruby[脚注 1] プログラムを示す。

周波数比からセント値へ[編集]

周波数比 5:4 である音程[脚注 2]のセント値を求めるには次のように実行する。

ruby ratio_to_cent.rb 5 4

ratio_to_cent.rb
#!/usr/bin/ruby
 
if ARGV.size != 2 then
  STDERR.puts "使い方: #{$PROGRAM_NAME} f1 f2"
  exit 1
end
 
def ratio_to_cent(ratio)
  return Math.log2(ratio.to_f) * 1200.0
end
 
ratio = Rational(ARGV[0], ARGV[1])
printf("セント値: %4.3f\n", ratio_to_cent(ratio))

セント値から周波数比へ[編集]

386 セント離れた 2 音[脚注 2]の周波数比を求めるには、次のように実行する。

ruby cent_to_ratio.rb 386

cent_to_ratio.rb
#!/usr/bin/ruby
 
if ARGV.size != 1 then
  STDERR.puts "使い方: #{$PROGRAM_NAME} cent"
  exit 1
end
 
EPS = 0.008
 
def cent_to_ratio(cent)
  ratio = 2**(cent.to_f / 1200.0)
  return ratio.rationalize(Rational(EPS))
end
 
cent = ARGV[0].to_f
ratio = cent_to_ratio(cent)
printf("振動数比: %d:%d\n", ratio.numerator, ratio.denominator)

脚注[編集]

  1. ^ 誰でも使用可能なオープンソースのプログラミング言語である。
  2. ^ a b これは純正長 3 度である。

出典[編集]

  1. ^ Meffen, Jhon 『調律法入門 ピアノから金管楽器まで』 奥田恵二訳、音楽之友社、1985年5月1日、46頁。ISBN 4276124204