Pure Data入門講座 vol. 1 〜音の録音 / 再生〜

By terada, 2015年9月28日


SoraotoではPure Data (Pd)を使ったサウンドプログラミングのワークショップを様々な場所で開催してきました。ワークショップで作った様々なツールを眠らせておくのもったいないので、これまで作ってきたプログラムを紹介しながら、Pdの入門講座を行いたいと思います。サウンドプログラミングに興味のある方の参考になれば幸いです。それでは第一回目として、Pdの基本的な使い方と、音の入出力・可視化を行うプログラムの作成を行います。

Pure Data (Pd)とは?

Pure Data (Pd)とはMiller Pucketteが開発した、サウンドやマルチメディアを扱うプログラミング言語です。世の中にはたくさんのプログラミング言語がありますが、Pdの特徴は

  • ビジュアルプログラミング言語である
  • リアルタイム処理が得意

の2つです。ビジュアルプログラミング言語なので難しいコマンドを書くことなく直感的に扱いやすく、音声や楽器の音をリアルタイムに処理できるところがPdの大きな特徴と言えるでしょう。

PdはフリーソフトでWindows, Mac, Linuxなど主要なOSで動作します。ソフトのダウンロードは下記のサイトから行ってください。

PD community Site

最新版をダウンロードしてインストールが完了したらさっそくプログラムを書いてみましょう!

Pdで音を録音/再生しよう

まずは練習がてらにPdで音を録音して波形を表示するプログラムを作ってみます。Pdを起動させると次の様な画面が出ると思います。

pd01

この画面はPdウィンドウと呼ばれ、サウンド入出力のレベルメーターや、エラーメッセージなどが表示されるコンソールから構成されています。実際にプログラムを作成するにはパッチと呼ばれる画面を表示させなければなりません。“ファイル → 新規”をクリックして、新規パッチを作成してください。

pd02

このまっさらな画面にプログラムを書いて行きます。さっそく音を録音して波形を表示するプログラムを書いてみます。“配置 → オブジェクトボックス”を選択してパッチの画面上でクリックすると、四角い枠が表示されるので“adc~”と入力します。これが音の入力を表わすボックスです。Pdではこのように様々な機能を持つボックスを配置してプログラムを書いて行きます。

pd03

続いて音の波形を表示するパーツを作ります。“配置 → アレイ”を選択すると、“アレイのプロパティ”というボックスが出ると思います。ここでサイズを44,100と入力してOKを押すと、グラフが表示されると思います。ここに今から録音する波形が表示されます。ちなみに44,100という数値はデータの点数を表わします。デフォルトのサンプリング周波数が44,100 Hzなのでちょうど1秒分のデータの入れ物”array1″を作ったと思ってください。

pd04

ではこの“arrya1”という入れ物に今から音を入れる部分を作成します。図の様に2つのパーツを作ってください。一つは今までと同様にオブジェクトボックスを配置して“tabwrite~ array1”と書きます。もう一つの四角いボックスは“配置 → Bangボタン”を選択して配置してください。このBangボタンはこれからも様々な場所で使うパーツです。今は何となくの使い方だけわかれば大丈夫です。

pd05

最後にこれらのパーツを繋いで行きます。“adc~”というボックスの左下と右下に黒い部分があるので、そこにマウスを持って行くと、カーソルの形が◯に変わると思います。その状態でクリックをしたままマウスを動かすと線が延びるので、“tabwrite~ array1”ボックスの左上まで伸ばしましょう。同じ様に◯印に変わるのでマウスを放すと線が結べます。

pd06

これで音の波形を表示するプログラムの完成です。さっそく動かしてみましょう!プログラムを実行するにはPdウィンドウの”DSP”と書かれたチェックボックスをチェックしてください。次に“編集 → 編集モード”をクリックして実行モードにします。この状態でBangボタンを押すとちょうど1秒分の音の波形が表示されると思います。

pd07

このようにPdは様々な機能を持つボックスを配置して、それを線で繋ぐことでプログラムを作ります。ちなみにこのプログラムの中の“adc~”とはPCに取りこんだ音を出力するボックスで(左右の黒い部分はLchとRchを表わします)、“tabwite~ xxx”とはxxxにデータを書き込むことを表わします。さらにボックスを追加して下の様なプログラムを書くと録音した音を再生することもできます。“tabplay~ xxx”は音データの再生、“dac~”はPCのオーディオインターフェースに音データを出力するボックスです。

pd08

どうでしたでしょうか?Pdを使えばとても簡単にプログラムが書けることが体験出来たと思います。次回はPdのリアルタイム性を体験出来るサンプルとして、オシロスコープを作ってみようと思います。

世田谷区三軒茶屋の大人の学び場Soraoto。サイエンスカフェなどのイベント、各種セミナー・講演などを行う大人の学び場です。英会話教室も行っておりますので、受付はお問い合わせフォームから、気軽にお申し込みください。

logo2