
Ubuntu日本語フォーラム

ログインしていません。
お世話になります。
Ubuntu Studio 9.04をマルチメディア編集の用途に利用しています。RosegardenというMIDIシーケンサを使っていますが、jackサウンドサーバと併用すると、timidity++からの音声出力がjackに届かないようで、音が出ません。
オフライン
あ!?文書描いてる途中に投稿されてしまいました。再編集機能が有効だったらなぁ…。もうちょっと説明したい事があるので、時間を置いて再度投稿します。お騒がせしてすみません。
オフライン
[Jackなしの場合] Rosegarden -> timidity++ -> ALSA ->音声
Rosegardenを起動時に「jackも起動してよ」というアラートが出るものの、無視して音を鳴らすとtimidity++からの出力がALSAに届いて音が出ます。jackなしなので、他のJackを利用する音楽アプリとの併用・同期ができません。
[Jackありの場合] Rosegarden -> timidity++ -(つながらず)-> Jack-> ALSA -> ×音声
Rosegarden起動時のアラートは出ませんが、timidity++からの出力はjackに届かず、音が出ません。他の音楽アプリとの同期は出来るので、timidity++ではないソフトシンセ(プラグインも含めて)を起動することで音が出せます。
これを、timidity++がjackに音を出力してくれるようにしたいと思いました。
私の環境だと、timidityはシステム起動時にrootが実行しています。この際、timidityの起動オプションはALSA経由で音を出すようになっています(timidity -Os -iAD)。timidity++がJack経由で音を出すように起動オプションをつけて端末で実行すると、Jackを経由して音が出ました。Rosegardenでも適切に設定すると、音が出ます。
しかしこの場合、timidity++のプロセスが2つ出来てしまい(ユーザとroot)、Rosegardenでの設定が少し面倒です(使わないroot起動のポートも表示)。
なので現在は、rootのtimidity++をシステムの起動の度に止めて、改めてユーザで実行してます。
1. システム起動、ユーザでログイン。
2. root起動のtimidity++のPIDを調べて、kill
3. jackを起動
4. jackに出力するオプションをつけて、ユーザでtimidity++を起動(timidity -iA -Oj)。
5. Rosegardenで音楽編集・再生
6. 作業終了後はtimidity++を終了。
7. MIDIを鳴らすアプリ(例えばAudaciousなど)を起動する際は、その都度timidity++を起動。Jack不要(timidity -Os -iAD)
この作業が結構面倒なので、以下の様にしたいと思ってます。
1. rootの自動実行をやめる
2. timidity++のオプション付きスクリプトをいくつかデスクトップに用意する
2.はできるんですが、1.はどのファイルを参照したらよいのか見当もつきません。Ubuntu Studioとは言え元はUbuntuですので起動時の動作は同じだと思います。起動時にどのようなファイルを読み込むのか、情報いただければと思います。
または、ここまでの説明を見た方で、もっとうまい方法をご存知の方がいらっしゃいましたら、お教え願えませんか?
(あぁ、タイトルも「システム起動時の自動実行を解除したい」に変更出来たらいいのに…)
オフライン
書き忘れましたが、設定の「自動起動するアプリ」に、timidity++はありませんでした。
オフライン
私は過去にインストール経験があるのみで、本格的にtimidity++を利用したことがないので分からないのですが、
起動時にサービスとして実行されているということはないのでしょうか?
もしそうでしたら、起動のサービスを管理するツールを使えば、自動実行をやめることができるかもしれません。
オフライン
mblackさんどうもありがとうございます。
投稿には今気づいたので、ご紹介のツールはこれから試してみたいと思います。sysv-rc-confあたりでいいのかな?
実は既にいろいろいじっちゃってました。悪い癖かな…。/etc/init.d/内のスクリプトが自動実行に関係しているそうなので、ここにあったtimidityというスクリプトを移動して再起動してみました。そうしたらroot権限のtimidityプロセスは実行されませんでした。
これって大丈夫かな。シンボリックリンク関係とかでちょい不安。
今夜あたり、timidityスクリプトを元に戻してから、ご紹介のツール使って試してみますね。
オフライン