blog.monophile.net

コンピュータのこととかのメモ。

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS] においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。

work

各種システム構築と管理を承ります。

Cloud PlatformOpenstack, GCP, AWS, Azure, ...
Openstackkeystone, glance, cinder, swift, neutron, nova, ...
VirtualizationQEMU+KVM, LXD/LXC, Docker, ...
OSDebian GNU/Linux, Ubuntu, CentOS, ...
NetworksIPSec, L2TP, VXLAN, WirelessAP, ...
WebAppsWordPress, GitLab, Redmine, ...
Configuration ManagementAnsible, Terraform, ...
MonitoringNagios, Munin, ...

posts

csoundを使ってみる

いきさつ

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

csoundとは

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

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

csoundをインストール

$ sudo apt-get install csound

data.csd

wikipediaからの引用。 正弦波1kHzの音を1秒間鳴るtone.wavを生成する。

<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としないとエラーが出てコンパイルできない。