この動画に触発されてラズパイでギターのエフェクターを作ってみました。(動画ほど本格的じゃないです)
PureDataというリアルタイムでの音声信号処理が得意なツールをラズパイ上で動かして実装しています。
機器は以下のようにつながっています。
ギター---シールド---ステレオ標準⇔ステレオミニ(3.5mm)変換プラグ---サウンドカード---Raspberry Pi---サウンドカード---スピーカー
参考サイト
https://guitarextended.wordpress.com/
ラズパイエフェクターだけでなくArduinoでフットスイッチまで自作してしまった人のサイト。
PureDataの様々なtipsからラズパイのセットアップまで幅広く丁寧に解説しているので英語が得意な人はこちらを参考にした方がいいかも。
https://github.com/doitnowlabs/rpieffectbox
さっき紹介した動画のプロジェクト。
詳しい人は中身をクローンして自分用に書き換えちゃいましょう。
Raspberry Piの準備
私はRaspberry Pi2 modelBを使用しましたが、参考サイトではRaspberry Pi Type Aを使用していたので旧型でも問題なさそうです。
OSはRaspbianです。セットアップ方法はググればいくらでも転がってるのでそちらを参照してください。
OSのバージョンが古いと必要なツールのインストールが出来なくなるので以下のコマンドで最新の状態に保っておくことをお忘れなく。
1 2 |
sudo apt-get update sudo apt-get upgradde |
サウンドカードの準備
ラズパイには音声入力用の端子が無いためUSBサウンドカードを用意しましょう。
今回は以下の商品を購入しましたが、E-MU 0404 USBなどのもっと本格的なオーディオI/Fも利用できるようです。
ただし相性があるらしいので動作確認済みのサウンドカードを購入するのが無難です。(手持ちのTASCAM US 144-mk2は動作しませんでした。)
サウンドカードが用意できたらラズパイに差し、入力端子にギターのシールドやマイクを、出力端子にヘッドホンやスピーカーを接続します。
ギターのシールドは一般的に6.3mmの標準プラグであり今回用意したサウンドカードの端子とはサイズが合わないため、3.5mmミニプラグへ変換するをかませました。
Pure Dataのインストールとオーディオ設定
まずはターミナルで以下のコマンドを打ってPureDataとライブラリをインストールしましょう。
1 |
sudo apt-get install puredata |
1 |
sudo apt-get install pd-comport pd-cyclone pd-mapping pd-zexy |
インストールが終了するとGUIメニューの『サウンドとビデオ』のところにPureDataが追加されるのでクリックして起動します。
Media > Audio Settingsを開き、【Input device】と【Output device】を『USB Audio Device(hardware)』に変更します。
これで音声の入出力をサウンドカードで行えるようになりました。
きちんと動作しているかを確認するために Media > Test Audio and Midi を開きます。
TEST TONESの60または80にチェックを入れるとサウンドカードに接続されているスピーカーから440Hzのサイン波が再生されます。
また、入力デバイスから正常に音を拾えていればAudio Inputの値が小刻みに変化します。
両者とも問題なければPure Dataでのサウンドカードの設定は完了です。
Pure Dataのパッチを作る
Pure Dataの基本的な使い方についてはこちらのサイトが参考になります。かの有名なこじ研です。
こじ研(小嶋研究室) Pure Data 入門
http://www.myu.ac.jp/~xkozima/lab/avmed-pd1.html
PureDataのメニューバーからFile > Newを選ぶと真っ白なキャンバスが現れます。
Ctrl+1をして長方形のオブジェクトを作成し、その中に「adc~」と入力します。
もう一度オブジェクトを作り今度は「dac~」と入力。
「adc~」オブジェクト左下の小さな四角をクリックし、そのまま押し下げて「dac~」オブジェクト左上の小さな四角につなぎ合わせます。
「adc~」はサウンドカードからの信号入力、「dac~」はサウンドカードへの音声出力を意味しており、このパッチでは入力された音声をそのまま出力しています。
Pure Dataを用いたエフェクタは基本的には「adc~」と「dac~」の間に様々な処理を挟むことで実現しています。
以下のサイトではファズ、ディレイ、ワウワウのパッチを公開しているので眺めてみたり、ダウンロードして実際に使ってみるとPureDataとはどんなものかがなんとなく理解できると思います。
パッチはメニューバーの File > Openをクリックすると開けます。
Pure Data Lesson
http://puredatalesson.blogspot.jp/2014/05/5.html
他のエフェクトもググればパッチが見つかるので必要に応じてダウンロードしましょう。
自分だけのオリジナルエフェクタ作りに挑戦するのも面白いですね。
おわりに
ラズパイを使ってギターの音に対してエフェクトを掛ける方法についてご紹介しました。しかし、これだけでは毎度毎度GUIからPureDataを起動しパッチを開く作業が必要なため、実用性に乏しい上に面倒です。
そこで、次の記事ではボタンを押すだけでエフェクトを切り替えてディスプレイ無しでも操作できるように改良したいと思います。