Meningkatkan jawaban Waschtl dari utas ini sehingga Anda dapat KEDUA MENDENGARKAN DAN MENCATAKAN aplikasi terdengar:
Pertama, kami mencari output default kami dan memasukkan nama wastafelnya ke $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
Lalu, kami membuat wastafel gabungan yang hanya memiliki satu budak: $ DEFAULT_OUTPUT . Suara yang dihasilkan oleh aplikasi (sumber) akan diteruskan ke slave sink (mis. Output nyata), dan kami juga akan merekamnya. Ini berbeda dari wastafel nol di mana suara sumber tidak diteruskan.
$ pactl load-module module-combine-sink \
sink_name=record-n-play slaves=$DEFAULT_OUTPUT \
sink_properties=device.description="Record-and-Play"
sink_properties
adalah opsional dan mungkin bug jika Anda menggunakan spasi dalam nama deskripsi.
Kemudian, kita bisa menggunakan pactl move-sink-input ...
perintah Waschtl answer (dengan record-n-play alih - alih steam ) tetapi GUI pavucontrol
lebih sederhana (dan bagus untuk memeriksa / mengatasi masalah):
$ sudo apt-get install pavucontrol
$ pavucontrol &
Kemudian, kami memutar beberapa suara di aplikasi yang ingin kami rekam. Di pavucontrol
Playbacktab, kami memilih dalam daftar dropdown aplikasi: "Rekam dan Mainkan" .
Akhirnya, kami senang merekam dan mendengarkan pada saat yang sama! ( Contoh mp3 lumpuh , jalankan di latar depan)
$ parec --format=s16le -d record-n-play.monitor | \
lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3"
Atau kami dapat merekam di latar belakang dan berhenti kapan saja:
$ 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:
- Untuk melepas semua atau mencoba kembali prosedur: Hapus atau setel ulang sink dengan menggunakan jawaban ini .
pulseaudio -k
bekerja sangat baik untuk mengatur ulang semuanya ke default sesi.
- Jika kita mengubah output default di System Sound Settings, pengaturan Playback aplikasi khusus akan ditimpa dan kita harus kembali di pavucontrol untuk mengembalikannya ke antarmuka gabungan.
- Untuk dapat mendengarkan suara dari beberapa antarmuka "nyata" (mis. Headphone, output HDMI, dll ...), kita harus menyertakan semua output "nyata" yang dapat kita gunakan untuk mendengarkan, sebagai slink slave record-n-play slink , seperti:
pactl load-module module-combine-sink sink_name=record-n-play slaves=real-output-1,real-output-2
.
EDIT: Hati-hati, karena Ubuntu 18 (mungkin 17 juga), wastafel gabungan cenderung menjadi perangkat output sistem default, bukan perangkat output nyata. Jadi ketika Anda mengubah volume menggunakan ikon suara di baki sistem, hal itu memengaruhi suara rekaman Anda. Penanganan Masalah: Setelah membuat wastafel gabungan, buka pavucontrol
di tab Output. Pilih "View: Virtual Output Devices" dan atur ulang volume suara sink gabungan menjadi 100%. Kemudian pilih "Lihat: Perangkat Output Perangkat Keras" dan tekan ikon hijau "Tentukan sebagai alternatif" pada perangkat output nyata.