
Ubuntu日本語フォーラム

ログインしていません。
UBUNTU11.04を使い始めて一週間になる超初心者です。
音楽を聴こうとイヤホンを差してyoutubeで動画を再生したのですがどうも差したイヤホンが認識されていない様でスピーカから音が流れてしまい困っています。今まではwindowsを使っていたためこの様な問題に関しては非常に弱く、「端末」とか全く分からないのでその辺どうか分かり易くお願いします。
パソコンの型番は東芝のdynabook T351/46CRです。
お願いします。
オフライン
メーカーサイトの仕様を見る限り。
仕様表 > dynabook T351 @ dynabook.com
サウンド機能 インテル® ハイ・デフィニション・オーディオ準拠 ステレオスピーカー
しかわかりませんので、お使いのコンピューターに搭載されているサウンドデバイスを調べて教えていただきたいと思います。
調べるには・・・やはり端末でコマンドを実行した際の出力を教えていただくのが確実なやり方となります。おそらく端末(gnome-terminal)の起動の仕方はわかると思いますので、以下の2つのコマンドを実行して、その出力を教えて下さい。
$ pacmd list-cards;
$ cat /proc/asound/card*/codec* | grep -i codec;
オフライン
お返事有難うございます。
まず一つ目のコマンドを入力したところ以下のモノが表示されました。
inomataanri327@ubuntu:~$ pacmd list-cards;
Welcome to PulseAudio! Use "help" for usage information.
>>> 1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1b.0>
driver: <module-alsa-card.c>
owner module: 4
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xc0600000 irq 42"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1b.0"
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "1c20"
device.product.name = "6 Series Chipset Family High Definition Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "内部オーディオ"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:analog-stereo: Analog Stereo Output (priority 6000)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6060)
input:analog-stereo: Analog Stereo Input (priority 60)
off: オフ (priority 0)
active profile: <output:analog-stereo+input:analog-stereo>
sinks:
alsa_output.pci-0000_00_1b.0.analog-stereo/#0: 内部オーディオ Analog Stereo
sources:
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of 内部オーディオ Analog Stereo
alsa_input.pci-0000_00_1b.0.analog-stereo/#1: 内部オーディオ Analog Stereo
inomataanri327@ubuntu:~$
次のコマンドを入力したら、
inomataanri327@ubuntu:~$ cat /proc/asound/card*/codec* | grep -i codec
Codec: Conexant CX20585
inomataanri327@ubuntu:~$
と、表示されたのですが、どこを見ればよいのでしょうか。
オフライン
判断の材料のためにもう少し教えていただきたいので、pacmdの出力から判断した、以下のコマンドの出力も教えて下さい。
$ lspci -vnns 00:1b.0;
オフライン
この様に出ました。
inomataanri327@ubuntu:~$ lspci -vnns 00:1b.0;
00:1b.0 Audio device [0403]: Intel Corporation 6 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
Subsystem: Toshiba America Info Systems Device [1179:fc50]
Flags: bus master, fast devsel, latency 0, IRQ 42
Memory at c0600000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
inomataanri327@ubuntu:~$
オフライン
正直まったく自信ありませんが、同パソコンにインストールされているwindows 7 のデバイスマネージャの「サウンド、ビデオ、およびゲームコントローラ」の覧にConexant SmartAudio HD というものがありましたが、サウンドデバイスというのはこれの事でしょうか。
オフライン
iinomataanri327 による投稿:
同パソコンにインストールされているwindows 7 のデバイスマネージャの「サウンド、ビデオ、およびゲームコントローラ」の覧にConexant SmartAudio HD というものがありましたが、サウンドデバイスというのはこれの事でしょうか。
半分は当たりです。これは、#2の2つ目の出力で得られた「Codec: Conexant CX20585」の事を指していますね。この部品を「コーデック」と呼びます。
サウンドデバイスはもうひとつの部品として、「コントローラー」を持ちます。#5の出力がその部品となります。
サウンドデバイスを駆動するのにサウンドドライバーというソフトウェアが必要なのですが、UbuntuもといLinuxの場合は、ALSAカーネルモジュールがその役割を果たしています。今回の場合は、#5の出力で確認できる「HDA Intel」(snd-hda-intel)となります。
ALSAカーネルモジュールは、サウンドデバイスの「コントローラー」を操作します。「コントローラー」はそれを受けて「コーデック」を操作します。「コーデック」はそれを受けて、受け取ったデジタルデータをアナログ音声に変換し、コンピューターのスピーカーやヘッドフォン出力に流します。
さて、ちょっと込み入った話になって恐縮なのですが、今回のサウンドデバイスはIntel社のHigh Definition Audio(HDと略される)という規格に基づいています。
この規格は、「コーデック」と「コントローラー」の接続や、「コーデック」とスピーカーやヘッドフォン出力のつなぎ方に幅を持たせているため、サウンドデバイスによっては、ALSAカーネルモジュールの標準動作では対応できない場合があります。
今回の「イヤホンを指してもスピーカー出力が切れてくれない」というのも、こう言った背景が影響しています。
この場合は、通常、カーネルモジュールに起動オプションを設定します。
ここから先はちょっと下調べ(コード読んだり)が必要ですので、2〜3日お待ち下さい。ざっと見た限り、Ubuntuの次期バージョン、11.10 (Oneiric Ocelot) に搭載予定のALSA 1.0.24には、すでに対応コードが追加されてました。次の投稿で、11.04 (Natty Narwhal) でどう対処したらいいのかを、お伝えしたいと思います。
オフライン
コード追いかけてみました。
Nattyの場合でも、サウンドドライバーとなるカーネルモジュールの起動オプションを設定することで、なんとかなりそうです。
設定は、オプションを記述したファイルを配置して行います。具体的には以下です。
1. 端末でコマンド「$ gksudo gedit /etc/modprobe.d/intel8x0.conf」を実行
2. パスワードを入力するとgEditというテキストエディタ(Windowsでのメモ帳)が開きます
3. 「options snd-hda-intel model=オプション名」をコピペして保存
4. 再起動
5. 音が出るかどうか確認。出なかったら別なオプション名を試してみる
オプション名に何が入るのかは、以下のドキュメントを参照します。
参照ドキュメント:
/usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz
Conexant 5066 ============= laptop Basic Laptop config (default) hp-laptop HP laptops, e g G60 asus Asus K52JU, Lenovo G560 dell-laptop Dell laptops dell-vostro Dell Vostro olpc-xo-1_5 OLPC XO 1.5 ideapad Lenovo IdeaPad U150 thinkpad Lenovo Thinkpad
以下のバグ報告を参照すると、東芝のラップトップがオプション名「thinkpad」で正常に動作するようになるなどの例があるので、まずこれから試してみるのもよいかと思います。
Audio mixer couldnt switch audio output to phones when their plugged @ bugs.launchpad.net/
[Conexant CX20585] Headphone jack doesn't work @ bugs.launchpad.net/
オフライン
Mocchiさんわざわざ私の為にお時間を割いていただきありがとうございます。
貴方様のお陰で無事解決へ向かっているような気がします。
ここまで来てとても馬鹿らしい質問ですが、#8 本日 08:17:14に貴方様が投稿された部分の{3. をコピペして保存}というところなんですが、どこに書いてある「options snd-hda-intel model=オプション名」をどこに貼り付ければ良いのでしょうか。
このスレッドに貴方様が載せられた部分をコピーしてオプション名を変えてこのメモ帳に貼り付けて保存すればよろしいのでしょうか。
オフライン
Mocchiさん、貴方様に教えていただいたコマンド「$ gksudo gedit /etc/modprobe.d/intel8x0.conf」を実行しgEbitに「options snd-hda-intel model=オプション名」の「オプション名」のところに「ideapad」を当てはめて再起動したところスピーカからイヤホンに切り替わりました。最初はthinkpad
にして再起動しても変わらなかったのでideapadに変えてみたとこ見事に成功しました!なんとお礼を申し上げれば良いか分かりません!
貴方様のご丁寧な説明のお陰でコマンドの操作によってできる事が少しだけですが分かって来ましたし、自分も一歩成長できたような気がします。
今回は本当に有難うございました。そして、これからもこのフォーラム上で度々お世話になりそうなのでよろしくお願いします。
オフライン