自分の声から3和音を生成する – PureData


基本は”G09.pitchshift.”を利用

今回はこんなものを作ってみました。といってもExampleをほとんど使いまわしたものですが…

PureDataには、便利なリファレンスが多く存在します。Macの場合ですと、Pd-extendedの上で

右クリック->パッケージの内容を表示

を選択します。そして、

Contents -> Resources -> doc -> 3.audio.examples

と進むとあらびっくり。便利なexampleが沢山あるじゃないですか!楽器店で売っているようなエフェクターが一通り再現出来てしまいます。

今回は、数あるExamplesの中からG09.pitchshift.pdを使用しました。読んで字のごとく、PitchShifterですね。求めていたものそのままじゃないですか!

[adsense]

Arrayボックス、key入力、録音…

まあ、簡単に言ってしまうと、上記の動画はG09.pitchshift.pdを2つ作っただけです。

pd pitchshifterという形で子化しています。

…それだけだとあまりにも能がないので、いくつか機能を加えました(動画でも解説していますが)。

まず、左上にリアルタイムで入力されている音声の波形を表示するようにしました。左下を見ていただければわかりますが、metroオブジェクトで101msごとにbangを出力し、Arrayの中身を更新しています。Arrayの大きさは100です。100msにすると動かなかったので(ちゃんとした理由があったはずですが忘れてしまいました…)101msとなっています。とりあえず、metroの間隔はArrayボックスの大きさよりも大きくしてあげましょう。

ちなみに、動画ではrightのアレイボックスしか動いていませんが、これは使用しているオーディオインターフェイスがモノラル入力であったためです。ステレオ入力であれば両方ともきちんと動きますよ!

あとはkey入力によってON/OFFを切り替えられるようにしました。また、右上のでかいやつはキーに応じて一つ目のピッチシフターの音を変えることが出来るようになっています。

最後に、左下の部分で録音ができるようになっています。

open(ファイル生成)→start(録音開始)→stop(録音終了)→print(書き込み)

で、今回の場合ですとsample1.wavというファイルが生成されます(動画の音声もこのように録音されたものです)

以上です。以下にコードを置いておきます。

pitchshifter.zip

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です