Waschtl'ın bu konuya olan cevabını iyileştirmek , böylece uygulama sesini dinlemek ve kaydetmek için:
Öncelikle, varsayılan çıktımızı arıyoruz ve satır adını girdik $DEFAULT_OUTPUT
:
$ pacmd list-sinks | grep -A1 "* index"
* index: 1
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
$ DEFAULT_OUTPUT=$(pacmd list-sinks | grep -A1 "* index" | grep -oP "<\K[^ >]+")
$ echo $DEFAULT_OUTPUT
alsa_output.pci-0000_00_1b.0.analog-stereo
Ardından, yalnızca bir köle olan birleşik bir lavabo oluştururuz : $ DEFAULT_OUTPUT . Uygulama (kaynak) tarafından üretilen ses, bağımlı havuza (yani gerçek çıktı) iletilir ve ayrıca kaydederiz. Kaynak sesin iletilmediği boş bir havuzdan farklıdır .
$ pactl load-module module-combine-sink \
sink_name=record-n-play slaves=$DEFAULT_OUTPUT \
sink_properties=device.description="Record-and-Play"
sink_properties
isteğe bağlı ve açıklama adında boşluk kullanıyorsanız hata verebilir.
Sonra Kullanabileceğimiz pactl move-sink-input ...
komutasını Waschtl cevap (ile rekor-n-play yerine buhar ama) GUI pavucontrol
(/ sorun giderme kontrol için ve büyük) daha basittir:
$ sudo apt-get install pavucontrol
$ pavucontrol &
Sonra kaydetmek istediğimiz uygulamada bazı sesler çalıyoruz. Gelen pavucontrol
Playbacksekmesi, tüm uygulama açılır listesinde seçmek: "Kayıt-and-Play" .
Sonunda, aynı anda hem kayıt hem de dinleme yapmak için iyiyiz! ( topal mp3 örneği, ön planda koşmak)
$ parec --format=s16le -d record-n-play.monitor | \
lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3"
Veya arka planda kaydedebilir ve istediğiniz zaman durdurabiliriz:
$ parec --format=s16le -d record-n-play.monitor | \
lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3" \
> /dev/null &1>/dev/null
$ killall -q parec lame
NB:
- Her şeyi silmek veya işlemi yeniden denemek için: Bu cevabı kullanarak lavaboları silin veya sıfırlayın .
pulseaudio -k
her şeyi oturumun varsayılanlarına sıfırlamak için harika çalışıyor.
- Sistem Ses Ayarlarındaki varsayılan çıkışı değiştirirsek, özel uygulama Oynatma ayarının üzerine yazılır ve kombine arayüze geri dönmek için pavucontrol'e geri dönmemiz gerekir.
- Sesi birkaç "gerçek" arayüzden (örneğin, kulaklıklar, HDMI çıkışı, vb.) Dinleyebilmek için , rekor-n- sarkma kıvrımlı köleler olarak dinlemek için kullanabileceğimiz tüm "gerçek" çıkışları dahil etmeliyiz. gibi:
pactl load-module module-combine-sink sink_name=record-n-play slaves=real-output-1,real-output-2
.
EDIT: Dikkat edin, Ubuntu 18'den (belki de 17) beri, birleşik lavabo, gerçek çıktı cihazı yerine varsayılan sistem çıktı cihazı olma eğilimindedir. Bu nedenle, sistem tepsisindeki ses simgesini kullanarak ses seviyesini değiştirdiğinizde, kayıt sesinizi etkiler. Çözüm: Birleştirilmiş lavaboyu oluşturduktan sonra pavucontrol
Çıktı sekmesinde açın. "Görünüm: Sanal Çıkış Aygıtları" nı seçin ve birleşik lavabonun ses seviyesini% 100 olarak sıfırlayın. Ardından "Görünüm: Donanım Çıkış Aygıtları" nı seçin ve gerçek çıkış aygıtında "Alternatif olarak tanımla" yeşil simgesine basın.