niszetの日記

10年目エンジニアが最近勉強したことを忘れないようにメモをする

Rで音楽を作るための準備

Rで音楽を作るまでの長い道のり

色々あって、シンセサイザーについて勉強中です。

さて、yutaniさんのrsound
notchained.hatenablog.com

ですが、今の環境ではうまく入らない…。
なので、いったんローカルにもってきて自分のライブラリとして作ってしまおうかと(まだできてない)
単純にライブラリを作るだけのR力が私に足りない…のです。

なお、playitbyrはCRANにはない
* playitbyr
CRAN - Package playitbyr

GitHubには一応あるよ
* playitbyr
github.com

playitbyrに関連して、audiolyzR
* audiolyzR
CRAN - Package audiolyzR

というライブラリもあるらしい。が、動くかわかりません(cranにはまだあるぽい?)

Csoundについて

調べると1500くらい文法に関わるものがあるということで、それを全部R側で対応するのは難しい。
ということで、構文だけは持っておきながら文字列で引き渡すのが正解かなという感じですね。

Csoundについては、ここで

サンプルを実行すると面白い。filterのあたりでシンセぽい音が出てきて感動できる、かも。
write.flossmanuals.net

文法はここで調べられる。
The Csound Book - Chapter 1

ほかのパッケージ

tuneR

tuneRというパッケージがある。

CRAN - Package tuneR

これは直接wave形式のファイルを書き出すようですね

e1071

STFTについては、e1071にも含まれているようである。
R: Computes the Short Time Fourier Transform of a Vector

seewave

seewaveパッケージは波形を見れるようだ。ただし通常のplotを使っている(未調査)ようである。
CRAN - Package seewave

Rwave

Rwaveというパッケージはwaveletなどの変換ができる、SのパッケージをRに移植したような説明が書かれている。
CRAN - Package Rwave

signal

signalというパッケージはMatlab/Octaveの関数をRに移植したような感じですね。
CRAN - Package signal

以下、調査中 * SMF, standard MIDI Formatについて * シンセサイザーの基礎 * WAVEファイルの基礎

参考している書籍

  • C言語ではじめる 音のプログラミング ―サウンドエフェクトの信号処理― shop.ohmsha.co.jp

  • シンセサイザーの全知識 本格派を目指すキミに! という本も読んでいますが、これはもうamazonで在庫がないですねぇ。

おまけ

Tokyo.R 61 参加してきました!
第61回R勉強会@東京(#TokyoR) : ATND

LTもセッションも楽しかったですし、懇親会も参加して色々な方とお話が出来ました。
もうちょっとR力を高めて参加したいな。rsoundを引っ提げて、とかね!頑張りましょう。先は長い~~