このプロジェクトについて
flashback-sampler は、システムオーディオをリングバッファに継続的に記録し、ユーザーが最近の過去からスライスを持ち上げ、プレビューとトリミングを行い、その後保存したり DAW に直接ドラッグできるデスクトップオーディオアプレットです。リングはすべての操作中にローリングし続けます。
主な目標は、テイクを決して失わないことです:リングは最大 192 kHz で過去 N 分間を保持し、チェックアウトは即座にディスクに書き込まれるためクラッシュでも生き残ります。ドラッグアウトはプレーンな OS ファイルドロップを使用するため、あらゆる DAW ホストが受け入れます。エクスポートされたスライスは周囲に余分のオーディオ(ハンドル)を持ち、これによりユーザーは DAW でクリップのエッジをドラッグしてより多くのオーディオを表示できます。スライス自体はそのまま残り、WAV マーカー(cue, smpl, adtl ラベル)がファイル内にそれを示します。オプションの設定では、WAV の代わりに Ableton Live Clip (.alc) をドラッグできます。
エンジンは、core/ ディレクトリにあるゼロ依存の Zig ライブラリで、キャプチャ、ミキシング、再生、リング、ピーク、WAV、スクラッチキャッシュを処理します。Python は PySide6/Qt シェルで、ハンドルを作成し、開始・停止し、数値を読み取りますが、フレームを見ることはありません。同じエンジンは CLAP プラグイン、OBS ドック、またはスマートフォンの下にも配置できます。
ステータスはバージョン 0.4.1 で、Windows のみ対応です。キャプチャ、ミキシング、再生は Zig コア内の WASAPI を経由します。コアは Linux と macOS 向けにクロスコンパイル可能ですが、それらのバックエンドはまだ存在しません。Qt UI は Zig ネイティブな再構築が予定されています。
UI はターンテーブルのペアを提示します:左デッキはライブリングバッファ、右デッキはチェックアウトされたクリップを保持します。ユーザーはソース(デフォルト出力、キャプチャデバイス、単一プロセス、または複数入力のミックス)を選択し、キャプチャの開始/停止、スライスの長さと位置を設定し、キャプチャが続く間表示を凍結してグラブを合わせ、選択をチェックアウトし、クリップをプレビューおよびトリミングし、WAV(デフォルトで 32 ビット float)として保存するか、DAW にドラッグします。チェックアウトはキャプチャ停止後も生き残り、scratch フォルダー内の float32 WAV として存在します。
スロットをアームするときにメモリは事前に確保されます:秒数 × サンプルレート × チャネル数 × 4 バイト。15 分ステレオ 48 kHz プリセットは 346 MB です。リングを作成する前に 2 つのチェックが行われます:最大フットプリント上限(デフォルトで物理 RAM の 25%)と、リングが空き物理メモリを超える場合の拒否です。
DAW マーカーの動作でテストされているのは Ableton Live 12 のみです。Reaper、Logic、Cubase、Bitwig、FL Studio、Studio One、Pro Tools はリストに挙げられていますが、未テストです。
Python 3.10+ と Zig 0.16.0 が必要です。MIT ライセンス;バンドルされた Monaspace フォントは SIL Open Font License 1.1 の下にあります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.