लिनक्स सर्वर में डमी साउंड कार्ड डिवाइस कैसे बनाएं?


20

मैं लिनक्स प्रोग्राम चलाना चाहता हूं, जिसमें एक सर्वर पर साउंडकार्ड की आवश्यकता होती है, जिसमें कोई साउंडकार्ड नहीं है। क्या डमी साउंडकार्ड बनाना संभव है? मैं लिनक्स साउंड सिस्टम इंटर्नल से पूरी तरह अनजान हूँ। कृपया मुझे सही दिशा में इंगित करें।

मैंने इस उदाहरण का पालन किया है: http://alsa.opensrc.org/.asoundrc लेकिन यह काम नहीं किया।

PS: इसी तरह का सवाल है: लिनक्स में वर्चुअल साउंड डिवाइस कैसे बनाएं? । लेकिन यह इस संदर्भ में पूरी तरह से अलग है कि उपयोगकर्ता पहले से उपलब्ध साउंडकार्ड के लिए एक उपनाम बना रहा है।


संपादित करें:
मैं चाहता हूं कि डमी डिवाइस को / 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)

हां, अलसा में "डमी" साउंड डिवाइस जैसी चीज है। लेकिन आपको इस बारे में विस्तार से बताने की जरूरत है कि आपके लिए वास्तव में "क्या काम नहीं किया"। त्रुटि संदेश, सॉफ्टवेयर द्वारा पता लगाया नहीं, आदि। इसके अलावा, लक्ष्य "लिनक्स प्रोग्राम" ALSA का उपयोग करता है? क्योंकि अगर ऐसा नहीं होता है, ALSA config फाइल के साथ खिलवाड़ आपको ज्यादा नहीं देगा।
4

मैं चाहता / चाहती हूं कि एक वर्चुअल साउंड डिवाइस / देव / ...
ssapkota

अधिक के लिए संपादन देखें।
ssapkota

जवाबों:


14

आपको एक डमी साउंड ड्राइवर लोड करना होगा । कृपया विस्तृत जानकारी के लिए अलसा विकी देखें , लेकिन यहां मूल बातें हैं:

  1. चालक को लोड करें:

    modprobe snd-dummy; modprobe snd-pcm-oss; modprobe snd-मिक्सर-ऑस; modprobe snd-seq-oss

  2. उचित .asoundrc फ़ाइल है (आपके पास इसे कवर किया गया है)

  3. ड्रायवरों के ऑटोलॉडिंग को कॉन्फ़िगर करें। इसे इसमें जोड़ें /etc/modules.conf:

    # OSS / नि: शुल्क भाग - कार्ड # 1
    उपनाम ध्वनि-स्लॉट-0 snd-card-0
    उपनाम ध्वनि-सेवा-0-0 snd-मिक्सर-oss-
    alias ध्वनि-सेवा-0-1 snd-seq-oss
    alias ध्वनि-सेवा -0-3 snd-pcm-oss
    alias ध्वनि-सेवा-0-8 snd-seq-oss
    उपनाम ध्वनि-सेवा-0-12 snd-pcm-oss

वास्तव में काफी कुछ चीजें शामिल हैं, मेरा सुझाव है कि आप अधिक विस्तृत विवरण के लिए ऊपर विकी पृष्ठ पर जाएं।


एक प्रश्न। क्या लिनक्स कर्नेल डिवाइस ड्राइवर बनाना संभव है जो कि एक साउंड कार्ड को Linux फिर alsa, OSS इत्यादि के लिए अनुकरण करता है? मैं लिनक्स डिवाइस पढ़ रहा हूं और अपने आप से पूछ रहा हूं कि क्या यह संभव है।
डेफ्रिटास

सीक्वेंसर के लिए कोर मॉड्यूल अब snd-seq-dummy के रूप में प्रदर्शित होता है।
डिब्रो

11

जब रास्पबेरी पाई पर काम करने वाले रास्पियन (डेबियन के व्युत्पन्न) पर काम करने की कोशिश कर रहा था, तो मुझे भी इसके साथ समस्या थी। पाई पर एक ऑडियो आउटपुट है, लेकिन कोई इनपुट नहीं है, और मैं एक एप्लिकेशन का उपयोग करना चाहता हूं जो दोनों के लिए दिखता है, भले ही मुझे केवल एक आउटपुट (PJSIP) की आवश्यकता हो।

हालाँकि, ऊपर दी गई जानकारी ने मेरे लिए काम नहीं किया और न ही वाईकेआई पेज। एक उपयोगकर्ता के साथ बोलने के बाद एएलएसए मेलिंग सूची बनाते हैं, उन्होंने सुझाव दिया कि विकी पृष्ठ पर जानकारी पुरानी है, हालांकि, उन्होंने मुझे संकेत दिया कि इसे कैसे हल किया जाए।

सबसे पहले, मुझे केवल 'snd-dummy' मॉड्यूल को लोड करने की आवश्यकता है:

sudo modprobe snd-dummy

हालाँकि, रिबूट के बाद डिवाइस मौजूद नहीं रहता है। Pi पर, इस मॉड्यूल को '/ etc / मॉड्यूल' फ़ाइल के माध्यम से लोड किया जा सकता है, ड्राइवर को वांछित परिणाम उत्पन्न करने के लिए इस फ़ाइल को संपादित करके:

sudo nano /etc/modules

मेरा / etc / मॉड्यूल फ़ाइल बस इस तरह दिखता है:

# /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

इसलिए, डिफ़ॉल्ट ड्राइवर पहले लोड करता है, फिर डमी ड्राइवर दूसरा लोड करता है। काम हो गया!

शुभ लाभ

क्रिस


@logoff आपको लगता है कि एक डॉकटर कंटेनर के साथ-साथ रासबेरी पाई पर भी काम होगा?
thataustin

@thataustin मुझे लगता है कि आपको डॉकटर कंटेनर में हार्डवेयर की पहुंच देने की आवश्यकता है। मेरा सुझाव है कि बिना डॉकर के पहले प्रयास करें, और यदि आप सफल होते हैं, तो डॉकर के साथ प्रयास करें।
लॉगऑफ़

0

मैं रास्पबेरीपी पर लाइनफोन के लिए भी इसका उपयोग करता हूं, क्योंकि इसके लिए एक इनपुट डिवाइस की आवश्यकता होती है, हालांकि मुझे नकली_बफ़र = 0 परम को जोड़ना था, अन्यथा डमी कैप्चर डिवाइस बहुत सारे यादृच्छिक शोर को पकड़ लेगा, और यह अजीब होगा ... आप कर सकते हैं यह ऐसा है:

sudo modprobe snd-dummy fake_buffer=0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.