Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DTM entry level hands-on

Atsushi Eno
February 02, 2025

DTM entry level hands-on

DTMの世界に触れてみよう @ GTUGGirls (2025-02-02)

Atsushi Eno

February 02, 2025
Tweet

More Decks by Atsushi Eno

Other Decks in Technology

Transcript

  1. Agenda • DTM最初の一歩(講義) • ハンズオン ◦ 音を出してみる ◦ DAWとオーディオプラグインを動かしてみて、何が出来るのかを知る ◦

    興味のあるトピックを拾って自分で DAWを使って実験してみる(いくつか課題候補を準備) • 音楽ソフト開発(余談) 今日やらないこと • 作曲の方法を学ぶ • ヴォーカルの打ち込み
  2. PCで音楽を作る • 演奏して録音する ◦ 全パート…? ◦ 練習するのはまあまあ大変 • 生成AIに作らせる ◦

    テキスト プロンプトから音楽生成 (Udio, Suno, ...) ◦ 思い通りには生成できない ◦ まだ生成結果を任意に音源分離・加工できる時代ではない • 自分で打ち込む(DTMと言われるもの) • ライブコーディング、クリエイティブコーディング
  3. DAW Digital Audio Workstation (音楽用のIDEのようなもの) 音楽をトラック(パート)に分けて、 音符を打ち込む or 音声ファイルを置く •

    オーディオトラック ◦ 歌唱・演奏を録音した クリップ で構成される • インストゥルメント (MIDI) トラック ◦ 音符を打ち込んだ クリップ で構成される オーディオプラグイン(楽器・エフェクター)を 使って演奏できる
  4. オーディオプラグイン オーディオデータ and/or MIDIデータなど※を受け取ってオーディオ等を合成する • 楽器とエフェクターがある ◦ 種類がいろいろある • ソフトウェアで、フォーマット(API)がある

    ◦ VST(3), AudioUnit (v2, v3), CLAP, LV2, ... • パラメーターを操作して、加工する音を調整する • 大抵はそれぞれのプラグインがGUIを持っていて、 GUIから操作できる ※正確にはMIDIではなく独自規格の入力を受け付ける
  5. 「音楽を作る」と何が出来上がるのか • 現代では、WAV, MP3, FLACなどを最終的に出力(レンダリング)する • 打ち込み作業では「音楽のプロジェクトファイル」を作る ※ ◦ DAW特有のもの

    ◦ 「あらゆるDAWがサポートする音楽データの共通フォーマット」は存在しない • MIDIファイルは表現力が弱いのでインポート/エクスポートできる程度 ◦ 20世紀のDTMではポピュラーだった ◦ 今でもたまに「STEMファイル」として使われる ※お絵かきソフトのプロジェクトファイルと png/jpgみたいな関係
  6. ▓ セットアップ • DAWをセットアップする ◦ 入手・インストールする ◦ オーディオ環境を設定する ◦ 新規プロジェクトを作成する

    • オーディオプラグインをセットアップする ◦ 入手・インストールする ▪ インストーラーが自動的にインストールする or 手作業でプラグインバンドルのディレクトリを $HOME 以下にコピーする: • Windows: %HOME%¥AppData¥Local¥Programs¥Common¥VST3¥ • Linux: ~/.vst3/ など • macOS: ~/Library/Audio/Plug-Ins/{VST3 | CLAP | LV2 | Components}/ ◦ DAWにプラグインを認識させる
  7. ▓ DAWを起動して楽曲プロジェクトを作る • まず起動してみる ◦ 最初だけはセットアップがいろいろ動くことが多い (IDEと同じ) • DAWの打ち込みの多くは「プロジェクト」を作るところから ◦

    空白プロジェクトで始める DAWも、テンプレートを選ぶ DAWもある (IDEと同じ) • プロジェクトを作ると、トラックリストやピアノロールが表示される ◦ 内容がわからないタブやグループだらけだけど気にしない (IDEと同じ) • インストールされているプラグインの一覧を確認する ◦ 最初にインストールされているプラグインを「スキャン」する必要がある DAWもある
  8. ▓ インストゥルメントトラックを作る • トラックを作る ◦ 新規プロジェクトで空白のトラックが用意されている DAWも多い • トラックを選択したときにピアノロールが出てきたら、そこに打ち込める •

    出てこなければ、インストゥルメントクリップ や MIDIクリップ を作る ◦ この手順が不要なDAWもある ◦ 両方あるDAWなら「インストゥルメントクリップ」のほう ◦ ドラム楽器にしたい場合はステップシーケンサーのクリップかもしれない( DAW次第)
  9. ▓ プラグインのGUIから音を出す • トラックで使うインストゥルメントプラグインを選択する ◦ DAWによってやり方は異なる(前出) リストからドラッグ、ポップアップメニューを出せる、 etc... • GUIを表示する

    ◦ DAWから開閉できる; プラグインのGUIは単一ウィンドウのnon-modalなダイアログが基本 • 音を出してみる ◦ GUI上に鍵盤があれば、そこから音が出る可能性が高い ◦ なければ(無いものもある)、 DAWのピアノロールの左側にある鍵盤から音が出る • 音が出ないとき ◦ DTMあるある ◦ さまざまな原因があるので「 [DAW] 音が出ない」などで調べる
  10. (インストゥルメントプラグインの種類) • サンプラー ◦ 楽器の録音データを任意の音階で鳴らせるようにしたもの ◦ いわゆる生音(ナマオト)系の楽器に多い ◦ サンプラーには音源データの共通フォーマットがある (Kontakt,

    SFZ, SF2, Decent Sampler...) ◦ 自分でダウンロードしてきて使う前提のものもある ◦ いろいろ入っている「総合音源」はこれが多い • シンセサイザー ◦ パラメーターや短いWAV波形データにさまざまな加工を加えて音を合成するもの ◦ シンセサイザーの音色はパラメーターの集合体として「プリセット」から選べる ◦ 自作しても良いし、誰かが作ったプリセットを使うのもアリ ※厳密にはサンプラーも synthesisしているからシンセサイザー
  11. ▓ ピアノロールに音符を配置する • ピアノロールのグリッドの上でドラッグするとその範囲が音符になる ◦ 操作はDAWによる ◦ (ついでに)ピアノロールの拡大縮小、スクロールなどの操作に慣れる ◦ お絵かきソフトと同じ感じで「選択ツール」と「編集ツール」があることが多い

    • ピアノロールの左側にある鍵盤をホールド(ドラッグ)しても音が出る ◦ インストゥルメント プラグインを選択していないと音が出ない ◦ 音量を0にしていたりミュートしていたりしても音が出ない • 音符を調整する ◦ ノートをドラッグすると移動できる(音階・位置の調整) ◦ 和音にする(縦に並べられる) ◦ 音の長さを調整する : 大抵はノートの左右端をドラッグすると変えられる
  12. ▓ 再生・停止・一時停止する • 再生して打ち込んだ音を確認する ◦ 再生ボタンを押す ◦ 大抵はスペースキーでもいける ◦ 通常は現在の再生位置が縦線で表示される

    • 一時停止あるいは停止する ◦ 停止ボタン、一時停止ボタンを押す(違いがないことも) ◦ 一時停止から続いて再生すると続きの演奏になる(先頭に戻さないといけない)ことも ◦ 縦線を先頭までドラッグすると移動できる / Home/Endキーで一気に動かせることも
  13. ▓ 複数のトラックを扱う 別の楽器のパートを打ち込むのは別のトラックで行う必要がある • 新しいトラックで新しいクリップを作る • クリップの縦位置を他のパートと合わせる • 最初のトラックと同様にインストゥルメント プラグインを選択する

    • 音符を打ち込む • 再生する: 2パートが同時に鳴ればOK! • ミュート、ソロ再生を指定できる ◦ パートが増えてくると、打ち込んだ音を確認したいときに邪魔になる • トラックのヴォリューム(音量)やパン(左右の定位)を変更できる
  14. ▓いろいろな音を知る 楽器には名前があり、どんな楽器がどんな音を出すのか知っていると探しやすい • 音楽のジャンル別のスコア(楽譜)を見てみる ◦ ロックバンド編成 (guitar, bass, drum, key...)

    ◦ ジャズ(gt, b, dr, piano, trumpet, saxophone...) ◦ 管弦楽(木管楽器、金管楽器、弦楽器、打楽器 …) • 「◯◯でよく使われている音」 • General MIDI ◦ アコースティック楽器からシンセ、 SFXまで128種類を規定したMIDI標準のひとつ • 有名なシンセサイザーやその音なども共通語 ◦ Roland TR-808, TB-303, YAMAHA DX-7, 初音ミク
  15. (楽器を入手する) • プラグインを入手する ◦ 商用プラグインとOSSプラグイン ◦ OSSのインストールにはStudioRackが便利 https://studiorack.github.io/studiorack-site/ • サンプラー

    (Kontakt, SFZ, SF2, ...)のサンプルファイルを入手する ◦ pianobook.co.uk , musical-artifacts.com, ... • シンセのプリセットを入手する(最初からあるもので満足できない場合…?) ◦ presetshare.com • SFXなどのサンプルファイルを入手する ◦ freesound.org, pixabay.com/sound-effects/, ...
  16. (音を調整するパラメーターの名前と効果を知る) オーディオプラグインのパラメーターとして使われることが多い単語: • 音量(ゲイン/ヴォリューム) • パン (定位: ステレオにおける左右の音量比 ) •

    エフェクトパラメーター ※楽器による ◦ ローパスフィルター、ハイパスフィルター ◦ ヴィブラート、トレモロ ◦ ヴォーカルのブレシネス、ブライトネス、グロウル etc. etc. • エンベロープ、ADSR(アタック、ディケイ(減衰)、サステイン、リリース) AbletonのLearning Synthsがとてもわかりやすいのでおすすめ
  17. (MIDIイベントを置く) ノート以外のイベントとして MIDIイベントを入力できるDAWが多い MIDI 1.0メッセージ: • (0x80 ノートオフ) • (0x90

    ノートオン) • 0xA0 キープレッシャー • 0xB0 コントロールチェンジ • 0xC0 プログラムチェンジ(音色変更) • 0xD0 チャンネルプレッシャー • 0xE0 ピッチベンド • (0xF0 SysEx)
  18. ▓ エフェクトプラグインを使う エフェクトプラグインを使うと、任意の楽器の出音に同じ効果を与えられる • エフェクターの種類を知る ◦ リバーブ(残響)、ディレイ(やまびこ)、コーラス(広がり) ◦ コンプレッサー(音量の均一化) ◦

    イコライザー、(ハイパス/ローパス)フィルター(周波数帯別の音量調整) ◦ ディストーション(歪み)、フェイザー(位相効果) • インストゥルメントプラグインの後にエフェクトプラグインを追加してみる ※エフェクト機能がインストゥルメントプラグインに搭載されていることも多い
  19. ▓ テンポを変える • 楽曲のテンポは全パートで1つ • テンポトラック(あるいはマスタートラック)として存在している ◦ テンポの他に拍子の指定やコード(和音)の指定が混在することもある • BPM

    (beats per minutes) という単位がよく使われる ◦ 初期値はBPM = 120 (4分音符が1分間に120回 = 1秒に2拍)の場合が多い • 変更・指定方法はDAW次第 ※Zrythm, Waveformでは テンポトラックがデフォルトで非表示
  20. ▓ MIDIキーボードを使う 慣れてくると鍵盤などで打ち込んだほうがずっと早い(かも) • MIDIキーボードをPCでセットアップする ◦ ソフトウェアMIDIキーボードもある: https://vmpk.sourceforge.io/ など •

    使用するMIDIキーボードをDAWで選択する • 演奏対象としたいトラックを選んで MIDIデバイスを接続する • 演奏して音が出ることを確認する ◦ そもそもトラックから音は出ている ? • 演奏をレコーディングする ◦ 記録したい位置を選び、レコーディング開始する (打ち込み内容に追加されるので注意)
  21. ▓ ドラムパートを打ち込む ドラムの打ち込みにはステップシーケンサーがよく使われる • ドラムのインストゥルメントプラグインのトラックを作る ◦ 全部を1トラックにする, or ◦ 数種類ごとにトラックを作る 例

    : 左右手足ごとに • 使っているDAWでステップシーケンサーの クリップの機能があるか調べる ◦ あればそれを使うと楽なことが多い ◦ 無ければピアノロールに打ち込む • ドラムパートは繰り返しが基本 →クリップを引き伸ばしてループ再生させる
  22. ▓ STEM (MIDIファイル)を取り込んで音を割り当てる • 新規プロジェクトを作成する • MIDIファイルを「プロジェクトに」インポートする ◦ トラックにインポートすると(できる場合もある)、 1トラック分しか展開されない

    • インポートされたトラックにインストゥルメントプラグインを割り当てる • 再生してみる ◦ 音量などが小さくて音が聞こえない場合もあり得る
  23. (他人が作った音楽を真似て打ち込む) たいていの人は最初から作曲まではできないので、道具の使い方を覚えるところから • バンドスコアから打ち込む ◦ ギターは表情豊かに再現するのはとても難しい ◦ ヴォーカルは歌唱合成AIを使うか録音(して加工)する • クラシック:

    IMSLP (https://imslp.org/) に著作権の切れた楽譜が多数ある ◦ パート数が多くて大変 ◦ 義務教育で習った範囲では正しく読めない楽器もある • ゲームなどの音楽 ◦ 耳コピできるなら(修行にはなる) 最近のものはクラシックなみに大変 成果物を公開するときは著作権に気をつける (公開できるサイト/利用方法もある)
  24. (ガチ) オーディオプログラマーの技術スタック オーディオ処理, "DSP" (digital signal processing, 信号処理) デバイスアクセス(オーディオ、MIDIなど) オーディオプラグイン(プラグインの機能、フォーマット)の理解

    リアルタイム処理 音楽情報(musicology: 音楽データ構造、コード理論・分析など) シンセサイザー、エフェクター(種類、構成要素など) GUI
  25. オーディオ処理とそれに向いている言語 • オーディオ処理は一般的にリアルタイム性が重視される ◦ リアルタイム性が無いと再生がもたつき、パート間のタイミングがずれる ◦ 録音処理が失敗してもミュージシャンは気軽にリテイクできない • リアルタイム処理 =

    「必ず」締切を守ること ◦ 平均処理時間ではなく最も遅い処理時間でも締切を守っていることが重要 ◦ 「最速」である必要はない • リアルタイム性は簡単に損なわれる ◦ GC (stop the world)、JITコンパイル(実行時にCPUコードに変換)、I/O、ロック(標準mutexなど) ... → C, C++, Rust, Zig, あるいはオーディオ処理用の言語を使って実装する ※ すべての音楽ソフトでリアルタイム処理が求められるわけではないし、  リアルタイム性が必要な処理はリアルタイムスレッドに隔離する
  26. オーディオプラグイン開発 • オーディオプラグインの原理: オーディオやMIDIなどの入力を処理してオーディオやMIDIなどを出力 (DSP) void process(float** audio, uint8_t* events);

    • VST3, AU, CLAP, LV2 といったプラグインフォーマットのAPIを実装する ◦ VST3 SDK, AudioUnit SDKなど • マルチフォーマット、クロスプラットフォームのSDKを使う ◦ JUCEがかなり広く使われている ※DAW開発はたいへん(chrome extensionではなくchromeを作るようなもの)