Cara membuat Raspberry Pi menggunakan kartu suara USB eksternal sebagai standar

17

Adakah yang tahu cara mengubah prioritas booting kartu suara?

Semua tutorial memberi tahu saya untuk mengedit /etc/modprobe.d/alsa-base.conf, tetapi file tersebut hilang di Raspbian Jesse .

Carl Hudson
sumber
Suara positif

Jawaban:

10

File yang Anda cari berada di /usr/share/alsa/alsa.conf. Itu tidak disebut alsa-base.confadilalsa.conf

Semua teks relevan dalam file itu hanya berjalan sudo nano /usr/share/alsa/alsa.confubah kartu suara default ke 1 atau apa pun yang Anda inginkan jelas 0 adalah default jadi bukan yang saya juga menghapus # dari baris yang mengatakan ... load card-specific configuration files(berdasarkan permintaan) dan sekarang saya memiliki suara yang berasal dari kartu audio cirrus saya menjalankan debian 8 jessie pada ras pi2

Pemilik Breeskeeper
sumber
1
Saya telah melakukan beberapa perbaikan pemformatan cepat. Mungkin salinan dari bagian yang relevan dari file konfigurasi alsa akan membuat jawaban Anda lebih baik.
Journeyman Geek
2
Bukankah "memuat file konfigurasi khusus kartu (berdasarkan permintaan)" sebuah komentar?
SILENT
Hal ini memang hanya komentar untuk menjelaskan blok kode dibawahnya
PTS
Ya. Sebagian jawaban. Tidak cukup info otoritatif di sini bagi saya untuk memutuskan upvoting. ... dan baris itu adalah komentar yang tidak dapat dieksekusi. Dan blok itu sendiri tidak dikomentari.
SDsolar
13

Ini bekerja untuk saya di Raspbian Jessie.

Jika Anda tidak memerlukan chip audio onboard (yaitu output analog atau audio HDMI), nonaktifkan dan kemudian perangkat audio USB dapat menjadi perangkat utama:

  1. Nonaktifkan audio onboard.
    • Buka /etc/modprobe.d/raspi-blacklist.confdan tambahkan blacklist snd_bcm2835.
  2. Biarkan perangkat audio USB menjadi perangkat default.
    • Buka /lib/modprobe.d/aliases.confdan komentarioptions snd-usb-audio index=-2
  3. Mulai ulang
    • sudo reboot
  4. Uji itu.
    • $ aplay /usr/share/sounds/alsa/Front_Center.wav
Leif81
sumber
Saya memperbarui jawaban untuk menggunakan strategi berbeda untuk menonaktifkan audio onboard. Cara ini lebih baik karena tidak merusak applet audio desktop.
leif81
Langkah pertama sangat penting tetapi saya belum menemukannya di tempat lain. Suara positif. Sisanya sudah usang. Juni 2018: Sudah tahu untuk masuk /usr/share/alsa/alsa.confdan mengubahnya untuk mengatakan keduanya default.ctl.card 1dan default.pcm.card 1- kemudian setelah semua ini, reboot dan coba alsa -luntuk melihat hanya menampilkan USB dan bahwa itu adalah kartu # 1. Saya menginstal mplayeruntuk tes dan itu bagus. Mereka mengunci pertanyaan ini menjadi jawaban, jadi ini dia.
SDsolar
@ SDolar Senang membantu. Meskipun saya tidak berpikir Langkah 2 sudah usang? Anda memiliki cara alternatif untuk mengatur perangkat sebagai default. Senang mendengarnya.
leif81
Ini bisa menjadi masalah versi. Misalnya, sistem 16,04 LTS saya segera ditingkatkan dari CD instalasi 14,04. Jadi ada sisa-sisa dari kedua cara melakukan sesuatu, terutama hal-hal yang terlibat dengan proses boot yang berubah di bawah v15. Dalam kasus saya, file modprobe.d ada tetapi semuanya kosong. Jadi pada akhirnya bagus bahwa jawaban ini menunjukkan kedua cara jika Anda memasukkan komentar saya. -> Anda pasti memecahkan masalah terbesar saya dengan alsamixermemasukkan bcm2835 ke daftar hitam. Saya mencari tinggi dan rendah dan hanya jawaban Anda yang memiliki potongan puzzle terakhir. TNX MCH
SDsolar
3

Saya punya masalah dengan ini pada versi terbaru dari Raspbian (Jessie).

Ada sebuah file yang bernama aliases.confdi /lib/modprobe.dyang berisi garis options snd-usb-audio index=-2. Baris itu menimpa /etc/modprobe.d/file, jadi Anda perlu mengubahnya. Komentari dengan tanda #options snd-usb-audio index=-2

Di /usr/share/alsa/alsa.confsaya tidak berkomentar "memuat file konfigurasi khusus kartu (berdasarkan permintaan)" dan saya juga mengganti konten .asoundrcyang merupakan file tersembunyi di folder rumah Anda dengan:

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

Kelemahan dari solusi ini adalah applet suara desktop tidak akan muncul. Jadi untuk mengontrol volume gunakan alsamixeraplikasi atau tombol level suara fisik pada dongle suara USB.

Referensi untuk ini:

  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 .
Perbaikan digital
sumber
2

Metode yang dijelaskan di sini di Raspberry Pi StackExchange bekerja untuk saya. Saya menjalankan Raspian Jessie.

Sepotong informasi baru adalah bahwa saya harus membuat .conffile baru dan tidak mengedit /usr/share/alsa/alsa.conf:

Untuk menyusun ulang kartu saya, pertama-tama saya membuat file bernama /etc/modprobe.d/alsa base.conf. Itu dapat dinamai apa saja yang Anda inginkan asalkan berakhir dengan .conf. Saya kemudian menambahkan yang berikut ini:

# 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
Lennart Hennigs
sumber
2

Saya tidak puas dengan jawaban sebelumnya yang memberikan instruksi yang agak ambigu, jadi saya pikir saya akan mendokumentasikan solusi yang lebih jelas.

Pos yang baik di sini menunjukkan cara menguji perangkat dan kartu mana yang ingin Anda gunakan.

Temukan nomor perangkat keras dan nomor kartu Anda menggunakan aplay -lsebelum dan sesudah menyambungkan perangkat usb Anda.

Untuk sistem saya, perangkat usb terdaftar sebagai card 1: CODEC [USB Audio CODEC], device 0 ...

Anda dapat mengonfirmasi bahwa perangkat berfungsi dengan baik

aplay -D hw:1,0 InsertYourWavFileHere.wav

Pastikan untuk menyalin file audio wav yang valid ke direktori Anda saat ini dan ganti nama dengan tepat. Jika ini berhasil, maka Anda dapat meng-hardcode nilai-nilai ini sedemikian rupa sehingga akan menjadi default untuk aplay di antara semua audio lainnya yang ditangani oleh alsa (kebanyakan kasus)

Untuk mengedit nilai default Anda, Anda juga dapat mengkonfigurasi file seperti yang lain:

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

Baris spesifik yang ingin Anda ubah adalah beberapa halaman ke bawah. Anda dapat mencari dengan Cntl + W atau cukup gulir ke bawah.

Perubahan:

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

Untuk:

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

Simpan file konfigurasi dengan menekan control + x, lalu nano akan meminta Anda untuk mengkonfirmasi editan Anda dan Anda menekan Y dan Enter.

topher217
sumber
Bisakah Anda menjelaskan apa yang Anda bicarakan ketika Anda berkata, "salin file audio wav yang valid ke direktori Anda saat ini dan ganti nama dengan tepat"? Apakah ini merujuk pada aplayperintah untuk "mengkonfirmasi perangkat berfungsi"? Bukankah cukup baik untuk menentukan file audio wav yang valid dengan nama dan jalur lengkapnya saat ini?
G-Man Mengatakan 'Reinstate Monica'
@ G-man Ya, menentukan file audio wav apa pun dengan jalur lengkap atau validnya akan baik-baik saja. Dalam contoh khusus saya, saya telah menggunakan InsertYourWavFileHere.wavtetapi ini bisa dengan mudah diganti dengan ./audio/test.wavjika Anda memiliki file wav di subdirektori audio bernama test.wav misalnya. Jika itu masalahnya, maka aplay -D hw:1,0 ./audio/test.wav harus bekerja dengan baik.
topher217
0

Setelah mengubah alsa.conf ( defaults.ctl.card 1 defaults.pcm.card 1) dan ( load card-specific configuration files (on request)) Anda harus memodifikasi file asoundrc Anda dan memasukkan:

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

Itu akan baik-baik saja

bouziat jacques
sumber
0

Saya telah memberikan Langgan lengkap di sini yang mencakup semua hal di atas dan banyak lagi. Termasuk membersihkan beberapa kesalahpahaman dan jebakan dalam file konfigurasi ALSA.

Esensi yang relevan adalah untuk menonaktifkan modul audio Broadcom yang dipanggil snd_bcm2835dan pastikan bahwa snd_usb_audiohanya kepalan tangan saja. Ini dapat dilakukan dengan 2 cara.

  • Dalam /boot/config.txtfile
  • Dalam file daftar hitam modul.

Kemudian setel Anda konfigurasi ALSA untuk menunjuk ke snd_usb_audioindeks.

not2qubit
sumber
-1

Saya telah mencoba banyak saran orang untuk perubahan konfigurasi. Kodi terus mengeluarkan audio ke HDMI. Saya akhirnya menemukan bahwa Kodi memiliki pengaturan di System | Audio yang memungkinkan Anda memilih kartu audio mana yang akan di-output! Sangat jelas sekali Anda melihatnya.

Pete .T.
sumber