एएलएसए विकी के अनुसार , शीर्षक के तहत " कई स्थापित कार्डों के लिए एक विशेष ऑर्डर कैसे चुनना है" पढ़ता है , यह निम्नलिखित है:
कौन सा कार्ड कार्ड नंबर 0, 1 है और इसलिए डिफ़ॉल्ट रूप से मॉड्यूल लोड ऑर्डर द्वारा निर्धारित किया गया है। यह चुनने के लिए विशेष रूप से उपयोगी है कि कौन सा कार्ड डिफ़ॉल्ट है।
इसलिए सिद्धांत रूप में यह चुनना संभव है कि कौन से स्थापित कार्ड कार्ड 0 बन गए, डिफ़ॉल्ट, यह सुनिश्चित करके कि उसका ड्राइवर मॉड्यूल पहले लोड किया गया है। (नोट: यह मानता है कि प्रत्येक साउंड कार्ड के लिए एक अलग ड्राइवर की आवश्यकता होती है। यदि आपके पास एक ही प्रकार के दो साउंडकार्ड हैं, तो कृपया अगले अनुभाग पर जाएं।)
इसे प्राप्त करने के दो तरीके हैं, कार्ड ड्राइवर मॉड्यूल का "पुराना" सूचकांक = विकल्प, और snd मॉड्यूल का विकल्प (और नया) स्लॉट = विकल्प।
यह ऐसा करने के दो तरीकों का दस्तावेजीकरण करता है:
- पुरानी "इंडेक्स =" विधि
- नया "स्लॉट्स =" विधि
पूर्व वह है जो जैस्पर इंस्टॉलेशन निर्देश सुझाता है। यह भी क्या समाधान के बहुमत के बारे में बात करते हैं। हालांकि, यह पुरानी पद्धति है और अधिक वर्तमान रास्पियन जेसी छवियों पर काम नहीं कर सकता है।
दोनों विधियों का एक संयोजन जो मेरे लिए काम करता है।
सबसे पहले, यह देखने के लिए जांचें कि आपके कार्ड किस क्रम में लोड किए गए हैं:
$ cat /proc/asound/modules
0 snd_bcm2835
1 snd_usb_audio
गिनती कार्ड शुरू होता है 0
इसलिए डिफ़ॉल्ट bcm2835
पहले लोड होता है और मेरा यूएसबी कार्ड जिसमें मेरा माइक दूसरा होता है।
मेरे कार्ड को पुन: व्यवस्थित करने के लिए, मैं पहली बार नाम की एक फ़ाइल बनाने के /etc/modprobe.d/alsa-base.conf
। इसे तब तक नाम दिया जा सकता है जब तक आप इसे समाप्त करना चाहते हैं .conf
। मैंने फिर निम्नलिखित जोड़ा:
# This sets the index value of the cards but doesn't reorder.
options snd_usb_audio index=0
options snd_bcm2835 index=1
# Does the reordering.
options snd slots=snd_usb_audio,snd_bcm2835
टिप्पणियों को यह बताना चाहिए कि प्रत्येक पंक्ति क्या करती है। एक बार जब आप ऐसा कर लेते हैं, तो ऐसा लगता है कि आपको काम करने के लिए अपनी मशीन को रिबूट करना होगा।
एक बार जब आप रिबूट करते हैं, तो आपको डिफ़ॉल्ट कार्ड के साथ कुछ ऑडियो रिकॉर्ड करने में सक्षम होना चाहिए जो अब आपका माइक होना चाहिए:
$ arecord temp.wav
और फिर इसे प्ले करें, कार्ड को 1 के रूप में निर्दिष्ट करें और 0 के रूप में डिवाइस जो आपके स्पीकर आउटपुट में होना चाहिए:
aplay -D plughw:1,0 temp.wav
मैंने शुरू में इसमें केवल लाइन जोड़ी थी slots
। इसने मेरे USB कार्ड को डिफ़ॉल्ट कार्ड बनाने में काम किया लेकिन इसे गलत अनुक्रमित किया गया। उदाहरण के लिए, एक बार मैंने ऐसा किया, यह वही है जो मेरे /proc/asound/modules
जैसा दिखता था:
$ cat /proc/asound/modules
1 snd_usb_audio
2 snd_bcm2835
आदर्श रूप में, यह इस तरह दिखना चाहिए:
0 snd_usb_audio
1 snd_bcm2835
और यही कारण है कि मैं index
इसे प्राप्त करने के लिए विधि का भी उपयोग करता हूं ।