blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

csoundを使ってみる

いきさつ

PythonやRを使って画像を生成することはできるようになってきたのですが、今度は音を生成してみたいな、ということでcsoundを触ってみました。

csoundとは

Csoundは音響を扱うデータ記述言語であり、 「サウンドコンパイラ」あるいは音楽プログラミング言語とも呼ばれる。

Csound は2種類の特別な形式のテキストファイルを入力として使用する。 orchestra ファイルは楽器の性質などを記述し、score ファイルは楽譜などの時系列パラメータを記述する。 Csound はこれらのファイルにある命令群を実行し、音声ファイルを生成したり、リアルタイムで音声を出力したりする。

インストール

$ sudo apt-get install csound

コード

wikipediaからの引用です。正弦波1kHzの音を1秒間鳴るtone.wavを生成します。 このファイル名をdata.csdとします。

<CsoundSynthesizer>

  <CsOptions>
    csound -W -d -o tone.wav
  </CsOptions>

  <CsInstruments>
    sr     = 96000
    kr     = 9600
    ksmps  = 10   
    nchnls = 1    

    instr 1
    a1     oscil p4, p5, 1  
    out a1                  
    endin
  </CsInstruments>

  <CsScore>
    f1 0 8192 10 1          
    i1 0 1 20000 1000  
    e
  </CsScore>

</CsoundSynthesizer>

コンパイル

以下のコマンドを打つことでtone.wavが生成されます。

$ csound data.csd

注意点

ファイルの拡張子を.csdとしないとエラーが出てコンパイルできません。