（WIP）Raspberry Piで音響合成したい

Raspberry Piを使って音を出したい。
どんな手があるのか、ぐーぐる先生に聞いてメモ。(随時追加します）

> こんなんあるよー！と、どんどん教えて頂けたら嬉しい！

# やりたいこと

- WAVとかを再生したい。ただし普通に再生するんじゃなくて、速さを自由に変えたり巻き戻し再生みたいなのもやりたい。
- ルーパー
- エフェクト処理
- マイクから録音
- スピーカーから鳴らす
- シンセ

などをプログラミング、組み合わせて変態音楽に使いたいｗ
ようするに、Mac+MAXでやってるようなことが部分的にでも出来たら嬉しいな。と。

# 候補

やってみた結果ではなく、やれるかも？と思ったものをとりあえず列挙。

## 1. [PureData (Pd)](http://puredata.info/docs/raspberry-pi)

MAXを作ったMiller Pucketteというスパゲッティー言語なオッサンが作ったMAX風なモノ。
私は線が曲がらないのがイヤで使ってないが、MAXがRaspberry Piに乗る訳でもないので仕方なく使うかも。
だいたいMAX/MSPに出来ることは概ね出来るっぽいので、おそらく、やりたいコトは、できそう。

唯一の欠点は、ビジュアルプログラミング環境なので、それなりのモニタやらマウスやらが必要なところか。
誰か、MAX6みたいな曲線化エクステンションとか追加してくれたら、使うモチベーションが上がるのだが。。。

> 2014/08/16 追記
> 試しにWindowsとMacにPureData入れてみました。
> 。。。。なんか、字が小さすぎて使うのあきらめました。。。このUI、現在のPCのモニタ事情に合わないと思います。Windows版はメニューとかのFontもとても読みづらいし。。。

### 参考リンク

#### [yoppa.org Pd入門2 – 音響合成、Pdでシンセサイザーをつくる (田所淳 氏)](http://yoppa.org/ssaw13/4567.html?fb_source=pubv1)

puredata今は挫折してるけど、このサイトを見てるとなんとなく使えそうに思えてくるくらい、判りやすく解説してくれてるので、ちゃんと読んでみよ。


## 2. [Sonic Pi](http://www.cl.cam.ac.uk/projects/raspberrypi/sonicpi/)

こちらは教育向けプログラミング環境？
サイトを見るとコードはこんな感じに書く？
![コード](http://www.cl.cam.ac.uk/projects/raspberrypi/sonicpi/media/code.png)

手軽そう！
最近の[Raspbian](http://www.raspbian.org/)には最初っから入ってるという優遇っぷり。

でも、これ、アプリ立ち上げてその上で動く感じか？
外との連携できんのかな？
というか、細かいことは期待できないんだろうな、、たぶん。

> 使ってみないとわからんので、使ってみてから追記します。

## 3. [Python](http://www.raspberrypi.org/documentation/usage/python/) + [pippi](https://github.com/hecanjog/pippi)

[hecanjog](https://soundcloud.com/hecanjog)って、オモロイ音いっぱい
作ってんだよなぁ。というわけで、前々から興味あったんだけど、
そもそもpython使ってないので、これも使ったことなし。

コマンドラインでサウンドファイル作るタイプのものっぽいので、組み合わせが楽しめそう。
Raspberry Piで動くかどうかは知りません。

> これも、やってみるリストだなｗ

## 4. node.js

最近、javascript触ることがおおいので、node.jsでやれたら嬉しいなぁ、とは思う。
使えそうなのがいろいろ。

### [baudio](https://www.npmjs.org/package/baudio)

ひととおりできそうだが、そもそもRaspberry Piで動くのかわからん。
OSC対応とかは、別モジュールと組み合わせれば余裕っぽいのだが。。

> 2014/08/21 更新
> Raspberry Pi + baudioでサンプルを音鳴らしてみました。
> 手順は[下記リンク](http://qiita.com/astronaughts/items/83e8dfcf7c587aab428e) を参考にさせていただきました。
> ⇒Raspberry Piでも無事鳴った。でも、リアルタイムにコマンドを送って音を変える、というような使い方ができるかはわからない。
> あと、ずっと鳴らしてると、時々処理が詰まってるような気がする。(音が飛んだり伸びたり)

[Node で Axel F（Beverly Hills Cop Theme）を奏でてみた](http://qiita.com/astronaughts/items/83e8dfcf7c587aab428e)

### [omgosc](https://github.com/deanm/omgosc)

OSCモジュールはこれがすき。Macではよく使ってる。

### [ws](https://github.com/einaros/ws)

WebSocketサーバを入り口にすればよさそう。流石にこれは動くだろ。
こないだMacでやった[WebSocket->OSC->音鳴らす人](http://qiita.com/tadfmac/items/319891223b88ab02b8a8)という手が使えるかも。という期待が。

> 2014/08/21 更新
> baudioをWSで遠隔コントロール、みたいな使い方は難しいかもしれない。

## 5. [SuperCollider](http://supercollider.sourceforge.net/)

> 2014/08/21追加

すっかり忘れてた。音響プログラミング言語。でも使ったことないので、使い方からだなこりゃ。
なんと、最初っからRaspbianに入ってるだと？

日本語の情報も結構充実してるので、そんなに勉強で困ることもなさそう。

> (というか、追記で書いてるけど、第一候補だろ！と知ってる人なら突っ込むところかも)

### 参考リンク

- [SuperCollider on the Raspberry Pi](http://sam.aaron.name/2012/11/02/supercollider-on-pi.html)
- [SuperCollider Japan Wiki](http://supercollider.jp/modules/bwiki/index.php?%BD%E9%BF%B4%BC%D4%B8%FE%A4%B1%BB%F1%CE%C1%BE%F0%CA%F3)
- [tn8のSuperColliderブログ (tn8さん)](http://supercollider.jp/blog/)

## 6. [ChucK](http://chuck.cs.princeton.edu/)

> 2014/08/21追加

こちらは、全然知りませんでした。
これも音をプログラミングできるプログラミング言語？のようです。

Raspberry Piにもインストールできそう。

### 参考リンク

- [オーディオプログラミング言語 ChucKをいじる (ymotongpooさん)](http://ymotongpoo.hatenablog.com/entry/20090201/1233469504)
- [Raspberry Pi (その2) ― ChucKのインストール](http://emusic.g.hatena.ne.jp/Chuck/20130606/p1)

# 音響合成についての参考書・リンク

ちょっとだけ。

## [書籍『サウンドプログラミング入門――音響合成の基本とC言語による実装 (Software Design plus)』青木 直史(著)](http://www.amazon.co.jp/%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80%E2%80%95%E2%80%95%E9%9F%B3%E9%9F%BF%E5%90%88%E6%88%90%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8C%E8%A8%80%E8%AA%9E%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%A3%85-Software-Design-plus-%E9%9D%92%E6%9C%A8/dp/4774155225)

持ってないが読んでみたい。冬ボで買うかな。。。

## [書籍『Maxの教科書』ノイマンピアノ(著)](http://www.amazon.co.jp/Max%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%8E%E3%82%A4%E3%83%9E%E3%83%B3%E3%83%94%E3%82%A2%E3%83%8E/dp/4845617021)

これは持ってる。MSPの項をもう一度読んでみよ。

## [aikeの日記 2013-05-24 Web Audio APIでオシレーターの実装方式いろいろ試してみた (aikeさん)](http://d.hatena.ne.jp/aike/20130524)

aike師匠の記事。こちらはWeb Audioに関する記事だけど、音の作り方の参考にもなる。ちゃんと読まなければ。（一度読んだのだけど、10%くらいしか理解できてないので、あと10回は読まねばw）

> 他にも良い情報・書籍があったら教えてください〜！