Raspberry Pi'nin varsayılan olarak harici bir USB ses kartı kullanması


17

Ses kartı önyükleme önceliğini nasıl değiştireceğini bilen var mı?

Tüm eğiticiler düzenlememi söylüyor /etc/modprobe.d/alsa-base.conf, ancak dosya Raspbian Jesse'de eksik .


Google'a geldiğiniz için oy verin - Haziran 2018
SDsolar

Yanıtlar:


10

Aradığınız dosya /usr/share/alsa/alsa.conf. alsa-base.confSadece çağırılmadıalsa.conf

İlgili tüm metin bu dosyada sadece sudo nano /usr/share/alsa/alsa.confvarsayılan ses kartını 1 olarak değiştirin ya da açıkçası tercih ettiğiniz herhangi bir şey varsayılan olarak 0'dır, böylece bir tanesi de # load card-specific configuration files(istek üzerine) yazan satırdan sildim ... var the ses coming itibaren benim cirrus ses kartı running debian 8 jessie üzerinde ras pi2


1
Birkaç hızlı biçimlendirme düzeltmesi yaptım. Belki de alsa config dosyasının ilgili bölümünün bir kopyası cevabınızı daha da iyi hale getirecektir.
Journeyman Geek

2
"Karta özgü yapılandırma dosyaları yükle (istek üzerine)" bir yorum değil mi?
SILENT

Gerçekten altındaki kod bloğunu açıklamak için sadece bir yorum
PTS

Evet. Kısmi cevap. Burada oylamaya karar vermem için yeteri kadar yeterli bilgi yok. ... ve bu satır yürütülebilir olmayan bir yorumdur. Ve bloğun kendisi yorumlanmaz.
SDsolar

13

Bu benim için Raspbian Jessie'de işe yaradı.

Yerleşik ses yongasına (analog çıkış veya hdmi ses) ihtiyacınız yoksa, devre dışı bırakın ve USB ses cihazı birincil cihaz olabilir:

  1. Yerleşik sesi devre dışı bırakın.
    • Açın /etc/modprobe.d/raspi-blacklist.confve ekleyin blacklist snd_bcm2835.
  2. USB ses cihazının varsayılan cihaz olmasına izin verin.
    • /lib/modprobe.d/aliases.confSatırı aç ve yorum yapoptions snd-usb-audio index=-2
  3. Yeniden Başlatma
    • sudo reboot
  4. Test edin.
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav

Cevabı, dahili sesi devre dışı bırakmak için farklı bir strateji kullanmak üzere güncelledim. Bu şekilde daha iyidir çünkü masaüstü ses uygulamasını bozmaz.
leif81

İlk adım çok önemli ama başka hiçbir yerde bulamamıştım. Oyla. Gerisi modası geçmiş. Haziran 2018: Zaten içeri girmeyi /usr/share/alsa/alsa.confve her ikisini de söyleyecek şekilde değiştirmeyi biliyordum default.ctl.card 1ve default.pcm.card 1- bundan sonra, yeniden başlatın ve alsa -lsadece USB gösterisini görmeye çalışın ve kart # 1. mplayerTest için yükledim ve harika. Bu soruyu cevaplara kilitlediler, işte burada.
SDsolar

@SDsolar Yardım etmekten mutluluk duyarız. Adım 2'nin modası geçmiş olduğunu düşünmeme rağmen? Cihazı varsayılan olarak ayarlamanın alternatif bir yolu var. Bunu bildiğim iyi oldu.
leif81

Bir sürüm sorunu olabilir. Örneğin, 16.04 LTS sistemlerimin her ikisi de hemen 14.04 kurulum CD'sinden yükseltildi. Bu nedenle, her iki şekilde de, özellikle v15 altında değişen önyükleme işlemiyle ilgili olan şeylerin izleri var. Benim durumumda, modprobe.d dosyaları var ama hepsi boş. Sonuçta, yorumumu eklerseniz bu cevabın her iki yolu da göstermesi iyidir. -> En büyük sorunumu kesinlikle alsamixerbcm2835'i kara listeleyerek çözdün. Yüksek ve alçak aradım ve sadece cevabınız bulmacanın son parçasıydı. TNX MCH
SDsolar

3

Raspbian'ın (Jessie) son sürümlerinde bununla ilgili problemlerim vardı.

Adlı bir dosya var aliases.confiçinde /lib/modprobe.dsatır içeren options snd-usb-audio index=-2. Bu satır /etc/modprobe.d/dosyaları geçersiz kılar , bu yüzden onu değiştirmeniz gerekir. # Satırıyla yorum yapmaoptions snd-usb-audio index=-2

In /usr/share/alsa/alsa.confben “(istek üzerine) yük kart için yapılandırma dosyaları” un-yorumladı ve ben de içeriğini yerini .asoundrcile ev klasöründeki bir gizli dosya olan:

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

Bu çözümün dezavantajı, masaüstü ses uygulaması görünmeyecek olmasıdır. alsamixerSes seviyesini kontrol etmek için USB ses donanımındaki uygulamayı veya fiziksel ses seviyesi düğmelerini kullanın .

Bunun için referanslar:

  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

Raspberry Pi StackExchange'te açıklanan yöntem benim için çalıştı. Raspian Jessie'yi çalıştırıyorum.

Yeni bilgi, yeni bir .confdosya oluşturmak ve düzenlemek değil vardı /usr/share/alsa/alsa.conf:

Kartlarımı yeniden sıralamak için önce /etc/modprobe.d/alsa base.conf. .conf ile bittiği sürece istediğiniz herhangi bir ad verilebilir. Daha sonra aşağıdakileri ekledim:

# 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

Önceki cevaplardan biraz belirsiz talimatlar vermekten memnun kalmadım, bu yüzden daha net bir çözüm belgeleyeceğimi düşündüm.

İyi bir sonrası burada gösterir nasıl kullanılmaya çalışılan cihaz ve kart testine.

aplay -lUSB cihazınızı takmadan önce ve sonra kullanarak donanım cihazınızın numarasını ve kart numaranızı bulun.

Sistemim için, usb cihazı şu şekilde listelenir: card 1: CODEC [USB Audio CODEC], device 0 ...

Cihazın çalıştığını onaylayabilirsiniz

aplay -D hw:1,0 InsertYourWavFileHere.wav

Geçerli bir wav ses dosyasını geçerli dizininize kopyaladığınızdan ve uygun şekilde yeniden adlandırdığınızdan emin olun. Bu işe yararsa, bu değerleri alsa tarafından işlenen diğer tüm sesler için varsayılan olarak olacak şekilde sabitleyebilirsiniz (çoğu durumda)

Varsayılan değerlerinizi düzenlemek için başkalarının belirttiği gibi alsa config dosyasını da kullanabilirsiniz:

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

Değiştirmek isteyeceğiniz satırlar birkaç sayfa aşağıdadır. Cntl + W ile arama yapabilir veya sadece aşağı kaydırabilirsiniz.

Değişiklik:

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

Kime:

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

Yapılandırma dosyasını control + x tuşlarına basarak kaydedin, ardından nano sizden düzenlemelerinizi onaylamanızı ister ve Y ve Enter tuşlarına basarsınız.


“Geçerli bir wav ses dosyasını geçerli dizininize kopyalayın ve uygun şekilde yeniden adlandırın” dediğinde ne konuştuğunuzu açıklayabilir misiniz? Bu aplay, “cihazın çalıştığını onaylama” komutuna mı atıfta bulunuyor ? Geçerli bir wav ses dosyasını geçerli adına ve tam yoluna göre belirtmek yeterli değil mi?
G-Man,

@ G-man Evet, herhangi bir wav ses dosyasını tam veya geçerli yolu ile belirtmek iyi olmalıdır. Benim özel örneğimde kullandım, InsertYourWavFileHere.wavancak ./audio/test.wavtest.wav adlı ses alt dizininde bir wav dosyanız varsa bu kolayca değiştirilebilir . Eğer durum buysa, o zaman aplay -D hw:1,0 ./audio/test.wav da iyi çalışmalıdır.
topher217

0

Alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) ve ( load card-specific configuration files (on request)) değiştirildikten sonra asoundrc dosyanızı değiştirmeniz ve girmeniz gerekir:

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

İyi olacak


0

Burada yukarıdakilerin tümünü ve daha fazlasını kapsayan tam bir yazı verdim . ALSA yapılandırma dosyalarındaki bazı yanlış anlamaların ve tuzakların giderilmesi dahil.

İlgili esas, çağrılan Broadcom ses modülünü devre dışı bırakmak ve sadece yumruk yüklendiğinden snd_bcm2835emin olmaktır snd_usb_audio. Bu iki yoldan biriyle yapılabilir.

  • Gelen /boot/config.txtdosyanın
  • Modül kara listesi dosyasında.

Ardından ALSA yapılandırmasını snd_usb_audiodizine işaret edecek şekilde ayarlayın .


-1

Yapılandırma değişiklikleri için birçok insanın önerilerini denedim. Kodi, sesi hdmi'ye aktarmaya devam etti. Sonunda Kodi'nin System | Hangi ses kartının verileceğini seçmenize olanak tanıyan ses! Bir kez gördüğünüzde çok açık.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.