簡単!音源カットの裏技 + おまけ【うみぐりゃーずアドベントカレンダー 2025】

うみぐりゃーずアドベントカレンダー 2025 16 日目の記事です。

adventar.org



はじめに

こんにちは、UMIGURI 開発者の いののて です。最近は社会人をしていて仕事でコードを書いてます。前回が 3 年前なので、これだけ時間が経てば身分が変わるのも不思議ではないですね。

....

音源カットしてますか?(唐突)

...

ゲームの性質上、4 から 5 分程度の FULL 尺音源を 2 分半程度に収めると作譜しやすかったりプレイヤーの回転率が上がったりとなにかと都合がいいです。しかしそんな望み通りに 2 分半に調整されたバージョンが公開されている音源はゲーム音楽を除いてあまりないので我々で音源カットをする必要があります。

今回は UMIGURI 開発者おすすめの音源カット方法について紹介しようと思います。



用意するもの



STEP 1 - BPM を計測する

Margrete を使っていつものように音源ファイルなど設定した mgxc ファイルを準備します。

その mgxc ファイルを開いた状態でメニューの ツール > BPM 解析 をクリックします。

なるほど、BPM が 170 だということがわかりました。

注意: いくつか候補が出てくるので注意深く選択してください。また、BPM が変動していたりすると正しく計測できないため、別の方法で解析してください。



STEP 2 - Audacity でリズムトラックを作る

ここからは Audacity を使った作業です。

まず、なるべく正確に音源をカットしたいのでタイミング合わせ用のリズムトラックを作ります。

AudacityBPM でスナップできる機能がありはするのですが、微妙に不具合があるので今回は使いません。

音源を Audacity に読み込ませたところです。

メニューの ファイル > 開く...

ここで、メニューの トラック > 新規追加 > モノラルトラック をクリック。

元からある波形の下に何やら空白の領域、トラックが追加されました。

次に、リズムトラックを追加します。

さっき追加したトラックを選択した状態で、メニューの 生成 > リズムトラック をクリック。

調整画面が表示されるので、テンポ (BPM) に先程測定した BPM を設定します。小節数 は 120 ~ 200 程度に設定します。

小節数はリズムトラックが生成される長さなので、曲の尺に合わない場合は増やしたり減らしたりしてみてください。

これで空白のトラックがリズムトラックに生まれ変わりました🎉



STEP 3 - 頭出し

現状ではリズムトラックと音源の BPM は合っていますが、開始タイミングがズレている状態です。 ここではカットのしやすさのためにタイミングを合わせたいと思います。(譜面オフセット調整を正確にするためでもあります)

まず、小節が始まりそうな目立つアタック (音の立ち上がり) 部分を探します。

見つけたら音源トラック上部の若干色が濃いバーを掴んで、音源とリズムトラックのアタックタイミングが重なるように調整します。リズムトラックに並ぶ波形のうち振れ幅が大きいものが小節の頭なので、それを目印に合わせると良いでしょう。

💡 TIPS: Ctrl キー + マウスホイールで拡大縮小ができます。

移動したあとで音源トラックの先頭に空白の領域が生まれていた場合は、マウスでその領域を選択し、メニューの 生成 > 無音... > 生成 ボタンで間を埋めます。

逆にこのように頭が埋まっていた場合は右に 1 小節分ずらして、頭が途切れないように調整します。(生まれた空白は上の方法で埋めておきます)



STEP 4 - カットの開始点と終了点にラベルを付ける

カットする箇所にラベルを付けることで、削除するときのタイミング合わせがスムーズになります。

まず、カット箇所を見つけたら波形をクリックしてカーソルをセットします。リズムトラックのアタック部分を活用すると厳密なタイミング合わせができます。カーソルがセットできたら黒い線がクリックした部分に移動してくれます。

カーソル位置にラベルを貼ります。メニューの 編集 > ラベル > 選択範囲にラベル付け で貼り付けることができます。

名前の設定ができるのでわかりやすい名前を付けます。

begin の名前で貼り付けてみた

これでカットの開始点のラベルを付けることができました。同様にカット終了点も付けます。また、複数カット範囲がある場合はこれを繰り返します。



STEP 5 - 実際にカットする

音源トラック、リズムトラック、ラベルトラックを跨ぐように、カット開始点ラベルからカット終了点ラベルまでを範囲選択します。

💡 TIPS: ラベルトラックも含めないと、カット範囲が複数ある場合は削除した分のタイミングが調整されません。

ラベル位置付近にマウスを運ぶとラベルのタイミングに吸い付いて自動でタイミング合わせしてくれるので、これを活用すると正確です。

範囲選択したところで Delete キーを押すことでカットできます。



STEP 6 - 音源を出力する

出力した音源にリズムトラックが入り込んでしまうので、先にリズムトラック左端にある小さな x をクリックして削除しておきます。

削除したら、メニューの ファイル > オーディオをエクスポート > コンピューターにエクスポート で音源を出力できます。(エクスポート方法は Audacity のバージョンによって違う場合があります。)



STEP 7 - 完成!!!!!

完成しました。忘れずに mgxc の音源ファイルの指定もカット済み音源に変えておきましょう。

また、今回頭出しをしたことで譜面のオフセットを調整する必要がなくなりました。そのため、譜面情報編集画面の 音源再生遅延 を 0 に設定するとタイミングピッタリになると思います。



上級編

Audacity は複数のトラックを持てるので、カット箇所のぶつ切り感が気になる場合は滑らかにするためにトラックを並べてクロスフェードさせることもできます。

エフェクト > クロスフェード




関係のないおまけ

虹色ロング

わあきれい

TODO: よしなに不動 SLIDE のレギュ違反回避

絵文字

discord.gg



おわりに

最後にこの言葉で締めようと思います。


欧米風の唐揚げ、カラエイジ (karaage)


おわり