2026年02月05日

Alchemusica にリクロックを実装

 バスクラで、フォーレの「シシリエンヌ」をやろうと思いました。この曲は、バスクラ界(?)でも定番曲のようで、「第6回日本バスクラリネットコンクール」の「小・中学生部門」の課題曲の1つに指定されています。

20260204-3.jpg

 上記コンクールでは、アスクスウィンズの古川邦彦さん編曲版が指定されています。私は別にコンクールにエントリーするわけではないので(小中学生ちゃうしな)、原曲のチェロの楽譜をそのまま吹きます。IMSLPから入手した、アメル版の楽譜です。

20260204-4.jpg

 伴奏動画を作ろうと思いました。この曲のピアノパートはそう難しくないので、MIDIでリアルタイム録音して手直しすることにしました。リアルタイム録音だと、拍・小節の情報がありません。そこで、シーケンサのリクロック機能を使って、テンポイベントで音のタイミングを保ったまま、ノートイベントを拍・小節に合わせます。Vision を使っていた時にはさんざんお世話になりました。

20260204-1.jpg

 ここまで進めて、「あれ、Alchemusica にリクロック実装してなかったっけ??」とうろたえました。メニューコマンドを見てもないし、スクリプトも見つかりません。Mac OS X に移行してからの DTM 作品は全部 Alchemusica で作ってるはずで、リアルタイム録音した曲もあったはずなんだけど、どうやって処理したんだろう?? 全然覚えてない……

 仕方がないので、ごりごりスクリプトを書きました。こちらです。拍頭の位置を示すガイドトラックのイベントを取得して、その位置をMIDIシーケンスの拍頭に合わせ、タイミングを合わせるためにテンポイベントを挿入します。

20260204-2.jpg

 さっき気づいたんだけど、テンポの値が整数に丸められてるな。これは小数点以下を許容しないと、タイミングのずれが大きくなってしまいますね。あとで修正しとこう。

20260204-5.jpg

Posted at 2026年02月05日 21:51:18
email.png