ラズパイで何作りたいって、やっぱりシンセやエフェクターでしょう。ということで、安価に手軽にできる方法をさぐってみました。
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部分のクロックは同じピンに繋ぐ必要があるので、僕は基板上でジャンパ線をはんだづけして使ってます。