サウンドカードを必要としないLinuxプログラムを、サウンドカードのないサーバーで実行したい。ダミーのサウンドカードを作成することは可能ですか? Linuxサウンドシステムの内部については、まったく知りません。正しい方向に向けてください。
私はこの例に従いました: http://alsa.opensrc.org/.asoundrc しかし、うまくいきませんでした。
PS:同様の質問があります: Linuxで仮想サウンドデバイスを作成する方法 。しかし、これは、ユーザーがすでに利用可能なサウンドカードのエイリアスを作成しているという点で、まったく異なります。
編集:
サウンドデバイスを必要とするすべてのアプリケーションがダミーデバイスを見つけられるように、/ dev/..にダミーデバイスを作成します。
私は完全に気をつけていません。だから私は単に例に従っていました。 /etc/asound.confを次のように作成しました:
pcm.card0 {
type hw
card 0
}
ctl.card0 {
type hw
card 0
}
そしてaplay -L
は私にくれます:
null
Discard all samples (playback) or generate zero samples (capture)
dummyサウンドドライバをロードする必要があります。詳細については Alsa Wiki を参照してください。ただし、基本は次のとおりです。
ドライバをロードします。
modprobe snd-dummy; modprobe snd-pcm-oss; modprobe snd-mixer-oss; modprobe snd-seq-oss
適切な.asoundrcファイルを用意します(カバーされています)
ドライバの自動読み込みを構成します。これを/etc/modules.conf
に追加:
#OSS /無料部分-カード#1
エイリアスsound-slot-0 snd-card-0
エイリアスsound-service-0-0 snd-mixer-oss
エイリアスsound-service-0-1 snd-seq-oss
エイリアスsound-service-0-3 snd-pcm-oss
エイリアスsound-service-0-8 snd-seq-oss
エイリアスsound-service-0-12 snd-pcm-oss
実際にはかなり多くのことが関係しています。詳細については、上のWikiページにアクセスすることをお勧めします。
Raspian(Debianの派生物)を実行しているRaspberry Piでダミーサウンドデバイスを動作させようとしたときに、私もこれに問題がありました。 Piにはオーディオ出力がありますが、入力はありません。出力(PJSIP)のみが必要な場合でも、両方を検索するアプリケーションを使用したいと思います。
しかし、上記の情報は私にとっては機能せず、WiKiページも機能しませんでした。 ALSAメーリングリストのユーザーと話した後、彼らはWikIページの情報が古いことを示唆しましたが、これを解決する方法についての指針を教えてくれました。
最初に、私は 'snd-dummy'モジュールをロードする必要があるだけです:
Sudo modprobe snd-dummy
ただし、再起動後、デバイスは存在し続けません。 Piでは、このモジュールは「/ etc/modules」ファイルを介してロードできます。このファイルを編集してドライバーをロードすると、望ましい結果が得られます。
Sudo nano /etc/modules
/ etc/modulesファイルは次のようになります。
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
snd-dummy
したがって、デフォルトのドライバーが最初にロードされ、次にダミーのドライバーがロードされます。仕事完了!
幸運を
クリス
入力デバイスが必要なため、RaspberryPiのLinphoneにも使用しますが、fake_buffer = 0パラメータを追加する必要があります。そうしないと、ダミーキャプチャデバイスがランダムノイズを大量に取得するため、奇妙です...それは好きです:
Sudo modprobe snd-dummy fake_buffer=0