忍者ブログ

hirano.xxxxxxxx.jp

自分用のメモ置き場
MENU

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

JACK Audio Connection Kit

(・ω・`)

(導入メモではめんどうなのでふれませんでしたが)

JACK Audio Connection Kit のリアルタイムスケジューリング(RT)について。
(http://jackaudio.org/)

※Ubuntu Studio 9.10 / JACK 0.116.1

WindowsでDTMやる人ならASIOっていうのを知ってると思います。
ASIO使わないと、MIDIキーボードから演奏してから実際に音がでるまでに時間がかかって困りますよね。
よーするにそういう用途で使うものです。
(対応のオーディオインターフェースがいるけど)

さて、JACKのRTを使うには、Linux RTカーネルというカーネルでOSを起動する必要があります。

linux-rt.jpg

Ubuntu Studioはデフォルトがこれなので問題ありません。

・問題1
「JACK: unable to mlock() port buffers: Cannot allocate memory」
「cannot lock down memory for RT thread (Cannot allocate memory)」

メモリが確保できません的なエラーをはくようになってまともに動かない問題。

Ubuntu Studio Controlsというアプリで設定します。
ubuntustudiocontrols.jpg

問題2
自動起動の関係がいろいろだめになる問題

RT使う場合、

「ログインユーザでJACKを起動しないとログインユーザで起動したアプリが接続できない」

のでOS起動時に自動起動してしまうといろいろだめになります。
とりあえず「jackd」「timidity」の2つはだめになるので止めてしまいました。

rcconfというコマンドをパッケージャでインストールして(デフォルトでは入っていないので)
sudo rcconf

で起動すると止めることができます。

PulseAudioの設定でJACKのモジュールを起動時に読み込むのも止めてしまいます。
(JACKが起動しないのでおかしなことになるから)

/etc/pulse/default.pa
### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
#load-module module-jack-sink
#load-module module-jack-source
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
#load-module module-detect
#.endif

結局、なにも読み込まないことに。(・ω・`)
代わりにログインユーザの「自動起動するアプリ」に「JACK Control」を追加。

autostart.jpg

設定はメインメニューをパクる。

autostart-qjackctl.jpg

JACK Controlの設定はこんな感じ。(・ω・`)
起動のパラメータはマシンがしょぼいのでゆるゆるにしています。

[Settings]
jackctl1.jpg

見ての通り。
RTにする意味はRTじゃないと動かないオーディオエフェクトとかがあるっぽいからというだけです。

[Options]


こちらはちょっと工夫しました。

起動前スクリプト killall jackd
起動後スクリプト pactl load-module module-jack-sink;pactl load-module module-jack-source
停止スクリプト killall jackd

で[Misc] - Otherのところにある
・Start JACK audio server on applicaton startup
にチェックをつける。

これでとりあえず自動起動がだめなのは対処できるみたいです。

問題3
**** alsa_pcm: xrun of at least 97.148 msecs

たまにxrunがすねる問題。

とりあえず、数値的には大きくないし、だいたいアプリの起動・終了時とかに出るみたい。
今のところ実害はないので放置の方向で。

◇あきらめた

※LMMSとは相性が悪いらしくエラーはきまくり。(・ω・`)
※JACK経由でTiMidity++鳴らすこともできるけども使い物にならない。(timidity -Oj -iAD)

PR

× CLOSE

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最新CM

[09/19 Gatu]
[06/08 石井弘明]
[03/04 yama]
[02/15 ひらの]
[02/14 魔]

最新記事

最新TB

ブログ内検索

最古記事

(12/30)
(01/03)
(01/04)
(01/04)
(01/04)

NINJATOOLS

× CLOSE

Copyright © hirano.xxxxxxxx.jp : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]