実践ユースケース
ここにある各ページは、手元の素材から目的の成果物までの 1 つの仕事を通しで扱います。多くはターミナルに貼り付けて実行できる CLI の手順です。ノートと歌声を扱うページには Python の手順が加わり、アプリのページは WASM パッケージを使った JavaScript です。
掲載しているコマンドはすべて現行エンジンに対して実行し、示している数値はそのとき出力されたものです。テスト素材の多くは合成音で、意図的に単純にしてあるため、検出器を惑わせる箇所は各ページで指摘しています。
作業から選ぶ
音を扱うのが初めてなら、練習用トラックを作る から始めてください。曲のファイルが 1 つあれば足り、どの手順も 1 コマンドで、結果をすぐ耳で確かめられます。表はやさしい順に並んでいて、各ページは上のページで出てきた用語を前提にしています。
| レベル | 手元にあるもの | やりたいこと | 実行環境 | ページ |
|---|---|---|---|---|
| 1 | 練習中の曲 | 減速・移調・パート分離した練習用トラック | CLI | 練習用トラックを作る |
| 2 | ピアノ曲の WAV や MP3 | 譜面と照合済みの MIDI ファイル | CLI + Python | ピアノの録音を MIDI にする。まず ピアノ採譜 で試せます |
| 2 | 荒い録音素材の山 | 整音済みのテイクと、何が問題だったかの記録 | CLI | 録音素材をまとめて整音する |
| 2 | ホスト・ゲスト・BGM | ダッキング済みでラウドネス規定を満たした 1 話 | CLI | トーク番組を仕上げる |
| 3 | ステムのフォルダ | 配信プラットフォームに出せるマスター | CLI | CLI だけでミックスからマスタリングまで |
| 3 | 自分のミックスと、目標にしている市販曲 | 音色とラウドネスを参照曲と同じ土俵に乗せる | CLI | リファレンス曲に寄せる |
| 3 | 納品直前のマスター | CI で回る合否判定 | CLI | 納品前チェックを CI で回す |
| 3 | 何音か音程のずれた歌のテイク | ずれた音だけを正しい音程に。ビブラートは歌ったまま | CLI + Python | 歌のピッチを直す |
| 4 | ローカルのステムと Web アプリの画面 | 操作しながらミックスし、WAV をダウンロード | JavaScript(WASM) | ブラウザでミキシングアプリを作る |
| 4 | インサートやマスタリングチェーンを扱うアプリ | エンジン自身のパラメータ記述子から生成した操作画面 | JavaScript(WASM) | パラメータ記述子からコントロールを組み立てる |
レベル 1 は各手順が 1 コマンドです。レベル 2 ではバッチスクリプトや、編集して使うプリセット、結果を採点する短い Python スクリプトが加わります。レベル 3 は複数の段をつなぎ、ラウドネスや音色を自分で判断する場面があります。レベル 4 はアプリケーションのコードです。知らない用語が出てきたら、オーディオ基礎 と ミキシングの基礎 を参照してください。
各ページの冒頭には「用意するもの」の枠があり、必要なファイルとその形式、インストール方法をまとめています。素材が合成音のページでは、同等のテスト用ファイルを書き出す短いスクリプトも載せているので、自分の音源で試す前にすべての手順を実行できます。
CLI のページの前提
CLI の手順は Python CLI(pip install libsonare)を使います。手順に関わる次の 2 点は、CLI リファレンスで解説しています。
- 2 つの CLI でコマンドは揃っていません。 シーンミキサー(
mix)、プリセット駆動のmasterとmastering-chain、declipは Python CLI 専用です。逆に低レベルなメータリング系(meter、clipping、phase、stereo、dynamic-range)はネイティブ CLI 専用です。どちらの CLI を使うか を参照してください。 - ほとんどのコマンドはモノラル前提です。 ミキシングとマスタリングはステレオペアを最後まで保ちますが、計測系のコマンドの多くはモノラルにダウンミックスし、その旨を標準エラー出力に出します。各ページでラウドネスを別途
lufsで測らずマスタリングレポートから読んでいるのはこのためです。ステレオとモノラルの扱い を参照してください。
すべてのコマンドが --json を受け付け、失敗はすべて終了コードに対応づけられています。そのため、どの手順もスクリプトから無人で実行できます。
CLI + Python のページは同じ Python パッケージ(Python 3.11 以降)を使います。CLI のページにある Node のタブと JavaScript のページは、はじめに と同じ WebAssembly 版の npm パッケージ npm install @libraz/libsonare(Node.js 22.12 以降)を使います。Node と Python の各タブには音声の読み込み方も載せているので、タブ内の変数はすべて定義済みです。
スクリプトではなく API を使う場面
UI やプラグイン、リアルタイム処理に行き着くユースケースは、シェルスクリプトではなく API の領分です。JavaScript API、Python API、C++ API から始めてください。考え方は同じで、このセクションの各ページからも要所で対応するガイドへリンクしています。