soundflowで作ろう4 "Auto Stem Bounce"
こんにちは
今回も第2回と同じように、
私がstoreにアップしている既存のスクリプトを紹介しようと思います。
最後のほうに大作できたのでお楽しみに。
Auto Offline Stem Bounceというのがありまして
オフラインとオンラインの二種類作ってます。
今回はオフラインの方の紹介をしようと思います。
インストールしましょう
インストールしていただくとこんな感じになっております。
もうこのDescription見て、動画見てもらえれば使用法わかりますが、
説明します。
やることは3つだけ!簡単です。
最初に
サンプルとして、こうしてTDが終わったセッションを作りました。
さて、Final も Inst も minusOne も作ったので、
ステムを作りますかー
1️⃣まず最初に
この先のステムバウンスのフォーマットを指定してください、
具体的にはファイルの形式、書き出し先、等です。
以後は全てこの設定で作業が続いていきますので、
そのための設定です。
⚠️このスクリプトは "Import After Bounce" する前提で組まれておりますので、
サンプルレートはセッションと同一であることが必須です。
別サンプルレートを作りたい場合は全て終了後にコンバートしましょう。
2️⃣適当な範囲指定して、一回Bounceしてください。
(このバウンスは確認行為なので、理解しているならばやらなくてもいいです)
分けたいグループを作る
3️⃣希望の分け方のグループを作ります。
命名規則があります。
01_Stem_~
02_Stem_~
03_Stem_~
とグループの数を増やしていってください。
こんな感じですので、
こんな風にしてみました。
⚠️実用時の注意点
実際にミックスして多数のグループが出来上がった状態でこのスクリプトを使用するとなにやらうまく動作しないことがあります💧
ステム作る用のセッションをSave asで作って、既存のグループを消去してからこのグループ分けをすることをお勧めします。
(このバグ、自分が使うのに困ってないので解消する気あんまりないです🙇♂️)
あとは簡単
4️⃣バウンスしたい範囲の Selection Marker を作ってください。
マーカーナンバーは "325" です。名前はなんでもいいです。
実行
準備OK
実行!
余談ですが、なーんでいつもこんなちっちゃい画質悪い動画かといいますと、gifであげていて、noteの一枚の画像が容量制限が10MBなためです。
ちゃんと綺麗な最後までやった動画以下にあげてます。
ヒュー!!
こんなことができます。
コーヒーでも飲みながら画面見てれば終わります。
最高すぎ😇
動作としては
1. 01_Stem_~の規則に則った名称のグループを選択
2. それらをソロにする
3. "325" のメモリーロケーションをcall
4. バウンスウィンドウ
5. 1のグループ名をファイルネームへコピー
6. バウンス実行
7. 出来上がったオーディオを新規トラックで選択範囲にインポート
8. インポートされたトラックをイナクティブにする
9. 以降繰り返し
というものです。
途中でなにか想定外の動作が起きるとエラーで止まってしまいます。
(同名ファイルがあるよ?とアラートが出てしまったり)
その場合、
その時点までできているステムのグループを消去すれば、
続きから実行することができます。
あとこういった大技系スクリプトを使う際に
途中で
「え、違う違う!」
みたいなこと起きた時のために
"Stop All Running Command" はどこかにアサインしておいた方がいいです。
メニューバーにもあるやつですけどね、
わたしはStream deckに入れてます。
さてさてさてmodしましょう
こっからが本題なんですよね、
このスクリプトをまた Mod してみようと思います🚧
私は現状で満足してるけど、
人によってはいろいろ変えたい部分があるはず、
ってことで。
セッションにインポートしたくないんだが?
まずこういう人
しといた方がいいと思うよ?😇
確認のためにも。
と思うんですけど、まぁ場合によりますよね。
Installed Package から "Make Editable Copy" しましょう。
こうして、
オーディオインポートに該当する部分のスクリプトを消します。
毎回の私のnoteを読んでいただいている方はだいたいわかってきてると思います。
ここ!
87行目が "Audio Import Option window" が表示されるまで待つ、というスクリプト
103-105行目が 出来上がったトラックをイナクティブにするスクリプト
これらの動作はインポートしないなら発生しない動作です。
なので、87-105行目を消します。
それと、
72.73行目、Bounce window の Import After Bounce チェックボックスをEnableにする、
というスクリプトなので、これを Disable に変えましょう。
sf.ui.proTools.windows.whoseTitle.is("Bounce Mix").first.groups.whoseTitle.is("Location").first.checkBoxes.whoseTitle.is("Import After Bounce").first.checkboxSet({
targetValue: "Disable",
});
これでOK
できました。
マーカー325使いたくないんだが?
いる?そんな人🤔
でもこれもスクリプトを見れば簡単!
ここにマーカー325を呼び出している行があるので
62行目の数字を自分のすきなマーカーのナンバーにすればよし。
グループ作るとかじゃなくて全バラで出したいんだが?
これが本題。
ううう、これ難しそうだなぁ……
さて、出来上がっておりますこの "Auto Offline Stem Bounce" ちゃんですが、
私は大して頑張っておらず、
これもforumのマスターたちによって教えてもらって出来上がったものです。
ですから、このスクリプトの中身、私完全に理解はできてないんですよねぇ……
この大きなmod、作れるだろうか……
とりあえず設計としては、
全部のトラック、というか、選択しているトラックを全てバラで書き出す
が利便性もよさそうですよね。
えーっと、Forumで
selected, multipul, repeat, とかそういう言葉で検索します。
🌝🌝🌝🌝🌝🌝
🌞
これや!きっと!
function doForAllSelectedTracks(action) {
var originallySelectedTrackNames = sf.ui.proTools.selectedTrackNames;
try {
sf.ui.proTools.selectedTrackHeaders.forEach(track => {
track.trackSelect();
action(track);
});
}
finally {
sf.ui.proTools.trackSelectByName({ names: originallySelectedTrackNames });
}
}
/**@param {AxPtTrackHeader} track */
function trackFunc(track) {
//Insert your code here
log(track.normalizedTrackName);
}
doForAllSelectedTracks(trackFunc);
こういったコードを記載してくれています。
//Insert your code here
って親切に書いてくれているので、ここに試しに選択しているトラックをイナクティブにするスクリプトを入れてみましょう。
これ
そうするとこうなります
function doForAllSelectedTracks(action) {
var originallySelectedTrackNames = sf.ui.proTools.selectedTrackNames;
try {
sf.ui.proTools.selectedTrackHeaders.forEach(track => {
track.trackSelect();
action(track);
});
}
finally {
sf.ui.proTools.trackSelectByName({ names: originallySelectedTrackNames });
}
}
/**@param {AxPtTrackHeader} track */
function trackFunc(track) {
//Insert your code here
sf.ui.proTools.trackSetActive({
targetValue: "Toggle",
});
log(track.normalizedTrackName);
}
doForAllSelectedTracks(trackFunc);
はい。
動作確認
おおー!すごい!
選択している全てのトラックに対して同じ行動が順番に行われています。
見づらいですが右上のとこに各トラックネームが出てます。
つまり各トラックの名前もgetできているということですね。
これを組み合わせればいけそう。
……
試行錯誤中……
⚠️🔨💦⚠️🔨💦⚠️🔨💦
(1時間後)
できた……!!!!!!
選択したトラックを全て個別にバウンス
もちろん全トラック選べば全部バラになる。
オーディオトラックだけ選ぶ必要はありますが。
こういうのを作る時には一つづつ一つづつ機能を追加していくことが大事です。
さきほどイナクティブを順番に行うことに成功したので、
この場合まず1つづつソロにするスクリプトを完成させます。
それができたらソロにした後にバウンスウィンドウを開けるように。
その場合一旦バウンスウィンドウは毎回クローズするようにして確認します。
そこまでうまくいったら次はバウンスウィンドウにトラックネームが正しく入るようにできるか確認
…………
といった工程を経て無事完成しました。
Storeにあげました
これ助かる人いるんじゃないかなー、いたら嬉しいです。
storeにあげました。
使用上の⚠️注意点は、説明にも書いてあるんですが、
Import ver を使用する場合は
範囲選択の "325" セレクションマーカーを作る際に、
一番下のトラックを選択してマーカー作成してください。
こうしないとうまく動きません。
みなさんガンガン使ってください。
引き続き記事を購入してもらえるようにしてます。
買っても買わなくても読める内容は変わらないのですが、
これはかなりの自信作なのでスタバおごってもいいかな、
というくらいの気持ちの方いらしたらどうぞよろしくお願いします🙇♂️
ここから先は
¥ 300
この記事が気に入ったらサポートをしてみませんか?