第28章. 自分の楽曲プレイグラウンドを用意する
この章の目的
この章を読み終える頃には、ピアノロールが自分の機械でビルドされて、走っている状態になります。この章を読み終える頃には、ピアノロールが自分の機械でビルドされて、走っている状態になります。
コードはすでに手元にある
第2章で、KeleusmaのソースリポジトリのクローンからKeleusmaのコマンドラインツールをインストールしました。その同じクローンの中にピアノロール例と10曲すべてが入っています。新しくダウンロードするものはありません。この章の作業はそのリポジトリのフォルダの中で行います。第2章で、KeleusmaのソースリポジトリのクローンからKeleusmaのコマンドラインツールをインストールしました。その同じクローンの中にピアノロール例と10曲すべてが入っています。新しくダウンロードするものはありません。この章の作業はそのリポジトリのフォルダの中で行います。
もう一つ必要なもの: CMake
ピアノロールは音を出します。そのためにSDL3 (Simple DirectMedia Layer 3)というオーディオライブラリを使います。最初のビルドのときに、SDL3はソースからコンパイルされます。それをコンパイルするにはCMakeというツールが必要です。ピアノロールは音を出します。そのためにSDL3 (Simple DirectMedia Layer 3)というオーディオライブラリを使います。最初のビルドのときに、SDL3はソースからコンパイルされます。それをコンパイルするにはCMakeというツールが必要です。
続ける前に、お使いのOS用のCMakeをインストールしてください。これは本ガイド全体で唯一の本物の準備コストです。Windowsで一番重く、そこではCMakeもCのビルドツールチェーンもデフォルトで入っていません。macOSとLinuxではCのツールチェーンは普段すでに入っていて、CMakeだけ追加すれば済みます。続ける前に、お使いのOS用のCMakeをインストールしてください。これは本ガイド全体で唯一の本物の準備コストです。Windowsで一番重く、そこではCMakeもCのビルドツールチェーンもデフォルトで入っていません。macOSとLinuxではCのツールチェーンは普段すでに入っていて、CMakeだけ追加すれば済みます。
ビルドと実行
Keleusmaリポジトリのフォルダの中から実行します。
cargo run --release --example piano_roll --features sdl3-example
コマンドを部分ごとに読みます。cargo runはビルドして走らせます。--releaseは速い版をビルドします。オーディオに必要です。--example piano_rollはピアノロールを選びます。--features sdl3-exampleはSDL3オーディオサポートを有効にします。コマンドを部分ごとに読みます。cargo runはビルドして走らせます。--releaseは速い版をビルドします。オーディオに必要です。--example piano_rollはピアノロールを選びます。--features sdl3-exampleはSDL3オーディオサポートを有効にします。
最初の1回は数分かかります。SDL3がソースからビルドされているからです。これは1回きりです。それ以降の実行は、ビルド済みのSDL3を再利用してすぐに始まります。最初の1回は数分かかります。SDL3がソースからビルドされているからです。これは1回きりです。それ以降の実行は、ビルド済みのSDL3を再利用してすぐに始まります。
何が見えて聴こえるか
ピアノロールが起動するとコマンドを表示して、最初の楽曲を再生し始め、ターミナルに入力された1文字のコマンドを聞きます。ピアノロールが起動するとコマンドを表示して、最初の楽曲を再生し始め、ターミナルに入力された1文字のコマンドを聞きます。
sで次の楽曲に切り替えます。rで現在の楽曲を最初からやり直します。pで一時停止、もう一度pで再開します。- 数字キーでその番号の楽曲に直接ジャンプします。
- Enterだけ押すと終了します。
スピーカーから音が出ているはずです。ビルドが成功したのに何も聴こえない場合は、ターミナルプログラムがオーディオデバイスを使う許可を持っているか、システムの音量が上がっているか確認してください。スピーカーから音が出ているはずです。ビルドが成功したのに何も聴こえない場合は、ターミナルプログラムがオーディオデバイスを使う許可を持っているか、システムの音量が上がっているか確認してください。
楽曲はすぐそこにある
10曲の楽曲はリポジトリのexamples/scripts/piano_roll/にあり、piano_roll_0.kelからpiano_roll_9.kelの名前です。普通のKeleusmaのソースファイルです。次の章で1曲開いて書き換えます。10曲の楽曲はリポジトリのexamples/scripts/piano_roll/にあり、piano_roll_0.kelからpiano_roll_9.kelの名前です。普通のKeleusmaのソースファイルです。次の章で1曲開いて書き換えます。
この章のまとめ
- ピアノロール例は第2章のリポジトリクローンの一部です。
- ビルドにはCMakeが必要です。最初のビルドでSDL3がソースからコンパイルされるからです。ビルドにはCMakeが必要です。最初のビルドでSDL3がソースからコンパイルされるからです。
cargo run --release --example piano_roll --features sdl3-exampleでビルドして走らせます。cargo run --release --example piano_roll --features sdl3-exampleでビルドして走らせます。- 楽曲は
examples/scripts/piano_roll/の中の.kelファイルです。
次の章では楽曲を書き換えて、その変化を耳で聴きます。