Tools + Simulatorsnanase.cc / tools

チューナー

メータ

針A4 440.0 Hz▼ 純正の長 3 度 −13.7 · 短 3 度 +15.6合格 ±2 セント平均律クロマチック

帯は下から 2・3・4・5 オクターブ縞が止まれば合っている · 低いと左、高いと右へ流れる

−50−140+16+50−20−140+16+20♭♯

—

—セント

—

停止中

楽器
調弦
調弦
調弦
調弦

ファイル

まだ選んでいません

0:00 / 0:00

波形
f 周波数

Hz

レベル
IN—
明瞭度
NSDF—
マイクの処理

—

モニター

マイクでは使いません
A 音量

dB

fA4 基準ピッチ

Hz

音名
オクターブの番号

黒鍵の書き方

周波数
—
目標の周波数
—
ずれ(周波数)
—
明瞭度
—
入力レベル
—
窓の長さ
—
標本化周波数 fs
—

動作原理と式

音高の求め方(MPM)

周期は McLeod の MPM で求めます[1]。窓 xj(長さ W)の正規化した二乗差関数 NSDF n′(τ) は、ずらし τ で波形がどれだけ重なるかを −1〜1 で表します。

n′(τ)=2r′(τ)m′(τ),r′(τ)=∑j=0W−1−τxjxj+τ,m′(τ)=∑j=0W−1−τ(xj2+xj+τ2)
  • 自己相関: r′ は、0 を詰めて 2 倍以上の長さにした FFT で |X|2 を求め、もう一度 FFT して得る。m′ は τ を 1 つ進めるごとに 2 項を引く
  • 周期の山: τ=0 の山を越えてから、正の山ごとの最大を集め、いちばん高いものの 0.9 倍を超える最初の山を周期とする。山の位置と高さは放物線で補う
  • 明瞭度: 選んだ山の高さ。周期がはっきりしているほど 1 に近い。0.9 を下回る間は音高を出さない
  • 窓の長さ: 探す最低音の 2.5 周期が入る 2 の累乗(2048 以上)。周期を決めるには、最も長い周期の 2 倍の信号が要る[2]

周波数を詰める

MPM の放物線補間には、倍音の多い高い音で偏りが残ります(このツールの合成音の試験で C7 に約 1 セント)。弦の部分音は剛性で整数倍より高くなるので[3]、周期から求めた値は部分音の平均のような値になり、非調和性 B=10−4 で約 3 セント高く出ます。そこで、MPM の周波数 f を手がかりに、第 k 部分音の周波数を窓の前半と後半の位相の差で詰めます(位相ボコーダと同じ考え方[4])。

fk=kf11+Bk2X1=∑n=0L−1w[n]x[n]e−jωn,X2=∑n=0L−1w[n]x[n+L]e−jωn,ω=2πkffsΔφ=arg⁡(X2X1*)−ωL(±π に折り返す),fk=kf+Δφfs2πL
  • 窓: 前半・後半はそれぞれハン窓。全体で音の 12 周期(前半・後半に 6 周期ずつ)が入る 2 の累乗で、隣の部分音の漏れを抑える。16384 点を超える低い音は MPM の値のまま
  • どの部分音で詰めるか: 第 1〜3 部分音のうち、いちばん強いものの 1/10(−20 dB)以上ある最も低いもの。スマホのマイクで基音が弱くても、第 2・第 3 部分音で詰められる
  • 音ごとに固定: 弦と胴の結合で、部分音ごとに整数倍からのずれが違う。途中で替えると値が跳ぶので、音の出し始めに選んだ部分音を音が途切れるまで使い、それが −20 dB より弱くなったら表示を止める

音を追う

  1. 高域通過20 Hz・2 次
  2. 出だし30 ms 後から使う
  3. MPM周期・明瞭度
  4. 部分音の位相周波数を詰める
  5. 中央値と折り返し外れ値を除く
  6. 目標の音音名・弦・ずれ
  • 高域通過: 直流や低い揺れが残ると NSDF が負にならず、周期の山を探し始められない
  • 出だし: 5 ms ごとの平均の 2 乗が直前 50 ms の最大の 4 倍(6 dB)を超えたら、新しい音の出だしとし、その 30 ms 後からの標本だけを窓に入れる。撥弦の出だしは打撃音で、音高も高めに出る(ギターの高音弦の第 2 部分音で約 1 Hz、約 2.6 セント高く、約 1.5 秒で戻る[5])
  • 中央値: 直近 5 回の推定の中央値を使う。出し始めは、3 回の推定が半音の半分以内にそろうのを待つ
  • 折り返し: 音が続いている間に、オクターブ・オクターブと 5 度・2 オクターブだけ跳んだ推定は、倍音を基音と取り違えたものとして元の音へ戻す。音がない状態から始めるときは、1 オクターブ下の奇数倍の部分音を確かめる(あれば、MPM は第 2 倍音の周期を選んでいる)
  • 最も近い音・弦: 境目で表示が行き来しないよう、前の音から離れるのは半音の 0.65 倍、前の弦から離れるのは、ほかの弦が 0.3 半音より近いときだけにする。新しい音の出だしでは前の音を忘れる

ずれと目標の音

周波数 f を、基準ピッチ fA4 に対する音番号 n(MIDI と同じ。A4 = 69)にし、目標の音 N からのずれをセントで出します[6]。dN は音律による目標のずれです。基準ピッチの既定は 440 Hz です[7]。

n=69+12log2⁡ffA4,c=100(n−N)−dN,f目標=fA42(N−69)/12+dN/1200
  • 純正律の ▼: 純正の長 3 度(5:4)は 1200log2⁡(5/4)−400=−13.7 セント、短 3 度(6:5)は 1200log2⁡(6/5)−300=+15.6 セント。和音の 3 度の音をここに合わせると、うなりが消える
  • 音名とオクターブ: 国際式は中央のドを C4、ヤマハなどは C3 と書く[8]。日本式は中央のドを一点ハとし、下へ小字・大字・下一点、上へ二点・三点と呼ぶ
  • 移調: B♭ 管は記譜の C で実音の B♭ が鳴るので、実音に 2 半音を足した音名で出す(E♭ 管は 9、F 管は 7)

音律は、主音 C のとき A を 0 にそろえた平均律からのずれを表に持ち、主音を変えたら表を回して A を 0 にそろえ直します。基準ピッチの A はどの音律でも変えません。値は各音律の定義から求め、下の資料と照合しました[9][10][11][12]。

音律(主音 C)CC♯DE♭EFF♯GG♯AB♭B
ピタゴラス(ウルフは G♯–E♭)−5.87+7.82−1.96−11.73+1.96−7.82+5.87−3.91+9.780−9.78+3.91
1/4 コンマ・ミーントーン+10.26−13.69+3.42+20.53−3.42+13.69−10.26+6.84−17.110+17.11−6.84
ヴェルクマイスター III+11.73+1.96+3.91+5.87+1.96+9.780+7.82+3.910+7.82+3.91
キルンベルガー III+10.26+0.49+3.42+4.40−3.42+8.31+0.49+6.84+2.440+6.35−1.47
ヴァロッティ+5.870+1.96+3.91−1.96+7.82−1.96+3.91+1.960+5.87−3.91
ヤング 第 2+5.87−3.91+1.960−1.96+3.91−5.87+3.91−1.960+1.96−3.91

12 音のストロボ

機械式のストロボチューナー(Conn の Stroboconn、1936 年)は、半音ごとに 1 枚、計 12 枚の円盤を基準の速さで回し、入力の音で点滅するランプで照らします。円盤には明暗の帯が同心円に並び、外側の帯ほど区画が 2 倍になって、1 枚で何オクターブもを受け持ちます。鳴っている音の円盤だけが止まって見え、ずれていればその向きにゆっくり回ります[13]。

このツールは、窓 p(C〜B)の帯 o(下から 2〜5 オクターブ)ごとに基準の周波数 fb を決め、測った部分音のうち fb に最も近いものの強さで縞の濃さを、周波数の差で縞の速さを決めます。縞 1 本は位相 1 周です。電子式の仮想ストロボも、縞の位置を基準周波数で進め、入力の周期に合わせて見せる、同じ考え方です[14]。

fb=fA42(12(o+3)+p−69)/12+dp/1200,φb(t+Δt)=φb(t)+(fk−fb)Δt
  • 部分音: 第 1〜8 部分音の周波数と強さを、上の位相の差で測る。基音の 1/2・1/4 の高さの帯にも、縞が二重・四重に写って薄く止まって見える(機械式で、区画が点滅の 1/2・1/4 になる帯)
  • 倍音の窓: A を鳴らすと、第 3 部分音が E の窓の帯に写る。純正の 5 度は平均律より約 2 セント高いので、その帯はゆっくり流れる
  • 縞の速さ: 「周波数の差」は機械式と同じく、同じセントのずれなら高い帯ほど速い。「セント」はセント × 0.254 本/s(A4 で 1 セント = 0.254 Hz)
  • ぼけ: 速く流れる縞は目で追えないので、毎秒 1.5 本より速いと薄くし、縞の間を灰色で埋める。読み値が一瞬途切れても縞は 0.3 秒保ち、音が止まると縞だけが薄れて灰色に戻る(窓の明るさは変えない)
  • 鳴らし始め: 読み値は、低い音まで探せる長い窓(クロマチックで約 170 ms)が埋まり、値が 3 回そろうのを待つ。縞はそれを待たず、出だしから約 40 ms の短い窓の MPM で先に描き始める。オクターブなどを取り違えても、そこから測る部分音は鳴っている音の本物なので、写った縞の動きは正しい

マイクとブラウザ

  • マイクの処理: エコー除去・雑音抑圧・自動ゲインは、どれも音高や音量を変えるので切るよう頼む。指定は努力目標で、Safari は雑音抑圧と自動ゲインの指定に対応していない[15]。Safari ではエコー除去を切ると自動ゲインも切れる[16]。実際に効いた設定は入力の枠に出す
  • 低い音: iOS 端末の内蔵マイクは、約 250 Hz から 24 dB/oct で低域を削るという報告がある[17]。ベースやチェロの開放弦の基音はほとんど届かないので、周期と第 2・第 3 部分音から求める

出典

  1. MPM(NSDF・山の選び方・明瞭度)P. McLeod, Fast, Accurate Pitch Detection Tools for Music Analysis, PhD thesis, University of Otago, 2008
  2. 周期の推定に要る窓の長さA. de Cheveigné and H. Kawahara, “YIN, a fundamental frequency estimator for speech and music,” The Journal of the Acoustical Society of America, vol. 111, no. 4, pp. 1917–1930, 2002
  3. 硬い弦の部分音H. Fletcher, “Normal Vibration Frequencies of a Stiff Piano String,” The Journal of the Acoustical Society of America, vol. 36, no. 1, pp. 203–209, 1964
  4. 位相の差による周波数の推定(位相ボコーダ)F. Keiler and S. Marchand, “Survey on Extraction of Sinusoids in Stationary Sounds,” Proc. 5th International Conference on Digital Audio Effects (DAFx-02), 2002
  5. 撥弦の出だしの音高の下がり(約 1 Hz、約 1.5 秒)N. Lee, J. O. Smith III, J. Abel, and D. Berners, “Pitch Glide Analysis and Synthesis from Recorded Tones,” Proc. 12th International Conference on Digital Audio Effects (DAFx-09), 2009
  6. セントA. J. Ellis, “On the Musical Scales of Various Nations,” Journal of the Society of Arts, vol. 33, pp. 485–527, 1885
  7. 基準ピッチ A4 = 440 HzISO 16:1975, Acoustics — Standard tuning frequency (Standard musical pitch)
  8. 中央のドを C3 と書く例ヤマハ, PSR-E283 リファレンスマニュアル(鍵盤の図)
  9. ヴェルクマイスター IIIWikipedia “Werckmeister temperament”
  10. キルンベルガー IIIWikipedia “Kirnberger temperament”
  11. ヴァロッティWikipedia “Vallotti temperament”
  12. ピタゴラス・1/4 コンマ・ミーントーンK. Gann, “An Introduction to Historical Tunings”
  13. 機械式のストロボ(12 枚の円盤、同心の帯)R. W. Young and A. Loomis (C. G. Conn Ltd.), US Patent 2,286,030 “Stroboscope”, 1942
  14. 電子式の仮想ストロボM. J. Skubic (Peterson Electro-Musical Products), US Patent 6,580,024 “Electronic strobe tuning aid”, 2003
  15. 自動ゲイン・雑音抑圧の指定と対応状況MDN, “MediaTrackConstraints: autoGainControl property”・browser-compat-data
  16. Safari のエコー除去と自動ゲインWebKit Bug 179411
  17. iOS 端末の内蔵マイクの低域Studio Six Digital, “iPhone 3GS Microphone”

このツールで決めたこと

  • MPM の山を選ぶ比 0.9 と、音高を出す明瞭度の下限 0.9
  • 窓の長さ: MPM は探す最低音の 2.5 周期、周波数を詰めるのは音の 12 周期(上限 16384 点)。推定は 40 ms ごと
  • 詰める部分音の下限 −20 dB、1 オクターブ下を確かめるときの奇数倍の比 0.2
  • 中央値 5 回、出し始め 3 回、途切れとみなすまで 4 回
  • 出だし: 5 ms ごと、直前 50 ms の 4 倍、30 ms 後から使う
  • 合格の幅の既定 ±2 セント(撥弦の出だしの約 2.6 セントの高さで、±1 では最初に灯りが点いたり消えたりするため)
  • 針のならし(時定数): 速い 0.06 s・標準 0.16 s・ゆっくり 0.4 s
  • ストロボ: 帯は 2〜5 オクターブ、近さの重みは 40 セントの幅、1/2・1/4 の帯の重みは 0.3・0.15、毎秒 1.5 本より速い縞は薄くする
  • 基準ピッチの範囲 390〜490 Hz(0.5 Hz 刻み)
  • 精度は、合成音(正弦波、倍音の多い音、基音のない音、雑音、非調和)と、ギター音響モデルの開放弦 6 本で確かめた。6 本とも、弾いて 0.3 秒後からの値は基音から ±1 セント以内(中央値)

関連ツール