いらないモノ、ひつようなモノ

書籍、音楽、そして若干のテクノロジー

Ubuntu Studioにcsound-5.09をインストール

こんどはFedoraではなく、いわゆるマルチメディアLinux*1の一つである、Ubuntu Studio(8.10 (Intrepid) DVD Image*2 )を使ってみることにした。いま、その環境でメモをとりながら作業をしている。

ubuntu studioの日本語入力対応

日本語入力できなかったので対応した*3

  • sudo apt-get install scim-anthy
  • sudo apt-get install scim-tables-ja

この後何も考えずOS毎再起動してしまった(その必要はないですね)

csoundと関連ファイルのダウンロード

  • csoundのソースファイルを持ってくる。ここに詳しくは書いた。sourceforgeにcsound5.09 Last Update: Sep 23 2008とあった。
sudo apt-get install gcc
  • gcc バージョン 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
  • Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)
  • scons v0.97.0d20071203.r2509, 2007/12/03 20:20:38, by broonie on mercator
  • libsndfile 1.0.17

./configureしたらgccでエラーとgawkが入ってない、synapticでgawkをインストールして、libc6-devをさらに加えたら動いた。

checking alsa/asoundlib.h presence... no
checking for alsa/asoundlib.h... no
checking FLAC/all.h usability... no
checking FLAC/all.h presence... no
checking for FLAC/all.h... no

とエラーが出ていたがまあ、ほっといてmakeしたらg++がないと怒られてまたsynapticからインストール。でやっとmakeが終了し、sudo make installで終了

  • fltk 1.1.9

前回の記録には1.1と書いてあったが、サイトに行ったら、1.1.1〜1.1.9までバラエティーに富んでいたので、まずは1.1.9を取ってきた。configureしたら「could not find required X11 libraries」と怒られたのでlibx11-devを持ってきたらconfigureは通った。makeをするとXextがないとリンク時に怒られるので、またsynapticでlibxext-devを持ってきて、makeしたら通ったので、sudo make installで完了。これはCsoundACのためなんだけど。使わない気もするなぁ。

  • portaudio

synapticで見るとlibportaudio2(19+svn20071207-0ubuntu3)が入っているのですっ飛ばす。portaudio19-devという開発用パッケージも入っている。

  • portmidi

これもsynapticで見ると入っている。ヘッダファイルなどでどこかでこけても嫌なのでportmidi-devを念のため入れておく。

  • fluidsynth

これも入っていた。libfluidsynth-devだけをこれまた一応入れておく。

Download Version 4.3.1 (7 December 2007)とこれも新しくなっていた。
copied into csound5/Opcodes/stk.

Version 1.36.0/August 14th, 2008 12:00 GMTと更新されていたのでこれを持ってくる。
でも、csoundVSTは今回は作らない予定。

  • funknown.h

csoundVSTつくらないのでこれも今回は不要。

csound 5.09のコンパイル

  • scons開始

vstもPDもよく考えるとtcltkのGUIも何もなしで、まずはfloat版*4(double版ではなく)を作ろうと思うので下記のように開始。

scons useOSC=1 buildVirtual=1 buildStkOpcodes=1 buildRelease=1
  • Engine/otran.c

281行目に

setlocate(LC_NUMERIC,"C");

とあるがこれでエラーが出てコンパイルできない。そこで、

setlocale(LC_NUMERIC,"C");

と修正して、

#include "oload.h"
#include "insert.h"
#include "pstream.h"
#include "namedins.h"           /* IV - Oct 31 2002 */

の次に

#include 

を加えてコンパイル。すると通った。

install

もともと5.08*5そこから

./install.py

としてインストール完了

a9a9@ubuntu:~/csound5$ csound -v
virtual_keyboard real time MIDI plugin for Csound
PortAudio real-time audio module for Csound
0dBFS level = 32768.0
Csound version 5.09 (float samples) Nov  2 2008
libsndfile-1.0.17

一応完了。setlocate->setlocaleに変更のところで時間がかかった。本当にこれでただしのかどうか分からないけど。。。

 === Installing executables ===
  /usr/local/bin/csound
  /usr/local/bin/cvanal
  /usr/local/bin/dnoise
  /usr/local/bin/envext
  /usr/local/bin/extractor
  /usr/local/bin/het_export
  /usr/local/bin/het_import
  /usr/local/bin/hetro
  /usr/local/bin/lpanal
  /usr/local/bin/lpc_export
  /usr/local/bin/lpc_import
  /usr/local/bin/mixer
  /usr/local/bin/pvanal
  /usr/local/bin/pv_export
  /usr/local/bin/pv_import
  /usr/local/bin/pvlook
  /usr/local/bin/scale
  /usr/local/bin/sndinfo
  /usr/local/bin/srconv
  /usr/local/bin/scsort
  /usr/local/bin/extract
  /usr/local/bin/cs
  /usr/local/bin/csb64enc
  /usr/local/bin/makecsd
  /usr/local/bin/scot
  /usr/local/bin/brkpt
  /usr/local/bin/linseg
  /usr/local/bin/tabdes
 === Installing libraries ===
  /usr/local/lib/libcsound.a
 === Installing plugins ===
  /usr/local/lib/csound/plugins/libcs_date.so
  /usr/local/lib/csound/plugins/libpartikkel.so
  /usr/local/lib/csound/plugins/libudprecv.so
  /usr/local/lib/csound/plugins/libphisem.so
  /usr/local/lib/csound/plugins/libmutexops.so
  /usr/local/lib/csound/plugins/libloscilx.so
  /usr/local/lib/csound/plugins/libftest.so
  /usr/local/lib/csound/plugins/libphysmod.so
  /usr/local/lib/csound/plugins/libwidgets.so
  /usr/local/lib/csound/plugins/librtalsa.so
  /usr/local/lib/csound/plugins/libcs_pan2.so
  /usr/local/lib/csound/plugins/libstk.so
  /usr/local/lib/csound/plugins/libugakbari.so
  /usr/local/lib/csound/plugins/libshape.so
  /usr/local/lib/csound/plugins/libpvsbuffer.so
  /usr/local/lib/csound/plugins/libvosim.so
  /usr/local/lib/csound/plugins/libpitch.so
  /usr/local/lib/csound/plugins/libeqfil.so
  /usr/local/lib/csound/plugins/libpvoc.so
  /usr/local/lib/csound/plugins/libstdutil.so
  /usr/local/lib/csound/plugins/libfluidOpcodes.so
  /usr/local/lib/csound/plugins/libhrtfnew.so
  /usr/local/lib/csound/plugins/libosc.so
  /usr/local/lib/csound/plugins/libmodal4.so
  /usr/local/lib/csound/plugins/libsfont.so
  /usr/local/lib/csound/plugins/libambicode1.so
  /usr/local/lib/csound/plugins/libstackops.so
  /usr/local/lib/csound/plugins/libbarmodel.so
  /usr/local/lib/csound/plugins/libampmidid.so
  /usr/local/lib/csound/plugins/librtjack.so
  /usr/local/lib/csound/plugins/libcompress.so
  /usr/local/lib/csound/plugins/libsystem_call.so
  /usr/local/lib/csound/plugins/libscoreline.so
  /usr/local/lib/csound/plugins/libstdopcod.so
  /usr/local/lib/csound/plugins/libbabo.so
  /usr/local/lib/csound/plugins/libgabnew.so
  /usr/local/lib/csound/plugins/libharmon.so
  /usr/local/lib/csound/plugins/libudpsend.so
  /usr/local/lib/csound/plugins/libptrack.so
  /usr/local/lib/csound/plugins/libmixer.so
  /usr/local/lib/csound/plugins/libvbap.so
  /usr/local/lib/csound/plugins/libjackTransport.so
  /usr/local/lib/csound/plugins/libminmax.so
  /usr/local/lib/csound/plugins/libvirtual.so
  /usr/local/lib/csound/plugins/libhrtferX.so
  /usr/local/lib/csound/plugins/libvaops.so
  /usr/local/lib/csound/plugins/libgrain4.so
  /usr/local/lib/csound/plugins/librtpa.so
  /usr/local/lib/csound/plugins/libcontrol.so
  /usr/local/lib/csound/plugins/libscansyn.so
  /usr/local/lib/csound/plugins/libcs_pvs_ops.so
 === Installing header files ===
  /usr/local/include/csound/cfgvar.h
  /usr/local/include/csound/cscore.h
  /usr/local/include/csound/csdl.h
  /usr/local/include/csound/csound.h
  /usr/local/include/csound/csound.hpp
  /usr/local/include/csound/csoundCore.h
  /usr/local/include/csound/cwindow.h
  /usr/local/include/csound/msg_attr.h
  /usr/local/include/csound/OpcodeBase.hpp
  /usr/local/include/csound/pstream.h
  /usr/local/include/csound/pvfileio.h
  /usr/local/include/csound/soundio.h
  /usr/local/include/csound/sysdep.h
  /usr/local/include/csound/text.h
  /usr/local/include/csound/version.h
  /usr/local/include/csound/CppSound.hpp
  /usr/local/include/csound/filebuilding.h
  /usr/local/include/csound/CsoundFile.hpp
 === Installing language interfaces ===
 === Installing Localisation files ===
  /usr/local/share/locale/de/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/en_GB/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/en_US/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/es_CO/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/fr/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/it/LC_MESSAGES/csound5.mo
  /usr/local/share/locale/ro/LC_MESSAGES/csound5.mo
 === Installing documentation ===
  /usr/local/share/doc/csound/COPYING
  /usr/local/share/doc/csound/ChangeLog
  /usr/local/share/doc/csound/INSTALL
  /usr/local/share/doc/csound/readme-csound5.txt
 === Installing Tcl/Tk modules and scripts ===
  /usr/local/lib/csound/tcl/nsliders.tk
  /usr/local/bin/matrix.tk
 === Installing STK raw wave files ===
  /usr/local/share/csound/rawwaves/halfwave.raw
  /usr/local/share/csound/rawwaves/mand11.raw
  /usr/local/share/csound/rawwaves/sineblnk.raw
  /usr/local/share/csound/rawwaves/mand5.raw
  /usr/local/share/csound/rawwaves/mand4.raw
  /usr/local/share/csound/rawwaves/marmstk1.raw
  /usr/local/share/csound/rawwaves/tomlowdr.raw
  /usr/local/share/csound/rawwaves/dope.raw
  /usr/local/share/csound/rawwaves/mand3.raw
  /usr/local/share/csound/rawwaves/impuls20.raw
  /usr/local/share/csound/rawwaves/tomhidrm.raw
  /usr/local/share/csound/rawwaves/peksblnk.raw
  /usr/local/share/csound/rawwaves/crashcym.raw
  /usr/local/share/csound/rawwaves/mandpluk.raw
  /usr/local/share/csound/rawwaves/fwavblnk.raw
  /usr/local/share/csound/rawwaves/silence.raw
  /usr/local/share/csound/rawwaves/tambourn.raw
  /usr/local/share/csound/rawwaves/snglpeak.raw
  /usr/local/share/csound/rawwaves/ridecymb.raw
  /usr/local/share/csound/rawwaves/sinewave.raw
  /usr/local/share/csound/rawwaves/mand1.raw
  /usr/local/share/csound/rawwaves/mand8.raw
  /usr/local/share/csound/rawwaves/cowbell1.raw
  /usr/local/share/csound/rawwaves/mand2.raw
  /usr/local/share/csound/rawwaves/mand7.raw
  /usr/local/share/csound/rawwaves/snardrum.raw
  /usr/local/share/csound/rawwaves/ppksblnk.raw
  /usr/local/share/csound/rawwaves/eee.raw
  /usr/local/share/csound/rawwaves/mand12.raw
  /usr/local/share/csound/rawwaves/mand10.raw
  /usr/local/share/csound/rawwaves/tommiddr.raw
  /usr/local/share/csound/rawwaves/bassdrum.raw
  /usr/local/share/csound/rawwaves/impuls10.raw
  /usr/local/share/csound/rawwaves/ahh.raw
  /usr/local/share/csound/rawwaves/mand9.raw
  /usr/local/share/csound/rawwaves/impuls40.raw
  /usr/local/share/csound/rawwaves/ooo.raw
  /usr/local/share/csound/rawwaves/britestk.raw
  /usr/local/share/csound/rawwaves/mand6.raw
  /usr/local/share/csound/rawwaves/hihatcym.raw
  /usr/local/share/csound/rawwaves/twopeaks.raw
 === Installing uninstall script ===
  /usr/local/bin/uninstall-csound5
 === Installing MD5 checksums ===
  /usr/local/csound5-2008-11-03.md5sums

Csound installation has been successfully completed.
Before running Csound, make sure that the following environment
variables are set:
  OPCODEDIR=/usr/local/lib/csound/plugins
  CSSTRNGS=/usr/local/share/locale
  RAWWAVE_PATH=/usr/local/share/csound/rawwaves
Csound can be uninstalled by running /usr/local/bin/uninstall-csound5

5.06の時と同じように環境変数を設定し、studien10.csdを実行したら動いて、aplayで音も確認できた。前よりは時間の短さとか進歩したかも。(早くはないが。。)

*1:他には、Vector Linux+MMBD(Vector Linux Multimedia Bonus Disc)やdyne:bolic,64 Studio等

*2:http://cdimage.ubuntu.com/ubuntustudio/releases/8.10/release/からたどって、PC (Intel x86) alternate install DVDを選択する

*3:実際には、無線LANを動かすようにしてから、いくかのパッケージをダウンロードを初めてから、記録を開始しようとしたら表示が日本語のくせに日本語入力ができないことが分かってそれから日本語入力の対応をしたのだけれど

*4:double版に比べて計算が15%早いと言われている音を表現するのに32bitしか使わないfloat版をまず作ろうと思う。こちらができちゃえば、もう一度コンパイルして音を64bitで表現するdouble版を作って多分名前を変えてインストールすればいいし。

*5:正確には1:5.08.0.dfsg2-1ubuntu3)がインストールされているので、synapticでアンインストールする。csoundtとlibcsound64-5.1の二つを指定する。 そのあとは、rootのコンソール画面を開いて((これはsynapticかなにかで最初の頃インストールしたが忘れちゃった。。