Software and Bio Art Workshop 2009
Max/MSP入門1:サンプリング&プレイバック
授業スライド
Sbaw090421
View more presentations from Atsushi Tadokro.
スライドをダウンロード (PDF形式)
サンプルファイル
授業で説明したファイルは下記からダウンロードしてください
今日の内容
- Max/MSPを駆け足でマスターする!
- 基本的な使いかた
- ロック、アンロック、プレゼンテーションモード
- オブジェクトの種類
- オブジェクトの接続
- 音を出してみる
- 音量の調節
- 音を混ぜる
- エンベロープ
- サンプリング・プレイバック
- ディスクベース
- メモリベース
- 基本的な使いかた
Max/MSP基本的な使いかた
- “MaxMSP.app”を起動
- “MaxMSP Runtime.app” ではないRuntimeは既にできあがったプログラム(パッチ)の実行専用
- Runtimeはフリーでダウンロードできる
- Max/MSP基本構成
- Maxウィンドウ
- 処理結果やエラーなどのテキスト情報を表示
- Maxウィンドウ
- Patcherウィンドウ
- ここにプログラムを作成する
- Patcherウィンドウの画面をダブルクリックする
- オブジェクトパレットが表示される
- 分野別に整理された「道具箱」のようなもの
- パーツを組合せて、下記のパッチを組んでみる
- オブジェクト
- MaxMSPを構成する、パーツのブロックをオブジェクトと呼ぶ
- オブジェクトの入出力はインレット、アウトレットと呼ばれる
- インレット:オブジェクトの上部にあるコネクター
- オブジェクトへの入力を意味する
- アウトレット:オブジェクトの下部にあるコネクター
- オブジェクトへの出力を意味する
- インレットとアウトレットの数はオブジェクトによって異なる
- インレット:オブジェクトの上部にあるコネクター
- 基本的なオブジェクト
- オブジェクトボックス:汎用的オブジェクト
- メッセージ:数字、文字列、bangなどを出力
- ボタン:クリックでbangを出力
- トグルボタン:ON/OFFを切り替える
- ナンバーボックス (int 整数)
- ナンバーボックス (float 浮動点少数)
- GUIパーツ:様々なインタフェイスになる
- ケーブルの色の違いに注意
- 黒いケーブルはひとつの値 (数値、メッセージ)
- 縞々のケーブルは、シグナル (連続する大量の数値)
- パラメータを変化させられるように改造する
- スピーカーを”dac~”に変更
- ボリュームの調整を”*~”に
- 音量の調整には “ ~ “を使う
- “ ~ “が付くオブジェクトは全てシグナルの処理に関係する
- cycle~など
- “
- “ ~ “が付くオブジェクトは全てシグナルの処理に関係する
- 音量の調整と同じ意味となる
- 波形を表示してみる
- scope~オブジェクトを追加
- 周波数や音量を変化させて、音と波形を観察
- 音量の時間的変化 (エンベロープ)
- function と line~ を組み合わせて実現できる
- 周波数 (音程) をキーボードから入力できるようにしてみる
- mtof:MIDIのノートナンバーを周波数に変換する
- プレゼンテーションモード
- あらかじめ決めておいたパーツのみを表示
- 配置やサイズも調整可能
- さっきのパッチの必要部分だけを抜き出してプレゼンテーションモードとして配置してみる
サンプリング&プレイバック
- サンプリング&プレイバックとは
- オーディAZオ信号をデジタル・レコーディングして、再生すること
- サンプリング
- アナログ信号をデジタル信号に→AD変換
- プレイバック
- デジタル信号をアナログ信号に→DA変換
- コンピュータで音響を処理する際の情報の流れ
- サンプリングレート:時間軸の分割
- 量子化ビット数:振幅の分割
- ディスクベースのサンプリング
- ハードディクス上のサウンドデータを直接再生
- プログラミングが楽←→自由度が低い
- 長時間のサウンドもへっちゃら
- メモリベースのサンプリング
- ハードディスク上のサウンドデータをメインメモリに読み込んでから再生する
- 自由度が高い←→プログラミングが大変
- 長時間のサウンドを扱うとメモリを大量に消費してしまう
ディスクベースのサンプリング・プレイバック
- sfrecord~
- ハードディスクへサウンドを録音する
- 第1引数はチャンネル数
- sfplay~
- ハードディスクからサウンドを再生する
- 第1引数はチャンネル数
- gateオブジェクトを使ってループ再生を実現している
- サウンドファイルの再生
- sfplay~ サウンドファイルを再生する
- メッセージ “open” を入力すると、サウンドファイル選択画面に
- トグルボタンで、start / stop
- “speed 値” で再生スピードを変化させられる
- sfplay~ サウンドファイルを再生する
- サウンドファイルへ録音
- sfrecord~ サウンドファイルを録音しファイルに保存
- 録音に際しては、手順が重要
- sfrecrod~に”open”を入れて、サウンドファイルを保存
- “adc~” をonにすると録音準備状態になる
- トグルスイッチをonにすると録音が開始する
メモリーベースのサンプリング
- メモリベースのサンプリング
- メインメモリ上に指定した容量の容器を用意する必要がある
- “buffer~” オブジェクトがこの容器の相当する
- buffer~
- サンプリングのためのバッファーを確保するためのオブジェクト
- buffer~ [バッファー名] [バッファーサイズ] [チャンネル数]
- 下の例の場合
- バッファー名:mybuf
- サイズ:10000ms
- チャンネル数:2
- “buffer~” に録音 (サンプリング) する
- “record~” オブジェクトを使用する
- “record~ バッファー名”
- 例) オーディオ入力を mybuf という名前のバッファーに録音する
- “buffer~” に録音したサンプルの中身を表示する
- “waveform~” オブジェクトを使用する
- 「set バッファー名」というメッセージを入れると内容を表示する
- “buffer~” に「read」というメッセージを入れるとオーディオファイルを読み込んでメモリに取り込むことができる
- buffer~, recod~, waveform~ を組合せることで、リアルタイムに録音した音をメモリに保存し、その内容を波形として確認することができる
- groove~を利用すると、高度なプレイバックが実現できる
- 再生範囲の指定、スピード、ループ など
- メモリーベースのプレイバック:応用1
- 2つの buffer~ を並列して使用
- buffer~ の名前に注意 (同じ名前は使ってはいけない)
- メモリーベースのプレイバック:応用2
- 再生位置をランダムに変化させる
- メモリーベースのプレイバック:応用3
- sah~ と組合せる
- sah~:サンプル&ホールド
- 一定の間隔に信号を切り刻んで変化させる装置
- sah~ と組合せる
- メモリーベースのプレイバック:応用4
- フィルタと組み合わせる
- filtergraph~ : 様々なフィルタをグラフィカルに操作できる