2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KDDIテクノロジーAdvent Calendar 2024

Day 22

Ableton Link が楽しい

Last updated at Posted at 2024-12-22

遅刻しました。
ふたたびネタが思いつかなかったので触ってみよう系薄い記事です。よろしくお願いします。

Ableton Link って?

公式サイトを見てみるのがいちばん早いのですが、Ableton Liveからはじまったテンポや再生情報を対応アプリや機器と同期させようという規格です。

Ableton Linkで同期させてみた例
Mac、Windows、iPhone間は同一ネットワークで繋がっているのみで、リズムが完全に同期されて再生できている

で、このAbleton Link、なんと仕様やSDKが公開されており、自由に自前のアプリやデバイスに組み込んで利用することができます。

Node.js から扱ってみる

Node.js 用ライブラリを公開してくださっている方がおり、ものすごく簡単に扱えます。

const abletonlink = require('abletonlink');
const link = new abletonlink();

let latestPhase = -1;

const main = (beat, phase, bpm) => {
    console.log("  Beat: " + beat);
    console.log(" Phase: " + phase);
    console.log("   BPM: " + bpm);
};

// Start Ableton Link
link.startUpdate(60, (beat, phase, bpm) => {
    if (Math.floor(phase) !== latestPhase) {
        latestPhase = Math.floor(phase);
        main(
            Math.floor(beat),
            Math.floor(phase) + 1,
            Math.floor(bpm)
        );
    }
});

Beat、Phase、BPMを更新のタイミングで(小数点切り捨てた上で)出力しているだけのコードです。
実際に実行してみるとAbleton Linkを有効にしたLogic Proと同期が取れていることが確認できました。

実行例

おわりに

ものすごく短い触ってみた系となってしまいました。
本当は別の記事を投稿する予定だった(AWS IoT)のですが、突然証明書認証ができなくなってしまい…。
次書くことがあればAbleton Linkを活かして何か作ってみたいと思いました。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?