6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi 3に安価なオーディオI/O基板を繋いでシンセサイザーを作る

Posted at

ラズパイで何作りたいって、やっぱりシンセやエフェクターでしょう。ということで、安価に手軽にできる方法をさぐってみました。

Audio I/Oが使えるもの

USB-Audio
手軽ですが、シンセという性質上レイテンシおよび安定性の問題からあまりいい選択肢ではありません。また、後で組み込んで筐体に入れるなどするときに厄介そうです。

I2S
いくつかドライバが用意されているチップがあります。BBのPCM5122が使われている例を多くみかけますが、これはInputがありません。サンプリング周波数が384kHzまで対応できるのは魅力…にみえますが、シンセでそこまで使いたくなることはあまりないでしょう。Cirrus LogicのWM8731というチップはI/O使えて96kHzまで対応できるので、これで探してみます。

Audio Injector

WM8731とRaspberry Piをキーワードに検索するといくつかラズパイ専用に設計されたものが引っかかりますが、中でもAudio Injectorというのがとてもいい感じの仕様です。シンセとしては入出力がRCAピンなのは残念ですが。ドライバも今のRaspbianには既に入っていて、config.txtに1行追加するだけでALSAドライバが有効になります。購入方法はEbayで買うのが直球そうですが、実はAmazon.co.jpでも売ってます。しかもプライム対応なので明日届きます。これを書いている時点での価格は2,949円。十分安いと思うので、一番のおすすめです。
http://amzn.to/2shT6IW

試作用ボード

特に名前はないのでそう呼ぶしかないのですが、もっと安価なボードがAliExpressで売ってます。
WM8731モジュール
これを書いている時点での価格は送料込み1,595円。Audio Injectorのおよそ半額。送料無料だけど、いつ届くかはまったくわかりません。小さくていいのですが、Raspberry Pi専用に作られているわけではないので、自分でRaspberry Piのピンに繋ぐ必要があります。また、水晶が載ってない状態で届いたので、12.288MHzもしくは12.000MHzの水晶と20pくらいのチップコンデンサを2個自分で実装する必要があります。12.288MHzを使う場合はRpi-Protoドライバ(ただし48kHzでしか使えません。96kHzで使う場合はソースコードを修正してカーネルをビルドする必要あり)、12.000MHzの場合はAudio Injectorのドライバがそのまま使えます。また、DAC部分とADC部分のクロックは同じピンに繋ぐ必要があるので、僕は基板上でジャンパ線をはんだづけして使ってます。IMG_9296.jpg

モジュール上のピン ラズパイのピン番号
GND 6:GND
3v3 1: 3.3V
BCLK 12:GPIO-18(I2S BCK)
DACDAT 19:SPI MOSI
DALRC 35:I2S LRC
ADCDAT 21:I2S MISO
ADCLRC 35:I2S LRC
MCLK (非接続)
IIC_SCK 5:I2C SCL
IIC_DAT 3:I2C SDA
うまくいけばこんな風に使えます。
IMG_9300.jpg
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?