サウンドプログラミング演習 第 3 回

サウンドプログラミング演習 第 3 回
今回の演習の目的
音の高さの変更について学ぶ。
音量のエンベロープについて学ぶ。
リバーブ、モジュレーション、ディレイ、フィルタについて学ぶ。
サンプルファイルのダウンロード
http://www.low-tech-ism.com/files/puredata/pdlesson03.zip
音の用語
Pitch(ピッチ):音高(音の周波数)→MIDI ノートナンバー(0〜127)
Velocity(ベロシティ):音の強さ(0〜127)
Duration(デュレーション):音の長さ(秒)
MIDI:Musical Instrument Digital Interface ミディと読みます。
音名:ドレミファソラシド=CDEFGABC
(http://homepage2.nifty.com/nori-no_dtm-seikatsu/append/midi/nNum.htm より転載)
MIDI ノートでサイン波を鳴らす
midi_to_freq01.pd
[mtof]:MIDI to Frequency MIDI から周波数に変換
[osc~]:サイン波を出力するオブジェクト
[tabwrite~]:bang シグナルが入ると音の数値データを Array に書き込む
音量の変化
音量の変化は[*~]オブジェクトを使う。
音の数値データ:音の強さの変化→Y 軸方向の数値→音量
[readsf~]:サウンドファイルを HDD から読み出しながら再生。
read_sound_file01.pd
数値の変化カーブ(エンベロープ)
Attack(アタック)-Decay(ディケイ)-Sustain(サステイン)-Release(リリース)
音量の ADSR のエンベロープ実現に adsr_vol.pd を Abstraction として使う。
read_sound_file02.pd
※Abstraction[adsr_vol]のアーギュメントはどうやってできているか?
サイン波を ADSR エンベロープで鳴らす。
midi_to_freq02.pd
midi_to_freq01.pd に adsr_vol.pd の ADSR を組み込んで midi_to_freq02.pd として保存した
もの。
MIDI キーボードを接続してサイン波を鳴らす。エンベロープ付き
midi_to_freq03.pd
[notein]:接続した MIDI キーボードの情報入力
[trigger]:データの流れを整える
モジュレーション
音量を上下に揺らす。
modulation01.pd
課題
★ read_sound_file02.pd にモジュレーションを組み込んで read_sound_file02_modu.pd と
して保存する。
★ midi_to_freq03.pd にモジュレーションを組み込んで midi_to_freq03_modu.pd として
保存する。
リバーブ
reverb_sample01.pd
課題
★read_sound_file01.pd に[freeverb~]を組み込んで read_sound_file01_rev.pd として保存す
る。
ディレイ
delay_unit.pd を使う。
delay_unit.pd
課題
★read_sound_file01.pd に[delayunit]を組み込んで read_sound_file01_del.pd として保存す
る。
フィルタ
filter_unit.pd
課題
★ read_sound_file01.pd に[filter_unit]を組み込んで read_sound_file01_filt.pd として保存
する。
宿題
Pd Recipe Book の第 4 章を再度おさらいする。
Pure Data を使って作る音のパッチを考え、少しでも作ることをトライする。
パッチのアイデアは簡単なもので構わない。
キーを押すと音が鳴る、ランダムに Pitch が変わるなど。
次回授業の最初に発表。