
Ubuntu日本語フォーラム

ログインしていません。
1週間前からubuntu6.10を使いはじめた初心者です。
ネットでいろいろ調べながら、音周りの設定をしているところですが、
wavやmp3などを再生すると、スピードが少しゆっくり(90%くらい?)、
音程が、ちょうど1音ほど低く再生されます。
aplay、xmms、bmp などで試してみましたが、全て同じでした。
本家のフォーラムも調べてみましたが、それらしい話題はありませんでした。
先輩方のアドバイスをいただければ幸いです。
どうぞよろしくお願いいたします。
最後の編集者: hillocom (2007-02-14 13:53:15)
オフライン
hillocomさん
古い石だと遅くなるケースが昔あったような気がします(ubuntuではなくknoppixあたりで見たような)。
おつかいの機種とかサウンドのチップは何でしょうか。
オフライン
gmax さん
ありがとうございます。
マシンは、BTOのAT互換機です。
マザーは、ASUSのP4GE-Vで、チップセットは intel82845GE GMCH, intel82801DB ICH4
(取説に書いてあるスペックをそのまま丸写ししています。すみません)
CPUはCeleronの2G。 サウンドボードは、M-AudioのAudiophile2496(ICE1712/Envy24)です。
ついさっき、ubuntu付属の「Sound Jucer」で元のCDを
再生してみましたが、CD再生でも、同じ結果でした。
また、プレーヤーのタイマーそのものが、遅れて秒を刻んでいることが分かりました。
ストップウォッチをタイマーと同時にスタートして走らせてはかってみたところ、
3分弱の曲で、曲が終わるころには、10数秒のずれが生じています。
これが手がかりで何かわかればいいのですが…
オフライン
hillocomさん
ALSAの設定に問題があるんじゃないかなと思いました。サンプリングレート設定に問題があるとか。
44Kと48Kの間違いなら一割程度の差になりますよね。
CDの再生時間にずれがあるってのはわからないのですが....もしかしてデジタルデータとしてCDから読み出して再生するときにサンプルデータから時間を積算していたら狂ってくるかも。
まったくあてずっぽかつEnvy24htでGentooなのですが、こちらあたりヒントにならないでしょうか
http://gentoo-wiki.com/HOWTO_ALSA_sound_mixer_aka_dmix#VIA_Envy24HT_.28ice1724.29_chip
~/.asoundrc で調整してみるという手です。
オフライン
gmax さん
情報ありがとうございます。わたしのPCの中には、.asaundrcがなかったので、
とりあえず、エディタを開いて、紹介いただいたスクリプトをコピペ、
.asoundrcでホームに保存、再起動!してみたのですが、玉砕でした。
あたりまえか… _| ̄|○
いろいろ調べながら、サウンドカードの設定も調べました。
今、サウンドカードのクロックは、デジタルミキサーからデジタル入力が必要なので
外部クロックにしてあるのですが、これを内部クロック44.1kHzにすると、
正常に再生されることが分かりました。が、これでは、肝心な入力ができません。
また、サウンドカードのステイタス表示を見ていると、
PCMを再生しているときは、Actual Rate が 48000になっています。
このことから、システム本体のサンプリングレート???が
48KHzなのかなとおぼろげに思ったりもしていますが、
どこでそれを確認すればよいのか…
ちなみに、このデジタルミキサーから録音したものは
音程や早さが変わったりはしません。しかし、雑音や歪みがひどく
使いものになりません… (T_T)
だんだん、何が原因なのか分からなくなってきました…
素直にWindowsに戻ったほうがいいのか?
でも、ぜひubuntuで音楽をやりたいと考えているので、
もう少し勉強して粘ってみたいと思います。
貴重なアドバイス、本当にありがとうございました。
最後の編集者: hillocom (2007-02-14 21:32:15)
オフライン
状況から察するにデジ卓のWord Clock が48KHzになってるのでは?
卓の方の設定を確認してみてはいかが?
audiophileのmanual 12-13pに説明があります(あんまり親切ではないですが)。
ぼくなりに意訳すると
デジ卓のサンプリングレートを設定する=>サウンドカードをスレーブに設定する=>
オーディオアプリケーションのサンプリングレートをデジ卓と同じに設定する
ということでしょうか。
>今、サウンドカードのクロックは、デジタルミキサーからデジタル入力が必要なので
>外部クロックにしてあるのですが、これを内部クロック44.1kHzにすると、
>正常に再生されることが分かりました。が、これでは、肝心な入力ができません。
>
>また、サウンドカードのステイタス表示を見ていると、
>PCMを再生しているときは、Actual Rate が 48000になっています。
オフライン
tatsf さん
お返事ありがとうございます。
実は私も、もしや…と思って前回投稿後、
すぐにデジ卓を確認してみました。
(Roland VM3100 です。古っ!)
しかし、送出クロックは44100固定でした _| ̄|○
それに、48000を示していると言っていた
サウンドカードのステイタス表示(envy24control上)
よく確認してみると、Lock や Reset の
加減でころころ変わって、いまひとつ状況がつかめません。
また、Winのドライバとenvy24controlでは、
ハードの設定の項目が、ごく微妙ですが違うようです。
このあたりも何か関係あるのかもしれません。
ちなみに、今、本家のフォーラムにも同じ投稿をしていて、
ある方のアドバイスで、Audacity で確認してみたところ、
Audacity「だけ」は、まともな速度で再生されることが分かりました。
いったい、これは何を意味しているのでしょうか…
それと今気づいたのですが、あるサンプリングレート環境下で
それより低いレートのファイルを再生した場合は、
速度は速くなるのではと…(すみません、ものすごく基本的な話で)
ますます、わけがわからなくなってきました。
引き続き、皆さんのご意見をいただければ幸いです。
どうぞよろしくお願いいたします。
最後の編集者: hillocom (2007-02-15 17:24:07)
オフライン
そうでしたか。見当外れで失礼しました。
あと考えられるのはword clock がちゃんと読めてないとかが考えられますけど。
(コンピュータ側がちゃんと動いていると仮定して、ですが)
自分もubuntuの音関係がきちんと動いてないのであとはよくわからんです。すいません。
>それと今気づいたのですが、あるサンプリングレート環境下で
>それより低いレートのファイルを再生した場合は、
>速度は速くなるのではと…(すみません、ものすごく基本的な話で)
僕もそうだと思います。
オフライン
tatsf さん
ありがとうございます。
今思うと、なぜ、Winのときはマトモに動いていたのかが不思議に思えます。
当面の間、外部クロックを使わない方法(アナログ入力する、ソフトシンセを使う)などで
しのぎつつ、4月にリリースされるというUbuntu7やUbuntu Studio(期待大!)に望みを
つなぎたいと思います。
ありがとうございました。
またの機会がありましたら、どうぞよろしくお願いします。(^-^)
オフライン
gmaxさん、tatsfさん
その後、いろいろと確認してみた結果、この問題は要するに、
次のようなことだということがわかりました。
・サウンドカードのクロックが44.1KHzに固定されると遅く低くなる。
内部クロックで固定しても、外部クロックで固定しても、同じ。
・サウンドカードのクロックが48KHzでないと、まともに再生しない。
そのため内部クロックのときは、クロックををLockしておかないと、
自動的に48KHZにスイッチされて再生される。
もしかして、44.1KHZのファイルを再生しても、48KHZとして再生されている…?
そんなバカなと思いつつ、本家フォーラムで、「48kHz」で検索してみたところ、
興味深いスレッドを見付けました。
http://www.ubuntuforums.org/showthread.php?t=325074
英語にはあまり強くないので、まちがって解釈しているかもしれないのですが、
どうやらubuntuのALSAは、全ての音声ファイルを48KHZにリサンプリングして
サウンドカードに送っているようなのです。それなら、正常に再生するために
サウンドカードが48000に自動的にスイッチされることも、サウンドカードのレートを
44100に固定すると、再生される音が遅く低くなることも、つじつまが合います。
この方は、ALSAが最新バージョンで出しているプラグインを適用することで
この問題を解決されたようです。しかし、このプラグインはかなりCPUパワーを食うらしいということ、
また、設定ファイルの書き方がいまひとつよくわからないのとで、躊躇しているところです。
それにしても、どうして、こんな設定になっているのでしょう?
願わくば、次期ubunntu(に適用されるALSA)では、このプラグインの機能が
デフォルトで採用されるといいのですが…
最後の編集者: hillocom (2007-02-18 00:07:16)
オフライン
ははぁ....
> I have found that by telling XMMS (or any program really) to use plughw it will bypass dmix and playback audio properly with no resampling! This is just great!
と最後にありますね。
plughw:
をつかえということでしょう。ここに実例がありますね。XMMS以外もあり。
http://alsa.opensrc.org/DigitalOut#Use_Your_Device
オフライン
http://www.hydrogenaudio.org/forums/index.php?showtopic=47591&mode=threaded&pid=423888
なんでも、dmixするために、全てのサンプリングレートを強制的にそろえる必要があるらしいです。
(2)を見ると、音関係はほぼ全て44.1kHzでやっているわたしの場合、dmixのレートを設定しなおせばいい…
と書いているような… (汗)
となると、 ~/.asoundrc の出番なのでしょうか
ALSAのページを見ながらあれこれやってますが、なかなかうまくいきませんね (T_T)
書いてはaplayしては消し、書いてはaplayしては消し… してます。
最後の編集者: hillocom (2007-02-18 13:42:08)
オフライン
報告です。再生速度の問題が解決しました!
http://alsa.opensrc.org/DmixPlugin#7._Dmixing_the_ICE1712_chip
まだ ~/asoundrc の記述方法がよくわかっていないので、
どういう理屈でどうなったのかはよくわかりませんが、
上のページにあったスクリプトを、 ~/asoundrc にコピペして
rateを44100に変更。
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
format S32_LE
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
device 0
}
pcm.dsp {
type plug
slave.pcm "dmixer" # use our new PCM here
}
ctl.mixer {
type hw
card 0
}
これで、S/PDIF IN で外部クロックにしても
44.1kHz内部クロックでロックしても、正常に再生
されるようになりました。また、内部クロックでフリーに
しておくと、44.1kHzにスイッチされます。
ただ、この状態で録音(arecord)しようとすると、
ALSA lib pcm_dmix.c:801:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
arecord: main:547: audio open error: Invalid argument
と、断られます。三歩進んで二歩下がる、です _| ̄|○
この件は、別にスレ立てたほうがいいかもしれませんね。
最後の編集者: hillocom (2007-02-18 17:44:47)
オフライン
その後のご報告です。
結局↓これを使って解決することにしました。
http://jackaudio.org/
JACKはLinuxの音楽制作では必須アイテムです。
もともと、音楽制作のための環境づくりをめざしていたので、
思い切って、これをデフォルトにすることにしました。
わたしの場合は、デジタルI/Oをメインにしていますが、
アナログをメインに使うには、chを録再とも1、2に設定すれば
いいようです。
--------------------------
# JACK をデフォルトに
pcm.!default {
type plug
slave { pcm "jack" }
}
# Playback
# 9chがS/PDIF Out L
# 10chがS/PDIF Out R
# Capture
# 9chがS/PDIF IN L
# 10chがS/PDIF IN R
pcm.jack {
type jack
playback_ports {
0 alsa_pcm:playback_9
1 alsa_pcm:playback_10
}
capture_ports {
0 alsa_pcm:capture_9
1 alsa_pcm:capture_10
}
}
ctl.mixer0 {
type hw
card 0
}
#上記の設定で、jackd -d alsa -d hw:0 -r 44100 でJACKを起動
------------------------------
ただ、ubuntu6.10のカーネルは、音楽やマルチメディアの
扱いには弱いようです。
実際、マルチトラックなどで使ったりすると、ノイズが乗ったり
して、まだ前途多難ですが、4月リリース予定の「ubuntu Studio」は
そのあたりが強化されているようなので、期待して待つことにします。
いろいろとアドバイスありがとうございました。
今後もすんなりいくとは到底思えないので、
みなさまの御指導をよろしくお願いします。
最後の編集者: hillocom (2007-03-04 16:15:36)
オフライン