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

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

Cinelerra

kino*1
cinelerra*2Linux上で動作する映像編集環境である。他にjahshaka*3、fusion(現在メンテナンスされているのか不明),open shot video editor、

kinoは、
インストールには同じくPPAを用いる*4
deb http://ppa.launchpad.net/cinelerra-ppa/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/cinelerra-ppa/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 432BB368

*1:http://www.kinodv.org/

*2:http://cinelerra.org/

*3:http://sourceforge.net/projects/jahshaka/

*4:https://launchpad.net/~cinelerra-ppa/+archive/ppa

KXStudioのツール類をUbuntuStudioにインストールする

KXStudioLinuxディストリビューションではなく、ツールの集合として定義されている。よって、UbuntuStudioなどとの位置づけとは異なる。逆に言うと各ツールは有名なディストリビューションへの対応を明確にしている。知らないツールばかりあったらのでそれを試すことにした。

リポジトリ

リポジトリについての説明がhttp://kxstudio.sourceforge.net/KXStudio:Repositoriesにあるので、ここの説明に基づいて作業をすすめる。

Personal Package Archive(PPA)のパスは

https://launchpad.net/~kxstudio-team/+archive/

もしくは

ppa:kxstudio-team/

で、ショートネームは以下の8つから選択する

  1. Main (ppa)
  2. KXStudio (kxstudio)
  3. Kernel (kernel)
  4. JACK1 (jack1)
  5. Music (music)
  6. Games (games)
  7. Broken (broken)
  8. Testing (testing)

musicは音楽データを入れる予定だがまだ何も無いらしい。Jack1はJack2の環境をJack1で上書きするので使いたくない。

インストールする

まずPPAを登録

vcrtrap@ubuntu:~$ sudo apt-add-repository ppa:kxstudio-team/ppa
[sudo] password for vcrtrap: 
You are about to add the following PPA to your system:
 KXStudio-Team Main
 This PPA provides new and updated packages for Ubuntu

For bugs and requests, use the KXStudio launchpad page:
https://bugs.launchpad.net/kxstudio



Along with this PPA, you may also want to add these below:

For Kernels and drivers:
https://launchpad.net/~kxstudio-team/+archive/kernel/

For meta-packages and artwork:
https://launchpad.net/~kxstudio-team/+archive/kxstudio/

For bleeding-edge packages:
https://launchpad.net/~kxstudio-team/+archive/latest/

For samples and soundfonts:
https://launchpad.net/~kxstudio-team/+archive/music/

For extra games:
https://launchpad.net/~kxstudio-team/+archive/games/



Special Notes:

  • You can get PulseAudio support in JACK by installing "pulse-jack" package, then run 'pulse-jack' after jackd/jackdbus is started
  • Jack2 is in the PPA, replacing the old Jack1
  • LADI is fully supported (all there is about it, it's here)
More info: https://launchpad.net/~kxstudio-team/+archive/ppa Press [ENTER] to continue or ctrl-c to cancel adding it Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.fLmyNciDOf --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80/ --recv A809F6C307B583133B3891B287538FEDDF8063EB gpg: 鍵DF8063EBをhkpからサーバーkeyserver.ubuntu.comに要求 gpg: 鍵DF8063EB: 公開鍵“Launchpad PPA for KXStudio Team”を読み込みました gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1)
vcrtrap@ubuntu:~$ sudo apt-get update
[sudo] password for vcrtrap: 
    中略
取得:2 http://ppa.launchpad.net oneiric Release.gpg [316 B]                    
   中略
パッケージリストを読み込んでいます... 完了

これで、KXStudioのアプリケーションのパッケージリストが読み込まれた。確認するために、KlaudiaというKXStudioのアプリケーションが読めるか確認する。

vcrtrap@ubuntu:~$ sudo apt-cache search Klaudia
[sudo] password for vcrtrap: 
klaudia - LADI Applications Launcher
vcrtrap@ubuntu:~$ 

其のあとは、Synapticを使ってKlaudiaをインストール、FesTigeをインストールしてみた。FesTigeはWindowsのVSTプラグインをホストするためだろうか?Wineが削除されてしまう。ttf-symbol-replacement, wine1.2が削除された。

LADI Session Handler(ladish)

ladishはJackアプリケーションのセッションマネジメントシステムである*1。セッション管理ってなんだ?ってことなんだけど、Linux環境ではいろいろなアプリを起動させることが前提であり、このあたりがWindowsでのDAWでのオールインワン的な環境とは異なる。この立ち上げたアプリを覚えて、次回も同じように起動してくれる。LADISH自身は音を出したりするものじゃない。


FeSTige(http://kxstudio.sourceforge.net/KXStudio:Applications:FeSTige)



WindowsのVSTを”そのまま”ダウンロードして持ってきてLinux上で使えるアプリケーション。まあ、wineがあるから当たり前といえばそれまでなのだがやはりうれしい。

  • 最初にFeSTigeの設定からVSTを保存するディレクトリを設定
  • 設定したらあとは、そこに適当なVSTをダウンロードして保存
  • 今回はSynth1*2を利用
  • 保存したら次に起動。起動は行を選択して開始を押せばいい。VSTの画面が立ち上がる
  • VSTはJackのMIDIを持つ楽器として見えるのでJack-keyboadで発音を確認すればいい。MIDI側をつなぐだけでなくAudioも当然Synth1とsystemをつなげる。
  • ちなみに、開始を何回も押すと同じVSTを何個も起動することになる
  • 情報を押したら日本語のためか?(未確認)情報が正しく表示されず文字化けした状態
  • LADISHスタジオに追加。このボタンによって環境をセッションとして保存して復元できるようになる(だろうまだやってない)

KORG nano KEY/Kontrol/Padを使ってみる


やはり外部にUSBキーボードなどをつなげて動かないとせっかく楽器があってもいまひとつなので実際にUSBのパッドやキーボードが経由でvmplayer内部のJackでつながって使えるかを検証。結論としてはa2jmidi_bridgeやa2jmididで成功。しかしlatencyがありすぎて駄目かな。。。

  1. まずこのホスト側でnano KEYなどが使えるようにドライバをインストールする必要がある。
  2. Windows7がホスト側環境なので、ここ*3からドライバをインストールするソフトをダウンロード
  3. exeを起動してKORG USB-MIDI Driver toolをインストール
  4. USBにKEYやKontrolなど一つだけつないでドライバを順番にインストール。
  5. ドライバがインストールされた状態で例えばnano KeyをつなぐとALSAのデバイスとして見える。
  6. さてここで、問題が生じます。JACKのMIDIしか見えない楽器とALSAの所に見えたUSBキーボードは直接つながりません。そのためa2jmidiを使います。コマンドラインで使えるa2jmidi_bridgeとデーモンとして動作するa2jmididがあるようですが常時デーモンを動かすのはあんまり好きじゃないのでコマンドラインからa2jmidi_bridgeを実行
  7. JackCtrlのConnectionを見てみます。ALSAのタブをみるとnanoKEYが左側(ソース)に、a2jmidi_bridgeが左側に見えるのでこれをつなげます。
  8. そのあと今度はMIDIのタブに移動すると、a2jmidi_bridgeが左側に見えます。それをcalf等のJackのMIDIインタフェースを持つ楽器に接続します。
  9. audioタブでもcalfがsystemにつなぐとノートパソコンにつないだUSBキーボードからの入力でめでたく発音しました。
  10. 実際は遅延があってそのまま使うにはちょっと実用的じゃないという大きな欠点が。でもnano KONTROLでその他もろもろを制御するにはリアルタイム性もそれほど必要ないので実用的かもしれません。

*1:http://www.ohloh.net/p/ladish

*2:http://www.geocities.jp/daichi1969/softsynth/index.html

*3:http://www.korg.co.jp/Support/Download/Software/USB-MIDI/win.html

Jack久しぶりだね

Ubuntuでaudioを使う。ubuntu studio再び

久しぶりにUbuntuやらJackやら色々いじってみる。

狙い

  • vmplayerにUbuntuStudioを入れる
  • Jackを使ってみる
  • Ardour, Rosegarden, その他シンセやツールを試して評価
  • csoundによる開発環境を復活させる
  • 手持ちのHWとつなげて宅録環境を復活

というデスクトップ・ミュージック&宅録環境をすべて構築しなおすことを考える

vmplayer

  1. Ubuntu Studio 11.10 (Oneiric Ocelot) DVD Imagesを、http://ubuntustudio.org/downloadsからダウンロード。用意したのはwindows7の入っているPC。
  2. VMPlayerのインストールが前提で、ダウンロードしたisoファイルで仮想マシンを作成
  3. なぜかubuntu studioの特徴であるオーディオなんかのソフトが入っていないことが判明。
  4. パッケージを入れる前後で、vmのバックアップをとっておいたほうがいいでしょう。マイドキュメント配下に、Virtual Machinesというディレクトリをvmplayerがつくっているので、その配下にはディレクトリごとに作成した仮想マシンがあるので、ディレクトリごとバックアップしておく。今後適切なタイミング(大きな設定を変えるとか、パッケージをたくさん入れるとか)でバックアップをとったほうがいいでしょう。こんなの自動でやって欲しいが。。。

UbuntuStudio

sudo apt-cache search ubuntustudio

と打ち込むとubuntustudioを含むパッケージ一覧が表示される。表示されるもの全部入れる。ただし、デスクトップパッケージを入れるとフォントも入っちゃうとか包含関係が一部ある。まあ、全部打ってインストールを試みてみれば間違いない。

plymouth-theme-ubuntustudio - Ubuntu Studio Plymouth theme
ubuntustudio-audio - Transitional Package for the Audio Seed
ubuntustudio-audio-plugins - Ubuntu Studio audio plugins Package
ubuntustudio-controls - Ubuntu Studio Controls is a small app that changes A/V settings.
ubuntustudio-default-settings - Default settings and artwork for the Ubuntu Studio desktop
ubuntustudio-desktop - Ubuntu Studio Desktop Package
ubuntustudio-font-meta - Ubuntu Studio fonts Package
ubuntustudio-gdm-theme - Ubuntu Studio - GDM theme
ubuntustudio-generation - Ubuntu Studio Audio Generation Package
ubuntustudio-graphics - Ubuntu Studio graphics Package
ubuntustudio-icon-theme - Ubuntu Studio Icon theme
ubuntustudio-look - Ubuntu Studio look
ubuntustudio-menu - Menu for Ubuntu Studio
ubuntustudio-recording - Ubuntu Studio Audio Recording Package
ubuntustudio-screensaver - Ubuntu Studio screensaver
ubuntustudio-sounds - Ubuntu Studio's GNOME audio theme
ubuntustudio-theme - Ubuntu Studio look - GTK and Metacity theme
ubuntustudio-video - Ubuntu Studio video Package
ubuntustudio-wallpapers - Ubuntu Studio - Wallpapers

つまり

sudo apt-get install ubuntusutudio-audio ubuntusutudio-audio-plugin ...

と、点々のところをたくさん打ち込んどけば間違いないでしょう。そのあとは再起動したかも。いや、startxしたかも、忘れてしまいました。

注意はひとつだけ、jackをインストールするところで画面ががらりと変わって、リアルタイムをつかうかどうかと聞かれます。YESと答えるべきです。

その他パッケージのインストール

  1. Windowベースになったら、synapticで好みのものを適当に入れましょう。オーディオ関連ではrosegardenとかaudacityとかオススメだけどデフォルトで入っていないものがあります。さらに他の好みであと入れるは、emacsや各種コンピュータとしてつかうツールを入れるのですが、これは音楽とは関係無いので適当にごまかして、、必要に応じておいおい。

ただひとつ注意したほうがいいのは、いろいろなオーディオ関連アプリケーションのインストールをしようとすると、旧いライブラリなどを要求するものがあります。

これから説明するjackもjack2とjack1があります。よくわかりませんが、新しいと思われるjack2をインストールされた環境を維持するようにしました。逆に旧いとどんな影響が出るのか分かりません。。

いよいよjack


Jackをつかうときはパソコン内蔵のオーディオインタフェースだと仮定します。これがUSBだったり、Firewireだったりすると少し状況が変わってきます。デバイスの優先度を変更したりなんだりする必要があります。ま、良くわかんなくてもこれから説明する方法ならどうにかなるかもしれないとは思いますが。。。

  1. qjackctlを起動します。メニューから起動してもいいですが、みつからなかったらターミナルからコマンドを直接入力してもいいです(が、ターミナルがみつからなかったらどうにもならないですね、、、)
  2. 何はともあれsettingのボタンを押してjackの設定をします。
  3. 開いたダイアログのserverのdriverでalsaを選択します。
  4. realtime, no memory lockの2つにチェックを入れます。これは左から一列目ですね。
  5. priority 89 ここから先が真ん中の列の値ですね。
  6. frames/period 128 この値を小さくすると音が壊れてノイズになります。大きいと遅延(latency)がおおきくなります。最初は大きくしてだんだんと小さくして調節するのがいいでしょう。
  7. periods/buffer 2この値も最初はある程度大きくして調節します。
  8. Timeouts 200ms
  9. interface hw:0,1を選びましたがこれは環境によって異なります。この選び方で音がならないようになるか、聞こえるようになるか変わってきます。プルダウンでデバイスを選ぶのを一つ一つ試すのもいいでしょう。
  10. audio playback onlyを選びました。録音をしない環境を想定しています。録音をするならこれをDuplexかcapture onlyを選ぶのがいいでしょう。

さて、設定はざっとしてみたが、どうやって出音を確認するのか、これを説明しないと難しいですよね。ここで、さらにいろんなソフトを立ち上げたり、つなげたり(論理的にjackの中でワイヤリングするという意味です)、鍵盤を叩いたり(これも仮想鍵盤を叩きます)、色々する必要があります。これを順を追って説明して行きます。

がその前に簡単な確認の方法があります。

何はともあれ、再生ボタンのようなJackの開始ボタンを押します。するとどれだけ、何もしない状態でxrunと呼ばれる、過負荷状態にでるエラーが出るかで判定すればいいのです。音はその後。

xrunの確認


Jackの画面でカッコで囲われた部分がxrunと呼ばれる過負荷状態になったときに現れるエラー。ダメなときはこの値が、見る間に上がってゆく。いくつかのプログラムを起動するとこの値がちょっと増えるがそれぐらいならまあ大丈夫。このxrunがバンバンでると、音はまともに出ません。

鍵盤

鍵盤のないシンセサイザーについては外部の鍵盤となるプログラムを起動しなくてはいけない。

  • VMPK
  • Jack Keyboard
  • Virtual MIDI Keyboard

VMPK(http://vmpk.sourceforge.net/

以下の特徴があります。

  • SONARのINSファイル(どのバンクでどのプログラムで「何という音色」という楽器を定義したファイル)を読み込むことができる
  • 各種MIDIコントロールを送付することが可能
  • Windows,Mac,Linuxなど多様なOSで動作可能
  • ショートカット(VelocityのUP/DOWNなど)の独自定義が可能

-
-

synthesizerを起動

現時点で私が確認しているシンセサイザー(puredata, csoundなどの言語系を除くもの)で知っているのは以下のとおりです(他にあったら教えてほしいです!)

これらのシンセサイザーの中でも現実世界の音源と同じでキーボードまであるものとキーボードが無いものなどあります。出音を確かめるならキーボードが付いている方が楽ですね。


ほんとに音が出ているの?

Foo YC20(http://jack-keyboard.sourceforge.net/

これはJackに対応しているが、Alsaには対応していない。最終更新はバージョン2.5が2008年5月14日にリリースされている。あまり更新されていないようだ。

calfjackhost(http://calf.sourceforge.net/?id=1)



このプログラムはエフェクターといくつかのシンセサイザを持つJack,LV2,DSSI,LADSPA,MIDI対応のプログラムである。LADSPAの利用は現時点ではあまり勧められてない。複数のプラグインを同時に起動・結線できるJackが最もよい。

  • Monosynth: 2オシレータのシンプルなシンセ
  • Organ: 結構精密に作られている
  • Compressor
  • MultiChorus
  • Flanger
  • Reverb: 割といいかも。CPU食うけど。
  • Multimode filter
  • Vintage delay
  • Phaser
  • Rotary speaker

これらのモジュールを使って音を重ねてゆくことができる。


キャプチャは、左側がモノシンセの画面。右側がcalfにいろいろなプラグインをaddした状態。ポイントはモノシンセが複数あったり、同種のエフェクタが複数あることがポイント。つまり、モノシンセが複数あれば音に厚みを持たせることができるし、複数のエフェクタを組み合わせて、直列に並列に好きに音作りができるということ。

結線はJackのqjackctlの左下のConnectボタンを押して結線用の画面をだす。さらにそこから書くプログラムをAudioのところから選ぶ。calfだけを選んでもダメで、expandしてあげて、中身にあるオーディオの入出力を全部見える状態にしなきゃいけない。そこから左側からアウトプットを選んで、右側でインプットを選んで一つ一つつないでゆく

LV2(http://lv2plug.in/trac/)

Linux Virtual Studio Plugin Technology v2.0の略。LV2はLADSPAの後継として作成されたCのAPIがベースで現時点でもAPIの拡張は続いている。

  • LV2 effect plugins

LV2対応のプログラムの一覧は、http://lv2plug.in/trac/wiki/Pluginsとか、http://wootangent.net/2011/06/lv2-synths-for-ardour-3-a-list/に載っている。

DSSI

LADSPA

Jack

*

Google ドキュメントアップグレード

galaxy tabにreudoのキーボードで、google documentの文書を更新しようと目論む。galaxy tabでドキュメントを開くと、アップグレードしろと。また、その表現がデスクトップでみたいなこと言われて意味が最初分からず。なんだ。PC側でアップグレードしたらgalaxy tab側で編集できるようになるということか。全く分かりずらいっ!!

で、一個一個、ほんとにいいのって確認が出ながらアップグレードする。正直言ってあほくさい。もしかしたら一括アップグレードできるのかも。と思っていたらエラー。

調べたけど出てこなくて、試行錯誤したら以下の結論。

  • フォントを設定していないドキュメントはアップグレードできない
  • 全選択、フォントを適当に設定、保存。これが終わってからアップグレードすると成功

うーん。なんかわかりにくすぎ。

Hatenaのこの日記の書式もそろそろ前時代的になり始めたな。そもそもユーザに書式を覚えさせたり、編集させたりする何ておかしいということに気が付いていてもやめられないのが困ったもんだ。

お引越ししたいな。

wolframAlphaでシンセサイザー?

ひょんなことからwolframAlphaがシンセサイザー替わりになる可能性を発見!

play sin(2pi*440t) for 2 seconds
とかできる、色々試してみると、sin(t),cos(t)はもちろん、squarewave(t),sawtoothwave(t),trianglewave(t)が使えるし、
と複雑な式を叩き込むと、"Wolfram|Alpha needs more time to respond to your query... Go on computing »"と。いいよいいよ、計算してと Go on computingをクリック。で "not an audible form"とヘタレました。なーんだ。

play cos(2pi*0.8t)*(0.2*sawtooth(2pi*330t)+0.1*sin(2pi*245t)+0.2*sin(2pi*110t)+ 0.5*sin(2pi*440t)+0.3*sin(2pi*660t)+0.8*sin(2pi*220t))

なら計算できて音もでるけど、


play cos(2pi*0.8t)*(0.2*sawtooth(2pi*330t)+0.1*cos(2pi*289t)+0.1*sin(2pi*245t)+0.2*sin(2pi*110t)+ 0.5*sin(2pi*440t)+0.3*sin(2pi*660t)+0.8*sin(2pi*220t))

だと、応答なくなる。頑張って計算しているのだろうか??

docomo×コミックゼノン

批判である。

GalaxyTabを使っているんだけども、去年末ごろだったと思う、電子書籍が見えるということで、コミックゼノンというのをダウンロードしてきてみたけどさらっと見て、削除した。その後気がつくとダウンロードした画像の断片が大量に残っている。

かなり一生懸命探した

/mnt/sdcard/Android/data/jp.co.nttdocomo.dcmbs.comiczenon

このディレクトリにたっぷりキャッシュしたと思われる画像データが残されていた。即座に削除。

しかしこのアプリだけじゃないだろう。/mnt/sdcard配下に勝手にディレクトリを掘って、勝手にデータを保存して、そのままにしているアプリが多すぎるよな。これらを削除するアプリ誰か作ってくれないかな

apkを実機に転送ができない

androidアプリを作っている最中、実機でデバッグしていたら突然、「Failed to upload ○○○とかjava.net.ConnectException」と言い始めた。コマンドラインでadbを操作して復帰したときの方法。

ちなみにcygwin(など)を入れてgrepやkillが使える環境が前提。

C:\Users\a9a9>adb start-server
*1293020099* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
*1293020100* failed to start daemon *

C:\Users\a9a9>set ADB_TRACE=all

C:\Users\a9a9>adb start-server
_adb_connect: host:version
socket_loopback_client: could not connect to tcp:5037
*1293020101* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
*1293020102* failed to start daemon *

C:\Users\a9a9>netstat -ano | grep 5037
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       6072

C:\Users\a9a9>kill -f 6072

C:\Users\a9a9>kill -f 6072
kill: couldn't open pid 6072

C:\Users\a9a9>adb start-server
_adb_connect: host:version
socket_loopback_client: could not connect to tcp:5037
*1293020103* daemon not running. starting it now on port 5037 *
*1293020104* daemon started successfully *
  • 実際に何が起こっているかを知るためにログレベルを環境変数で変更
  • ポートを空けられないということなので該当ポートをつかんでいるプロセスを探す
  • 何も考えずに該当プロセスを強制終了
  • 再度adbサーバを起動(したら、たまたまうまくいった)

この後、USB経由で実機を再度PCに接続して実行させるとアップロードが成功し開発中のプログラムが実機で動く。