Menggunakan Pi untuk mengalirkan semua output audio dari pc saya ke stereo saya

37

Masalah saya cukup sederhana tetapi saya belum dapat menemukan solusi yang memuaskan.

Pada dasarnya, saya ingin Raspberry Pi saya terhubung ke stereo saya dan kemudian memutar output audio dari komputer saya melalui wifi ke PI.

Apakah ada cara untuk melakukan ini dengan mudah, tanpa harus menggunakan pemain khusus? Yaitu, apakah PC tetap mengenali Pi sebagai "speaker"?

Saya ingin mendengar setiap suara pada PC saya di stereo, yaitu. Permainan, musik, suara sistem, notifikasi, video youtube dll.

Terima kasih banyak!

Jerome
sumber

Jawaban:

24

Jika Anda menjalankan Linux pada PC Anda maka ini sangat bisa dilakukan, selama Anda menginstal dan mengkonfigurasi PulseAudio dengan benar pada keduanya, Raspberry Pi dan PC Linux Anda.

Jika PC Anda menjalankan Windows ... Lewati ke akhir tulisan (yang baru saja saya perbarui).

Pilihan lain adalah menggunakan PulseAudio sebagai penerima / klien AirPlay, tetapi sejauh yang saya tahu, ini tidak mungkin.

Tetapi, jika Anda menggunakan Linux, maka baca terus:

Catatan # 1: PulseAudio melalui WiFi akan bekerja dengan sempurna pada beberapa router tetapi akan gagal pada yang lain.

Catatan # 2: Instruksi berikut berasal dari percakapan yang dilakukan beberapa pengguna Raspberry Pi (termasuk saya) tentang topik ini .

1) Instal PulseAudio di Raspberry Pi Anda

sudo apt-get install pulseaudio pulseaudio-module-zeroconf avahi-daemon

2) Pastikan PulseAudio dimulai secara otomatis:

sudo nano /etc/default/pulseaudio

Cari entri PULSEAUDIO_SYSTEM_START dan ubah menjadi 1 sehingga terlihat seperti PULSEAUDIO_SYSTEM_START = 1

3) Konfigurasikan PulseAudio agar berfungsi melalui jaringan:

sudo nano /etc/pulse/system.pa

Tambahkan baris berikut:

load-module module-native-protocol-tcp auth-ip-acl = 127.0.0.1; 192.168.1.0/24

load-module module-zeroconf-publish

4) Nyalakan ulang Raspberry Pi Anda:

sudo reboot

5) Sekarang, di PC Linux Anda, instal paprefs . Jika distro Linux Anda didasarkan pada Debian (seperti Ubuntu, Mint, dll ...) Anda dapat menggunakan perintah ini:

sudo apt-get install paprefs

6) Jalankan paprefs dan di bawah Akses Jaringan memungkinkan Jadikan perangkat suara jaringan PulseAudio yang dapat ditemukan tersedia secara lokal

7) Di bawah Network Server memungkinkan Aktifkan akses jaringan ke perangkat suara lokal dan centang kedua opsi (Ini mungkin tidak perlu, kecuali Anda juga ingin menggunakan kotak Linux Anda sebagai server / wastafel)

8) Di bawah Multicas / RTP aktifkan kedua opsi

9) Periksa perangkat output yang tersedia (gunakan Aplikasi Audio / Mixer distro Linux Anda). Raspberry Pi Anda akan (harus) muncul dalam daftar; pilih itu dan semua yang dimainkan di kotak Linux Anda akan dialihkan ke Raspberry Pi.

Jika Raspberry Pi Anda masih tidak tersedia, coba mulai ulang PC Linux Anda.


PEMBARUAN: Mengirim semua audio dari Windows ke Raspberry Pi

Anda masih harus mengikuti instruksi sebelumnya untuk menginstal dan mengkonfigurasi PulseAudio pada Raspberry Pi Anda.

Sekarang, inilah yang perlu Anda lakukan untuk Windows:

1) Unduh LineInCode versi terbaru

2) Buka zip file yang diunduh

2) Unduh Plink Putty dan tempatkan file plink.exe di folder yang sama tempat Anda mengekstrak LineInCode

3) Buka Notepad dan rekatkan kode berikut:

linco.exe -B 16 -C 2 -R 44100 | plink 192.168.1.104 -l pi -pw raspberry "cat - | pacat --server 127.0.0.1 --playback"

Tentu saja, ubah alamat IP ( 192.168.1.104 ), nama pengguna ( pi ) dan kata sandi ( raspberry ) agar sesuai dengan pengaturan Anda.

4) Simpan file sebagai audio2rpi.bat di folder yang sama tempat Anda mengekstrak LineInCode

Sekarang, setiap kali Anda ingin melakukan streaming audio PC Windows Anda ke Raspberry Pi Anda cukup klik dua kali pada file audio2rpi.bat.


Penghargaan untuk instruksi ini: http://ubuntuforums.org/showthread.php?t=1121603

xfx
sumber
Terima kasih - saya akan mencobanya! dapatkah saya menggunakan pulseaudio untuk streaming dari smartphone juga? Terima kasih
Jerome
@ Jerome Itu seharusnya pertanyaan lain yang Anda ajukan di situs web ini.
syb0rg
OS apa yang Anda jalankan pada Pi Anda? Saya menjalankan instalasi baru Raspbmc dan mengikuti instruksi ini tampaknya telah merusak perangkat. Untung memformat ulang begitu mudah ...
gillonba
Saya telah mencoba instruksi ini pada beberapa rilis Raspbian.
xfx
Tertarik untuk mengetahui alamat IP apa yang kita masukkan dalam pemuatan modul config tcp default. Saya mengalami pemutaran sedikit glitchy melalui nirkabel tetapi tanpa cacat melalui kabel, menarik karena nethogslaporan hanya 13 KB / s digunakan.
M1ke
4

Saya menulis entri blog kecil tentang bagaimana saya bisa bekerja dengan PulseAudio di PC dan Raspbmc di Raspberry Pi - menggunakan streaming DLNA / UPnP. Itu ada di sini: http://westmarch.sjsoft.com/2014/04/streaming-audio-linux-to-raspbmc/ . Semoga itu bisa membantu. Ada sedikit kelambatan saat buffer XBMC - jadi ini mungkin tidak bagus untuk bermain game atau apa pun, tetapi ini berfungsi dengan baik untuk musik.

Ini adalah kumpulan instruksi yang cukup panjang - karenanya tautannya di sini, tapi di sini adalah ringkasan dari opsi yang bekerja untuk saya, menggunakan DLNA / UPnP:

  • apt-get install rygel
  • Buka PulseAudio Preferensi dan di bawah centang Server Jaringan Jadikan perangkat suara lokal tersedia sebagai DLNA / UPnP Media Server dan Buat perangkat audio terpisah untuk streaming DLNA / UPnP
  • Edit konfigurasi Rygel di /etc/rygel.confatau $HOME/.config/rygel.conf, dan konfigurasikan untuk mempublikasikan menggunakan GstLaunch(lihat konfigurasi di bawah)
  • Buka File Manager XBMC Anda, telusuri sumber baru, pilih Perangkat UPnP , dan Anda akan melihat Peluncuran Pertama sebagai opsi
  • Maka Anda harus bisa memberi tahu XBMC untuk memutar audio dari aliran itu

Berikut adalah konfigurasi untuk Rygel untuk menggunakan GstLaunch:

[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Audio on @HOSTNAME@
mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc
Matt Hampton
sumber
Bisakah Anda memasukkan satu set instruksi yang disederhanakan dari posting blog Anda jika terjadi sesuatu di masa depan?
Fred
4

Ingin melakukan ini sendiri dari Windows7 -> RaspberryPi (OpenElec) dan tersandung pertanyaan Anda. Setelah beberapa penelitian, saya masih belum menemukan solusi yang memuaskan untuk OpenElec tetapi punya cukup info untuk menghasilkan satu yang sangat sederhana dan benar-benar berfungsi dengan kualitas tinggi dan hanya sekitar ~ 1detik penundaan!

Anda membutuhkan:

  1. VLC Media Player (Saya menggunakan v2.1.3 Rincewind pada Win7 x64 saya)
  2. Kartu suara yang menyediakan perangkat perekaman "Stereo Mix" (saya cukup beruntung memiliki satu on-board)
  3. A Raspberry Pi (saya menggunakan OpenElec 4.0.5, meskipun seharusnya berfungsi untuk XBMC secara umum)

Catatan: Jika Anda tidak memiliki kartu suara yang mendukung ini, Anda dapat mencoba menggunakan VAC ( http://www.virtualaudiocable.net/ ), meskipun saya katakan Anda tidak bekerja dengan baik untuk saya, kualitas audio yang buruk dan buffer masalah sepanjang jalan ... tapi mungkin hanya aku.

Langkah 1)

Buat file batch yang memulai layanan streaming VLC http di latar belakang dan menangkap audio dari perangkat rekaman "Stereo Mix":

@echo off

set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
start "" %vlc% --qt-start-minimized dshow:// :dshow-vdev=none :dshow-adev="Stereo Mix (Realtek High Defini" :live-caching=10 :sout=#transcode{vcodec=none,acodec=vorb,ab=500,channels=2,samplerate=44100}:http{dst=:8080/audiostream.ogg} :sout-keep

Catatan:

  1. Anda mungkin harus mengubah perangkat rekaman jika nama Anda berbeda, saya menggunakan Audacity ( http://audacity.sourceforge.net/ ) untuk memeriksa nama perangkat tangkapan saya karena saya sudah menginstalnya
  2. Ya, bitrate audio sangat tinggi (maksimum untuk Vorbis), tetapi semakin tinggi bitrate semakin cepat buffernya terisi dan karenanya semakin pendek penundaan :-) (Anda tidak dapat mengubah kejelasan ukuran buffer untuk musik di XBMC, saya menggunakan 5MB buffer on mine secara umum)
  3. Saya mencoba FLAC, MP3 dan bahkan WAV dan terlepas dari kenyataan bahwa hanya MP3 dan Vorbis yang bekerja sama sekali dengan Pi saya, saya memiliki waktu pemuatan tercepat pada Pi (pada dasarnya langsung) dan paling sedikit penundaan dengan Vorbis

Langkah 2)

Navigasi ke

\\ rapsberrypi \ Userdata \ playlists \ music

dan buat file .strm dengan nama pilihan Anda di sana (saya sebut mine VLC.strm) yang berisi tautan polos ke aliran VLC Anda: (ubah IP ke IP PC Anda: p)

http://192.168.0.1:8080/audiostream.ogg

Langkah 3)

Anda sekarang dapat mengatur perangkat audio yang ditangkap oleh "Stereo Mix" ke default di pengaturan suara windows atau membuka pemutar seperti VLC dan secara manual menggunakan perangkat non-standar untuk memutar musik di RaspberryPi Anda:

Buka VLC Anda (selain yang diminimalkan di baki Anda yang mengalirkan "Stereo Mix" Anda) dan lakukan langkah-langkah berikut:

  1. Alat -> Preferensi
  2. Audio
  3. Modul keluaran: "Output audio WaveOut"
  4. Perangkat: - perangkat (analog) Anda yang ditangkap oleh perangkat rekaman "Stereo Mix" -
  5. Menyimpan
  6. Mulai ulang VLC
  7. Bermusik

Langkah 4)

Di RaspberryPi Anda:

  1. Di XBMC navigasikan ke Musik -> Daftar Putar
  2. Pilih VLC.strm (atau apa pun namanya)
  3. MENIKMATI MUSIK!

Penyelesaian masalah

Jika Anda kesulitan membuat "Stereo Mix" Anda berfungsi atau ditangkap, mainkan Windows terlebih dahulu dengan misalnya merekamnya dengan Audacity dan mencoba beberapa saran forum seperti:

yang ini:

http://www.howtogeek.com/howto/39532/how-to-enable-stereo-mix-in-windows-7-to-record-audio/

atau yang ini:

http://www.sevenforums.com/sound-audio/104497-stereo-mix-enabled-but-no-sound.html

Benar, cukup mengetik untuk hari ini, semoga ini membantu seseorang!

BR, Deads

Orang mati
sumber
3

The "LineInCode" -Solusi yang dijelaskan di sini berfungsi - tetapi suaranya mengerikan karena wifi. Solusi VLC yang disediakan di atas juga berfungsi - tetapi perlu banyak mengklik. Saya menggabungkan keduanya dalam file batch yang akan memulai VLC sebagai streamer di PC saya dan mpg123 sebagai "listner" di PI. Ini berfungsi seperti pesona bagi saya. Anda harus memiliki Plik di folder yang sama (kami menggunakannya sebagai ssh-client). Saya menggunakan skrip ini mulai hari ini untuk mendengarkan mp3 di laptop saya, sedangkan soundoutput adalah pi:

            REM This is fischteich's start_sound.bat v 0.3
            @echo off

            set vlc="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"
            set ssh-login=YOURLOGIN
            set ssh-pw=YOURPW
            set this-machine-ip=192.168.XXX.XXX
            set pi-ip=192.168.XXX.XXX
            set use-port=5001

            set start-string= --sout-keep --sout=#transcode{vcodec=none,acodec=mp3,ab=192,channels=2,samplerate=44100}:http{mux=mp3,dst=:%use-port%/}

            REM Start VLC ready for files to play
            @start "vlc" %vlc% %start-string%
            REM Start playback via mpg123 on the Pi!
            plink %pi-ip% -l %ssh-login% -pw %ssh-pw% "mpg123 http://%this-machine-ip%:%use-port%"
leosok
sumber
1

Salah satu cara untuk mencapai ini adalah dengan menginstal Volumio OS pada Raspberry PI ( https://volumio.org ) ikuti instruksi yang diberikan di sana. Distribusi ini mencakup penerima ShairPort yang memungkinkan perangkat Apple mengalirkan audio ke sana. Atau saya kira Anda bisa menginstal Shairport pada distribusi pilihan Anda.

Pada PC Windows Anda instal tuneblade ( http://tuneblade.com ) versi gratis yang memungkinkan Anda untuk mengalirkan audio komputer Anda ke ShairPort pada raspberry pi Anda. Ini juga bekerja dengan baik dengan vlc untuk menghilangkan penundaan audio saat menonton video dll.

Ini bekerja untuk saya - saya harap ini bisa bekerja untuk Anda juga.

rdt25
sumber
Selamat datang di Raspberry Pi Stack Exchange! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
RPiAwesomeness
Tuneblade juga bekerja dengan Pi MusicBox
input
0

Sejauh yang saya tahu tidak ada solusi (belum). Ada standar / teknologi bernama AVB tetapi dukungan yang direncanakan untuk 802.11 terbatas pada sinkronisasi waktu.

themihai
sumber
-1

Sudahkah Anda mencoba streaming audio bluetooth sederhana menggunakan adaptor A2DP yang terhubung ke stereo Anda? Menggunakan Raspberry Pi untuk melakukan itu tampaknya berlebihan, meskipun saya akan mengakui untuk membangun perangkat streaming audio bluetooth A2DP dengan Raspberry Pi dan adaptor Bluetooth USB murah.

G Ragib
sumber
Sangat menyenangkan bahwa Anda telah membangun Raspi yang dapat mengalirkan A2DP, tetapi jawaban Anda tidak membantu saya untuk hal yang sama, jadi jawaban ini bukan jawaban.
Mark Booth
Tidak ada pi yang dibutuhkan. Pasangkan PC Anda dengan penerima Bluetooth, dan kirim langsung dari PC Anda ke sterol Anda. Penerima Bluetooth akan muncul sebagai output suara pada pc Anda.
Christopher Biggs