本日の給油(CRF1100Lアフリカツイン/2BL-SD10)

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km)
2021-10-24 10 9.69 155.01 - -
2021-10-24 48 7.62 154.99 - -
2021-10-30 267 13.46 162.04 16.27 9.96
2021-11-06 507 15.29 157.03 15.70 10.00
2021-11-14 737 13.01 157.03 17.68 8.88
2021-11-27 924 13.07 157.00 14.31 10.97
2021-12-25 1188 15.90 155.97 16.60 9.39
2022-01-10 1398 13.71 153.03 15.32 9.99

遠くても茨城・千葉・埼玉あたりで、基本的に東京都内を走りまわっています。ガソリンだけを見ると距離単価は約10円/km。長距離ツーリングしたい……

本日の給油(スーパーカブ110プロ/JA07)

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km)
2020-09-21 11760.8 3.04 130.59 48.88 2.67
2021-02-21 11900.9 2.92 139.73 47.98 2.91
2021-03-12 12042.2 3.08 133.77 45.88 2.92
2021-05-03 12177.4 2.46 139.84 54.96 2.54
2021-06-06 12290.5 1.99 142.21 56.83 2.50
2021-07-31 12417.3 2.62 148.09 48.40 3.06
2021-09-25 12563.7 2.81 148.04 52.10 2.84
2021-11-04 12711.0 2.44 156.97 60.37 2.60
2022-01-03 12814.3 2.18 153.21 47.39 3.23

二ヶ月ぶりの給油。あまり乗っていない時期は燃費が下がるよね。隙間から蒸発しているのではないかと思っちゃうよ。

本日の給油(CRF1100Lアフリカツイン/2BL-SD10)

寒くなってきたのと、休日にも仕事が入ってくるという二つの理由で、やっぱりあまり乗れませんでした。最初の一か月では900 km走ったものの、二か月目は250 kmくらい……。

給油日 オドメーター (km) 給油量 (L) 単価 (円/L) 燃費 (km/L) 距離単価 (円/km)
2021-10-24 10 9.69 155.01 - -
2021-10-24 48 7.62 154.99 - -
2021-10-30 267 13.46 162.04 16.27 9.96
2021-11-06 507 15.29 157.03 15.70 10.00
2021-11-14 737 13.01 157.03 17.68 8.88
2021-11-27 924 13.07 157.00 14.31 10.97
2021-12-25 1188 15.90 155.97 16.60 9.39

1000 kmを超え、1111 kmのゾロ目も超えました。次は1234 km!

f:id:amarui:20211227112901j:plain

Juliaで基音周波数の推定(YINの実装)(Julia Advent Calendar 2021)

これはJulia Advent Calendar 2021の25日目の記事です。これまでにこのブログで書いたJulia Advent Calendar記事は以下の通りです。

毎年、音の分析について書いていますので、今年も音について。

楽器音のピッチ推定とYIN

数ヶ月前に、楽器音のピッチ検出(正確には基音周波数の推定)のコードを書きました。

これらの記事で紹介した方法は周波数領域で振幅ピークを見つけるというアプローチで、まあまあ正確な結果を得られましたが、計算量が多くて推定に時間がかかるのが難点でした(大きな音ファイルを一括処理しているのでしょうがないですね)。また、インハーモニシティ(倍音成分が基音周波数の整数倍からずれること)があるとうまくいかない気もします。

周波数領域ではなく時間領域で、つまりスペクトルではなく波形から基音周波数を推定する方法もあります。ピッチがある音は波形が周期性を持っているので、自己相関関数を使ってその周期を推定するというものです。単純に自己相関を使うだけだとうまくいかないときが多いので、いろいろな人が推定精度向上を目指して研究をしています。

今回は、時間領域での基音周波数推定アルゴリズムのうち、YINという方法を紹介します。YINは以下の論文で提案された手法で、自己相関関数とは少し違う方法を使っています。論文を誤読しているかもしれませんし、今回の実装に間違いがあるかもしれませんので、正しくは論文を参照してください。推定アルゴリズムの精度向上をステップごとに解説していて、丁寧かつ平易な英語なので読みやすいです。

  • Alain de Cheveigné and Hideki 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. April 2002. DOI: 10.1121/1.1458024

論文のSection IIに書かれた以下の6ステップに沿ってやっていきます。Section VIには機能を拡張する方法が載っていますが、今回は実装しません。

  • ステップ1:自己相関関数
  • ステップ2:差分の2乗和
  • ステップ3:差分二乗和関数を累積平均値で正規化
  • ステップ4:閾値の設定
  • ステップ5:二次関数による補間
  • ステップ6:時間方向に見回して推定精度を向上
続きを読む

楽器の音域

さまざまな楽器の音域がピアノの鍵盤のどの辺りに位置するのか、周波数やMIDIノート番号はどうなっているのか、といったことを調べたことがありました。その時に作った図が出てきたので、こちらに掲載して供養します。

同じ楽器であっても個体によって出せる音域が違うでしょうし、弦楽器なんかは張力を変えて変則チューニングを使うこともあるので、どの範囲が演奏できるかは楽器と演奏者によるとしか。

f:id:amarui:20211203151433p:plain