[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:42996] Re: サウンドが鳴る仕組みについて
- From: Kenshi Muto <kmuto@xxxxxxxx>
- Subject: [debian-users:42996] Re: サウンドが鳴る仕組みについて
- Date: Sat, 12 Feb 2005 20:54:47 +0900
- List-help: <mailto:debian-users-ctl@debian.or.jp?body=help>
- List-id: debian-users.debian.or.jp
- List-owner: <mailto:debian-users-admin@debian.or.jp>
- List-post: <mailto:debian-users@debian.or.jp>
- List-software: fml [fml 4.0.3 release (20011202/4.0.3)]
- List-unsubscribe: <mailto:debian-users-ctl@debian.or.jp?body=unsubscribe>
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-users-ctl@debian.or.jp; help=<mailto:debian-users-ctl@debian.or.jp?body=help>
- X-ml-name: debian-users
- X-mlserver: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post)
- X-original-to: debian-users@debian.or.jp
- X-spam-level:
- X-spam-status: No, hits=0.6 required=10.0 tests=IN_REP_TO,ISO2022JP_BODY,ISO2022JP_CHARSET, QUOTED_EMAIL_TEXT,RCVD_IN_ORBS,RCVD_IN_OSIRUSOFT_COM, REFERENCES,SIGNATURE_SHORT_DENSE,SPAM_PHRASE_00_01, USER_AGENT,X_OSIRU_OPEN_RELAY version=2.44
- X-virus-scanned: by amavisd-new-20030616-p7 (Debian) at topstudio.co.jp
- References: <420DE49D.5030401@xxxxxxxxxxxxxxxxxx>
- Message-id: <20050212115444.6B548222F1D@xxxxxxxxxxxxxxxxxxxx>
- X-mail-count: 42996
- User-agent: Wanderlust/2.11.30 (Wonderwall) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 MULE XEmacs/21.4 (patch 16) (Corporate Culture) (i386-debian-linux)
武藤@Debianぷろじぇくとです。
At Sat, 12 Feb 2005 20:15:59 +0900,
m.nishio wrote:
> 「サウンドはどのような仕組みで鳴るのか」について理解したく思います。
> (環境)
> 1. Sarge
> 2. KDE3.3
> 私が、サウンド関連で聞いたことのある用語等は以下の通りです。
> 1.サウンドカード
> 2.サウンドサーバ
> 3.サウンドドライバ
> 4.OSS
> 5.alsa
> 6.aRTS
> 上記の用語の「相互関連」につきましてもご解説頂ければありがたいです。
> (追記)
> 「linuxでどのような仕組みでサウンドが鳴るのか」という根本的で重要な質問
> です。
> 従いまして、「ゼロ」の状態での質問の仕方をさせて頂きます。
> かなりまどろっこしい印象だと思いますが、
> 中途半端な態度で質問させて頂くのは正しくないと考えますので、
> どうかお許しください。
自分で調べたり考えたりしないと脳細胞が退化しますよ。:-)
おおざっぱに書くと
ハードウェアレイヤ カーネルレイヤ アプリケーションレイヤ
サウンドカード/チップ <-> サウンドデバイスドライバ <-> サウンドマネージャ <-> サウンドを利用するアプリケーション
<-> サウンドを利用するアプリケーション
かなぁ。このあたりはLinux特有じゃなくてだいたいどのOSでも構造は似たよ
うなものでしょう。
とりあえず簡素化するためにDSP(デジタルサウンドプロセッシング)経由の
出力についてだけ考えるとして。
サウンドカード/チップ: PCIやISA、USBといったバスでマシンとつながってい
るハードウェア自身。マシンから送られたデジタルデータを再生する。許容
できるデータの形式の範囲は狭い。
サウンドデバイスドライバ: カーネル組み込みまたはモジュールとして実現さ
れているデバイスドライバ。DSPは/dev/dspというデバイスファイル名とし
て通常表される。OSS、ALSAは互いに排他的な別実装のサウンドデバイスド
ライバ(ALSAにはOSSのエミュレーションが用意されている)。デバイスドラ
イバでできることは実装によりけりだけど、サウンドカードを認識して、
/dev/dspに送られたデータをサウンドカードに渡す、という役目は共通。
音量を調整するミキサーデバイス(/dev/mixer)もたいていは提供する(USBオー
ディオでは存在しないこともある)。
サウンドマネージャ: アプリケーション層で動くもので、aRts(KDE向け)や
eSound(GNOME向け)などがこれに該当する。昔の低機能なサウンドカード+デ
バイスドライバでは/dev/dspに一度に1つしかデータを流せない、つまり曲
を流してる間に効果音を鳴らすといったことができなかったので、ソフトウェ
ア的にこの重複処理をやってあげる。いろいろなサウンド形式をデバイスに
扱いやすいような標準形式に変換したりすることもある。
/dev/dspを使いたい各アプリケーションは、このサウンドマネージャを通し
て送ってやれば、勝手に重複処理をしてくれる、と。
逆に言えば、このサウンドマネージャが/dev/dspを握っちゃっているので、
ヘボいサウンドカード+サウンドデバイスドライバの場合で、サウンドマネージャ
を特に使うように考えられていないアプリケーションでは、artsdspや
esddspのようなラッパーを併用して、/dev/dspへのアクセスを強制的にサウ
ンドマネージャを使うようにする必要がある。
サウンドを利用するアプリケーション: ミキサーアプリケーションとかMP3プ
レイヤーとかKDEスイートとかGNOMEスイートとか。たとえばMP3プレイヤー
の場合、MP3を直接サウンドデバイスやサウンドマネージャに投げても再生で
きないので、MP3プレイヤーがMP3ファイルを標準形式に変換して、サウンドデ
バイスなりサウンドマネージャなりに投げるようになっている。
#適当に書いているので間違っているかもしれません :-)
ちょっと古いですが、
http://www.linux.or.jp/JF/JFdocs/Sound-HOWTO.html
http://www.linux.or.jp/JF/JFdocs/Sound-Playing-HOWTO.html
あたりも見てみるとよいでしょう。
--
武藤 健志@ kmuto @ kmuto.jp
Debian/JPプロジェクト (kmuto@debian.org, kmuto@debian.or.jp)
株式会社トップスタジオ (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)