「Processingで楽器をつくろう」の最後の記事です。 最後は、倍音を含んだ音を加工して音をつくる減算式シンセサイザーをつくろうと思います。 シンセサイザーの構成 次の図は、今回作成するシンセサイザーの構成を表しています。 太い矢印が音声信号、細い…
少し前に、fladdictさんの乱数にコクを出すという話がネットで盛り上がっていました。 乱数にコクを出す方法について - Togetterまとめ 私もかれこれ1年以上、Processingで作品を作ってきましたが、自分の作品のクオリティをもっと上げていくには、こういう…
今回は、ProcessingのMinimとControlP5を使ってリズムマシンを作りたいと思います。 リズムマシンは、ドラムパターンを自動で演奏する楽器です。 メトロノームをつくる まずは、これから作るリズムマシンの基本を理解するためにメトロノームを作ってみたいと…
今回は、Processingでエフェクターを作ろうと思います。 エフェクターは入力した音に音響効果を加えて出力するもので、特にエレキギターやエレキベースといった楽器で音を加工するために使われています。 エフェクターの種類は多々ありますが、そのうちのい…
前回はキーボードを鍵盤にしました。今回はMinimとControlP5を使って簡単なサンプラーを作りたいと思います。 サンプラーとは、いろいろな音を録音して、それを音源として利用する楽器です。 音を録音することをサンプリングと呼びます。 ファイルを再生する…
第1回目ではMinimを、第2回目ではControlP5について解説しました。 ここから、本格的に楽器づくりを始めていきたいと思います。 まずは手始めとしてPCのキーボードを楽器の鍵盤のように叩くと音がでるようにしたいと思います。 キーボードを鍵盤にする 次の…
今回はProcessingでGUIを扱うためのライブラリであるControlP5の使い方を解説します。 GitHub - sojamo/controlp5: A gui library for processing.org ControlP5のインストール ControlP5はProcessingにデフォルトではインストールされていないので、はじめ…
ProcessingではblendMode()で色を重ねたときにどう表示するかを決定するすることができます。 これを使うと発光表現を簡単に作ることができるらしいのですが、いまいち公式リファレンスを読んでも何がどうなるかがわからず敬遠していました。 なので今回はbl…
ここではProcessingで音を扱うためのライブラリであるMinimについて解説します。 スピーカーから音を鳴らす まずはMinimの基本的な使い方を確認していきましょう。 次のコードはスピーカーから440Hzのサイン波を鳴らすものです。 /* * sample01 */ import dd…
最近、ProcessingのMinimとControlP5で楽器を作っています。 サウンド カテゴリーの記事一覧 - 30 min. Processing このノウハウを折角なので、まとめていきたいと思います。 MinimはProcessingで音を扱うためのライブラリです。Minimを使うことで、ファイル…
ProcessingでパラメータをGUIで操作できるBoidsを作成しました。Boidsはパラメータが多数あるので、これでパラメータの影響がわかりやすくなると思います。 Boids自体は、前に作成した3D版と同じようにProcessingのSampleにあるFlockingを参考にしています。…
Processingで3DのBoidsを作成しました。群れをつくって3D空間を飛んでいます。 基本的にはProcessingのSampleにある「Topics/Simulate/Flocking」を3Dになるように書き換えただけです。 このSampleは「The Nature of Code」の「6. AUTONOMOUS AGENTS」で解説…
OpenProcessingでlerpColor()という便利な関数を教えてもらったので、メモ代わりにまとめておきます。 dancing flame- OpenProcessing lerpColor()は簡単に言うと、lerp()というある2つの値の間を0.0〜1.0の比率で指定して取得することができる関数の色版み…
ドラム音の合成についてわかりやすい動画があったので、自分用にまとめておきます。 基本的には、ピッチとボリュームにエンベロープをかけた正弦波か三角波と、ボリュームにエンベロープをかけたノイズ音を足し合わせて、それぞれのドラム音をつくっているよ…
今までPure Dataで作成してきたものを組み合わせて、鍵盤・VCO・VCF・VCA・EG・LFOがついたシンセサイザーを作成しました。 キーボードの「abcdefgh」がそれぞれ「ドレミファソラシ」に対応しています。 Pure DataでPCのキーボードを鍵盤にする - aa develop…
Pure DataでPCのキーボードを鍵盤にして音階をならすパッチを作成しました。 キーボードの「a b c d e f g h」がそれぞれ「ド レ ミ フ ァ ソ ラ シ」に対応しています。 左上のラジオボタンで音の高さを変更することができます。 「key」でキーボードの入力…
Pure DataでADSR(Attack・Decay・Sustain・Release)を設定できるエンベロープジェネレーターを作成しました。 このパッチでは、エンベロープジェネレーターを音量にかけています。 #N canvas 444 82 415 519 10; #X obj 96 385 *~; #X obj 145 236 pack f …
Pure Dataで「vcf~」オブジェクトを用いて、カットオフ周波数にLFOをかけてワウ効果を得るパッチを作成しました。 「vcf~」のパラメータは基本的には、以前に使った「bp~」と同じですが、カットオフ周波数の引数に音声信号を用いることができます。 Pure Dat…
Pure Dataでローパスフィルター、ハイパスフィルター、バンドパスフィルターは、「lop~」、「hip~」、「bp~」オブジェクトでそれぞれかけることができます。 それぞれのフィルターをノイズ音源にかけてみるパッチを作成しました。 まずは、ローパスフィルタ…
Pure Dataで音声信号のスペクトラムを表示するパッチを作成しました。 以下のサイトを、参考にして作成しました。 こじ研(音・映像メディア) Pure Dataでのスペクトラム作成について、以下のページに詳しい説明が書かれています。 第1章 SDRって何? FFTに…
以前、作成したパッチを組み合わせて、正弦波・ノコギリ波・三角波・矩形波・PWMからどれか一つを選択して鳴らすことができるパッチを作成しました。 Pure Dataで正弦波/のこぎり波を切り替えるパッチ - aa develop Pure Dataで矩形波を鳴らす - aa develop …
Pure DataでのPWMを鳴らすパッチを作成しました。 PWMの作成方法は、以前作った矩形波とほとんど同じです。 PWMのパルス幅を可変できるようにしました。 Pure Dataで矩形波を鳴らす - aa develop ソースコード #N canvas 349 252 558 382 10; #X obj 68 91 p…
Pure Dataで三角波を鳴らすためのパッチを作成しました。 三角波はのこぎり波「phasor~」を合成することで生成します。 わかりづらいので、生成過程の各ステップの波形も見れるようにしました。 ソースコード #N canvas 102 26 1178 736 10; #X obj 280 97 p…
自分用にPure Dataを学べるサイトをまとめてみました。 こじ研(音・映像メディア) Pure Data 入門 Pure Data 音処理 Pure Data 画像生成 Pure Data 画像処理 Pure Data コネタ集 Pure Data 小辞典 Pdでリズムマシンをつくる プロローグ 習うより慣れる | L…
Pure Dataで、矩形波はのこぎり波「phasor~」から作成します。 今回は、2通りの手法で矩形波を鳴らすパッチを作りました。 ラジオボタンで、矩形波の生成手法を選択することができます。 (生成されるのは同じ周波数の矩形波なので、音は変わりません。) 左…
Pure Dataを始めました。 まずは、モジュラーシンセサイザーっぽいものの作成を目指しながら、Pure Dataでのプログラミングを学習したいと思います。 モジュラーシンセ作成の手始めとして音が出る部分のVCOを作ります。 Pure Dataでは正弦波とのこぎり波は最…
この模様の名前は「賽形(さいがた)」 英語では「Cube Pattern」 賽形模様(Cube Pattern) - 30 min. Processing
Pythonからシリアル通信でArduinoにデータを送り、LEDの明るさを制御する。 Arduinoには、D13とGRDにLEDを接続する。 Pythonでのシリアル通信には、pySerialライブラリが必要。 $ pip install pyserial 以下、コード。 PythonからArduinoに数値を送るときは…
脳波ヘッドバンドのMuseで脳波から集中度を所得し,その値をProcessingでArduinoに送ってLEDの明るさを変化させる. MuseはPCとBluetooth接続し,ターミナルから以下のコマンドを実行する. $ muse-io --device Muse-XXXX --osc osc.udp://localhost:5000 LE…