「リアルタイムBPM検出 with aubiojs」
マイク開始を押して、トントンとマイク周辺を叩いてもBPMを検出してくれます。いろんな音楽を聞かせて検証してみましょう!
今回のウェブアプリのライセンスはGPL3.0です。aubioがGPL3.0なので、MITライセンスにはできません。配布が必要なもので、GPLにできないプロジェクトに使う場合は作者からの許諾が必要なのでご注意ください。
「code4fukui/bpmdetector」
ESモジュールに対応しているaubiojsをforkして使い方を記述。
import aubio from 'https://code4fukui.github.io/aubiojs/aubio.esm.js'; const { Tempo } = await aubio(); const tempo = new Tempo( scriptProcessor.bufferSize * 4, scriptProcessor.bufferSize, audioContext.sampleRate );
URLでインポートするだけシンプルに使えて便利ですね!
ただ、セキュリティを考えると、URLインポートには権限限定機能があるべきですね。
scriptタグにtype="module_secure" とか?
links
- iPhoneのフラッシュライトを使ってビートに合わせた点滅を「bpmlight」、鯖江JAZZフェスティバル2025まで1月ちょっと