रास्पबेरी पाई बनाने के लिए कैसे एक डिफ़ॉल्ट के रूप में एक बाहरी यूएसबी साउंड कार्ड का उपयोग करें


17

क्या किसी को पता है कि साउंड कार्ड बूट प्राथमिकता को कैसे बदलना है?

सभी ट्यूटोरियल मुझे संपादित करने के लिए कह रहे हैं /etc/modprobe.d/alsa-base.conf, लेकिन फ़ाइल रास्पियन जेसी में गायब है ।


Google में आने के लिए
अपवोट

जवाबों:


10

जिस फ़ाइल को आप ढूंढ रहे हैं वह अंदर स्थित है /usr/share/alsa/alsa.conf। इसके alsa-base.confबस बुलाया नहीं हैalsa.conf

सभी relevent टेक्स्ट उस फ़ाइल में हैं, बस sudo nano /usr/share/alsa/alsa.confडिफ़ॉल्ट साउंड कार्ड को 1 में बदलें या जो भी आप पसंद करते हैं, वह स्पष्ट रूप से 0 है, इसलिए ऐसा नहीं है कि एक मैंने उस लाइन से # हटा दिया है जो कहता है ... load card-specific configuration files(अनुरोध पर) और अब मैं रास pi2 पर डेबियन 8 जेसी चल मेरे सिरस ऑडियो कार्ड से आने वाली ध्वनि है


1
मैंने कुछ त्वरित स्वरूपण फ़िक्स किए हैं। शायद अल्सा कॉन्फिग फाइल के प्रासंगिक हिस्से की एक प्रति आपके उत्तर को और बेहतर बना देगी।
जर्नीमैन गीक

2
"लोड कार्ड-विशिष्ट कॉन्फ़िगरेशन फ़ाइलें (अनुरोध पर)" एक टिप्पणी नहीं है?
साइलेंट

यह वास्तव में इसके नीचे कोड ब्लॉक की व्याख्या करने के लिए सिर्फ एक टिप्पणी है
PTS

हां। आंशिक उत्तर मेरे लिए पर्याप्त आधिकारिक जानकारी नहीं है, जो मुझे उभारने का फैसला करने के लिए है। ... और वह पंक्ति एक टिप्पणी है जो निष्पादन योग्य नहीं है। और ब्लॉक को टिप्पणी नहीं दी गई है।
एसडीसोलर

13

इसने मेरे लिए रस्पियन जेसी पर काम किया।

यदि आपको ऑनबोर्ड ऑडियो चिप (यानी एनालॉग आउटपुट या hdmi ऑडियो) की आवश्यकता नहीं है, तो इसे अक्षम करें और फिर USB ऑडियो डिवाइस प्राथमिक डिवाइस बन सकता है:

  1. ऑनबोर्ड ऑडियो अक्षम करें।
    • खोलें /etc/modprobe.d/raspi-blacklist.confऔर जोड़ें blacklist snd_bcm2835
  2. USB ऑडियो डिवाइस को डिफ़ॉल्ट डिवाइस होने दें।
    • /lib/modprobe.d/aliases.confलाइन खोलें और टिप्पणी करेंoptions snd-usb-audio index=-2
  3. रीबूट
    • sudo reboot
  4. इसका परीक्षण करें।
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav

मैंने ऑनबोर्ड ऑडियो को अक्षम करने के लिए एक अलग रणनीति का उपयोग करने के उत्तर को अपडेट किया। यह तरीका बेहतर है क्योंकि यह डेस्कटॉप ऑडियो एप्लेट को नहीं तोड़ता है।
leif81

पहला कदम महत्वपूर्ण है, लेकिन मुझे यह कहीं और नहीं मिला। वोट दें। बाकी सब पुराना है। जून 2018: पहले से ही /usr/share/alsa/alsa.confदोनों को कहने के लिए इसे बदलने और इसे बदलने के लिए पहले से ही पता था default.ctl.card 1और default.pcm.card 1फिर इस सब के बाद, रिबूट करें और alsa -lकेवल USB दिखाने की कोशिश करें और यह कार्ड # 1 है। मैंने mplayerपरीक्षण के लिए स्थापित किया और यह बहुत अच्छा है। उन्होंने इस सवाल को जवाब के लिए बंद कर दिया है।
19

@SDsolar मदद करने के लिए खुशी है। हालांकि मुझे नहीं लगता कि चरण 2 पुराना है? डिवाइस को डिफ़ॉल्ट के रूप में सेट करने के लिए आपके पास एक वैकल्पिक तरीका है। जानकार अच्छा लगा।
leif81

यह एक संस्करण मुद्दा हो सकता है। उदाहरण के लिए, मेरी 16.04 एलटीएस प्रणाली दोनों को 14.04 स्थापित सीडी से तुरंत अपग्रेड किया गया था। इसलिए दोनों तरह के काम करने के तरीके हैं, विशेष रूप से बूट प्रक्रिया से जुड़ी चीजें जो v15 के तहत बदल गईं। मेरे मामले में, modprobe.d फाइलें मौजूद हैं लेकिन वे सभी रिक्त हैं। इसलिए अंत में यह अच्छा है कि यदि आप मेरी टिप्पणी को शामिल करते हैं तो यह उत्तर दोनों तरीके दिखाता है। -> आपने निश्चित रूप से alsamixerbcm2835 को ब्लैकलिस्ट करके मेरा सबसे बड़ा मुद्दा हल कर दिया। मैंने उच्च और निम्न खोज की और केवल आपके उत्तर में पहेली का वह अंतिम टुकड़ा था।
टीएनएक्स

3

रास्पियन (जेसी) के हालिया संस्करणों पर मुझे इसके साथ समस्याएं थीं।

एक फाइल होती है aliases.conf, /lib/modprobe.dजिसमें लाइन होती है options snd-usb-audio index=-2। वह लाइन /etc/modprobe.d/फाइलों को ओवरराइड करती है, इसलिए आपको उस एक को बदलने की जरूरत है। एक # लाइन के साथ टिप्पणी करेंoptions snd-usb-audio index=-2

में /usr/share/alsa/alsa.confमैं अन-टिप्पणी की, "(अनुरोध पर) लोड कार्ड विशिष्ट विन्यास फाइल" और मैं भी सामग्री की जगह ले ली .asoundrcके साथ अपने घर फ़ोल्डर में एक छिपा फाइल है जो:

pcm.!default plughw:Device
ctl.!default plughw:Device

इस समाधान का नकारात्मक पक्ष यह है कि डेस्कटॉप ध्वनि एप्लेट दिखाई नहीं देगा। इसलिए वॉल्यूम को नियंत्रित करने के alsamixerलिए USB साउंड डोंगल पर एप्लिकेशन या फिजिकल साउंड लेवल बटन का उपयोग करें ।

इसके लिए संदर्भ:

  1. https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=124016&p=857433&hilit=usb+audio#p857433
  2. http://alsa.opensrc.org/Asoundrc#Default_PCM_device

2

यहाँ वर्णित विधि रास्पबेरी पाई StackExchange मेरे लिए काम किया। मैं रास्पियन जेसी चला रहा हूं।

नई जानकारी यह थी कि मुझे एक नई .confफ़ाइल बनानी थी और उसे संपादित नहीं करना था /usr/share/alsa/alsa.conf:

अपने कार्ड को पुनः व्यवस्थित करने के लिए, मैं पहली बार एक फ़ाइल बनाता हूं जिसका नाम है। /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

2

मैं थोड़ा अस्पष्ट निर्देश देते हुए पिछले उत्तरों से संतुष्ट नहीं था, इसलिए मुझे लगा कि मैं अधिक स्पष्ट समाधान का दस्तावेजीकरण करूंगा।

एक अच्छा पोस्ट यहाँ से पता चलता है कि कैसे परीक्षण है जो डिवाइस और कार्ड का उपयोग करने के लिए मांग कर रहे हैं।

aplay -lप्लग इन करने से पहले और बाद में अपने USB डिवाइस का उपयोग करके अपने हार्डवेयर डिवाइस नंबर और कार्ड नंबर का पता लगाएं ।

मेरे सिस्टम के लिए, USB डिवाइस के रूप में सूचीबद्ध है card 1: CODEC [USB Audio CODEC], device 0 ...

आप पुष्टि कर सकते हैं कि डिवाइस किसके साथ काम कर रहा है

aplay -D hw:1,0 InsertYourWavFileHere.wav

एक मान्य wav ऑडियो फ़ाइल को अपनी वर्तमान निर्देशिका में कॉपी करना सुनिश्चित करें और उचित नाम बदलें। यदि यह काम करता है, तो आप इन मूल्यों को हार्डकोड कर सकते हैं, जैसे कि वे अलसा (अधिकांश मामलों) द्वारा नियंत्रित अन्य सभी ऑडियो के बीच aplay के लिए चूक बन जाएंगे।

अपने डिफ़ॉल्ट मानों को संपादित करने के लिए, जैसा आपने दूसरों को बताया है, अलसा फाइल को कॉन्फ़िगर करें:

sudo nano /usr/share/alsa/alsa.conf

जिन विशिष्ट लाइनों को आप बदलना चाहते हैं, वे कुछ पृष्ठ नीचे हैं। आप Cntl + W के साथ खोज कर सकते हैं या बस नीचे स्क्रॉल कर सकते हैं।

परिवर्तन:

defaults.pcm.card 0 defaults.pcm.device 0

सेवा:

defaults.pcm.card 1 defaults.pcm.device 0

नियंत्रण + x दबाकर कॉन्फ़िगर फ़ाइल को सहेजें, फिर नैनो आपको अपने संपादन की पुष्टि करने के लिए कहेगा और आप Y और Enter दबाएं।


क्या आप बता सकते हैं कि आप क्या बात कर रहे हैं, जब आप कहते हैं, "एक मान्य wav ऑडियो फ़ाइल को अपनी वर्तमान निर्देशिका में कॉपी करें और उचित नाम दें?" क्या यह aplay"डिवाइस काम कर रहा है" पुष्टि करने के लिए कमांड का उल्लेख कर रहा है? क्या अपने वर्तमान नाम और पूर्ण पथ द्वारा मान्य wav ऑडियो फ़ाइल को निर्दिष्ट करना पर्याप्त नहीं है?
जी-मैन का कहना है

@ G-man हाँ, किसी भी wav ऑडियो फ़ाइल को उसके पूर्ण या मान्य पथ से निर्दिष्ट करना ठीक होना चाहिए। मेरे विशेष उदाहरण में मैंने उपयोग किया था InsertYourWavFileHere.wavलेकिन इसे आसानी से बदला जा सकता ./audio/test.wavथा यदि आपके पास उदाहरण के लिए test.wav नाम के ऑडियो उपनिर्देशिका में एक wav फ़ाइल थी। अगर ऐसा था, तो aplay -D hw:1,0 ./audio/test.wav बस काम करना चाहिए।
topher217

0

Alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) और ( load card-specific configuration files (on request)) को बदलने के बाद आपको अपनी asoundrc फ़ाइल को संशोधित करना होगा और उसमें डालना होगा:

pcm.!default { type hw card 0 }
pcm.default.card 1.

यह ठीक हो जाएगा


0

मैंने यहां एक पूरा राइटअप दिया है जो उपरोक्त सभी को कवर करता है और बहुत कुछ। एएलएसए फाइल में कुछ गलतफहमी और नुकसान को साफ करने सहित।

प्रासंगिक आवश्यक बुलाया ब्रॉडकॉम ऑडियो मॉड्यूल को अक्षम करना है snd_bcm2835और यह सुनिश्चित करना है कि snd_usb_audioमुट्ठी और केवल लोड किया गया है। यह 2 तरीकों से किया जा सकता है।

  • में /boot/config.txtफ़ाइल
  • मॉड्यूल ब्लैकलिस्ट फ़ाइल में।

फिर snd_usb_audioइंडेक्स को इंगित करने के लिए आपको ALSA कॉन्फिगर करें ।


-1

मैंने कॉन्फ़िगर परिवर्तनों के लिए बहुत से लोगों के सुझावों की कोशिश की है। कोडी ने ऑडियो को hdmi से बाहर रखना जारी रखा। मैंने आखिर में पाया कि कोडी की एक प्रणाली है ऑडियो जो आपको आउटपुट करने के लिए किस ऑडियो कार्ड को चुनने की अनुमति देता है! एक बार देखने के बाद इतना स्पष्ट है।

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