PulseAudio sanal ses akışlarını Skype üzerinden müzik dinlemek için nasıl kullanabilirim?


20

A'nın ses çıkışını B'nin ses girişine yönlendirirken, belirli bir işlemin (A) ve başka bir işlemin (B) ses çıkışını dinlemeye çalışıyorum. Bu, hem müziği hem de arkadaşını dinlerken ve arkadaşının seni duyabilmesi için Skype'ta müzik çalmaya eşdeğerdir.

Bu konuda openSUSE'deki (Google "Pulse Audio ile kullanım için ses mikseri arıyor (belki)))" dersini izlemeye çalıştım ve hatta videoyu birkaç kez izledim. Daha önce JACK'i sadece kulaklığım Logitech G35'i tanımayacağını bulmak için denedim.

Müzik çalabiliyorum, hem arkadaşım var hem de duyuyorum ama sesimi aynı anda gönderemiyorum. Bu benim sesim veya arkadaşımın duyduğu müzik. Sesimi nasıl gönderebilirim?

Kurulumumun bazı resimleri (bir Boş Çıktı kullanarak):

Oynatma sekmesi: görüntü tanımını buraya girin

Kayıt sekmesi: görüntü tanımını buraya girin

Yanıtlar:


23

Saatlerce karanlığın ardından nihayet başardım!

İki Null Çıktı oluşturdum ve birincisi ve ikincisi için bir geridöngü için iki geri döngü oluşturdum.

pactl load-module module-null-sink sink_name=Virtual1
pactl load-module module-null-sink sink_name=Virtual2
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual2

Sonra PulseAudio Ses Kontrolünü açtım (pavucontrol)

Bunlar benim ayarlarım. Onları göründükleri sırayla yazdım. Sayılar yukarıdan aşağıya doğru gider.

  • Kayıt sekmesi:

    • Uygulamalar:
      • Tüm uygulamalar kulaklığınızdan / mikrofonunuzdan giriş yapmalıdır.
      • Sesi göndermek istediğiniz uygulamaların dışında, aşağıdakilerden birine ayarlanmalıdır. SADECE ses göndermek istiyorsanız: Boş Çıkış 1 Monitörü. Listedeki ilk "Boş Çıkış" olacaktır. Hem sesi hem de sesinizi göndermek istiyorsanız: Null Output 2 İzleyicisi. Listede ikinci "Null Output" olacaktır.
    • Sanal Akışlar:
      • Null Çıkışa Döngü (1): Kulaklığınız / mikrofonunuz
      • Kulaklığınıza / mikrofonunuza geri dönme: Null Çıkış 1. Listedeki ilk "Null Çıkış" olacaktır.
      • Null Çıkışına Döngü: Null Çıkışı 1. Listedeki ilk "Null Çıkışı" olacaktır.
  • Oynatma sekmesi:

    • Uygulamalar:
      • Tüm uygulamalar kulaklığınıza / hoparlörünüze vermelidir.
      • Skype / stream aracılığıyla kaydetmek / göndermek istediğiniz uygulamalar dışında Null Output 1 olarak ayarlanmalıdır. Listedeki ilk "Null Output" olacaktır.
    • Sanal akışlar:
      • Kulaklığınızın geridönüşü: Boş Çıkış 2. Listedeki ikinci "Boş Çıkış" olacaktır.
      • Boş Çıkış Monitörü Geri Döndürme (1): Kulaklığınız.
      • Boş Çıkış Monitörünün Geri Döngüsü (2): Boş Çıkış 2. Listedeki ikinci "Boş Çıkış" olacaktır.

11

sadece "null Output" ile karışmamak için, sadece bunun gibi isimleri belirtin:

pactl load-module module-null-sink sink_name=Virtual1 sink_properties=device.description="NAME HERE (mic+music)"
pactl load-module module-null-sink sink_name=Virtual2 sink_properties=device.description="NAME HERE (only music)"
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual2

1

@MikWind tarafından önerilen gelişmelerden daha ileriye gitmek ve geridönüş aygıtlarının kaynaklarını oluşturma zamanında yapılandırmak mümkündür.

Sonunda sabit olan her şeyi ayarlamak için bir bash betiği aldım:

#!/bin/bash

MICROPHONE="alsa_input.pci-0000_00_1b.0.analog-stereo"
SPEAKERS="alsa_output.pci-0000_00_1b.0.analog-stereo"

# Create the null sinks
# virtual1 gets your audio source (mplayer ...) only
# virtual2 gets virtual1 + micro
pactl load-module module-null-sink sink_name=virtual1 sink_properties=device.description="virtual1"
pactl load-module module-null-sink sink_name=virtual2 sink_properties=device.description="virtual2"

# Now create the loopback devices, all arguments are optional and can be configured with pavucontrol
pactl load-module module-loopback source=virtual1.monitor sink=$SPEAKERS
pactl load-module module-loopback source=virtual1.monitor sink=virtual2
pactl load-module module-loopback source=$MICROPHONE sink=virtual2

Kendimi çalışmak için yeterince anlamaktan birkaç saat önce mücadele ettikten sonra, araştırma sonucumu (senaryo, dokümantasyon bağlantıları, açıklamalar) bir git repo'da derledim .

Benden başkası için faydalı olacak kadar net olup olmadığından emin değilim, ancak keşke kendi araştırmamı yaparken bu tür belgeler bulsaydım, bu yüzden aynı şeyleri yapmaya çalışan herkese tavsiye ederim. bir göz at.

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.