2013年8月25日日曜日

Pdでシーケンス生成

楽しくて一日中Pdいじってました. 

昨日のデータを修正して,課題だった
・Shuffleを数値の足し引きではなく,偶数ステップにディレイをつける考え方に変更
・トリッキーな算術モジュール[expr]を使わず[+ ] [/ ]等の通常の算術Objectで計算
を済ませて,この過程で入力のHot/Coldの概念の理解も進んだ.

とりあえず次は再生ピッチ関連の機能だなということで作り進めて,
任意の波形をエンベロープ入力源としたピッチ制御を組み込み.
ついでに既存の波形だけじゃなくオシレータまわりの勉強もしとこうと思い,
16分刻みでミョコミョコ鳴るだけのシンセも入れてみました.

あと,freeverb(オープンソースのReverbですな)が入ってたのでとりあえず挟んでみました.


shufflertest20130824.zip



zipをDLして,qntizer.pdを開いて下さい.他の2つのファイルはqntizer.pd内で使ってます.
操作できるのは,左上で囲っている領域と,色のついたフェーダー,
そして右に置いているarray0とarray1のグラフです.
最初は音が鳴らないと思うので,Pdのコンソール(起動画面)で
「DSP」をONにしてあげてください(つけ忘れた).

ちょっと操作して遊んでみたのを録音したので置いときます.
shufflertest.mp3

しかしぐちゃぐちゃすぎる…
まぁ,作っておきたかった内容がいろいろとこの中に含まれてるので,
機能的部分を取り出して外部モジュール化しておこう.

次の課題は
  • 変数のスコープはすべてグローバルになっているらしく,ローカル変数は名前に"$0"をつけて内部的にローカルな数字に置き換えるという対応をするようだが,wavを読み出してる[soundfiler]に"$0"を含むメッセージを投げると怒られるのを対策.
  • タイムベースに依存しない任意のタイミングでのイベントに対し,リアルタイムで16ステップにクォンタイズさせる機能を作る.Rezのように,適当にボタンを連打しても自動的にジャストのリズムで発音させる.

0 件のコメント :

コメントを投稿