Saya mencoba menangkap keluaran kartu suara dan menyandikannya dalam format Oorb Vorbis menggunakan perintah berikut:
arecord -f cd -t raw | oggenc - -r -o file.ogg
Namun, input mikrofon komputer dicatat daripada output kartu suara.
Output dari perintah arecord -l
ini adalah
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Output dari perintah arecord -L
terkandung dalam entri pastebin ini .
The arecord
halaman manual menunjukkan bahwa perangkat input dapat dipilih dengan menggunakan -D
bendera, tetapi tidak memberikan contoh sintaksis.
Saya ingin tahu cara mengubah input arecord
dari mikrofon ke kartu suara. Saya tidak tertarik dengan alternatif berbasis GUI seperti Audacity. Terima kasih.
Sunting: Saya menjalankan Debian 7.0 (stabil) dengan arecord
versi 1.0.25, vorbis-tools
versi 1.4.0, dan driver ALSA versi 1.0.24.
linux
audio
audio-recording
alsa
user001
sumber
sumber
alsamixer
. Jika saya memilih kartu loopback di dalamalsamixer
(tombol F6 untuk memilih kartu suara), saya menerima pesanThis sound device does not have any controls
. Jika saya keluar dari mixer dan kembali, saya menemukan bahwa kartu suara dikembalikan dari loopback ke kartu default. Mencoba untuk menangguhkan (ctrl-z
) dan latar belakang (bg
)alsamixer
proses setelah memilihloopback
tidak memungkinkan perekaman audio yang berhasil melaluiarecord
perintah.alsamixer
tidak memengaruhi sisa sistem; itu hanya mengubah kontrol yang ditampilkan. Apa kontrol pemilihan rekaman dari perangkat Conexant?Master
) dan satu kontrol tangkap (Capture
) di dalamnyaalsamixer
. Pengambilan dapat dinyalakan dan dimatikan dengan spasi di dalamalsamixer
dan diaktifkan secara default. Tolong beri tahu saya jika ini bukan yang Anda maksudkan. Terima kasih.Jawaban:
Saya sarankan menggunakan driver loopback ALSA. Untuk memuatnya:
Ini harus menambahkan perangkat penangkapan baru ke output dari
arecord -L
.Jika Anda hanya memiliki satu kartu suara fisik di komputer Anda, Anda dapat menjadikan kartu suara loopback sebagai default untuk semua aplikasi dengan membuat file
.asoundrc
di folder rumah Anda dengan konten berikut:Saat file ini ada, output suara apa pun dari semua aplikasi harus masuk ke adaptor loopback daripada speaker Anda yang sebenarnya. Cukup tentukan perangkat yang benar dalam perintah arecord Anda dan setelah Anda selesai, hapus
.asoundrc
file untuk kembali normal.sumber
.asoundrc
di direktori rumah saya dan memulai kembali sesi terminal emulator, audio masih diarahkan ke speaker. Thearecord -f cd -t raw | oggenc - -r -o file.ogg
perintah mencatat apa-apa. Penerbitanarecord -l
menyediakan daftar yang sama seperti sebelumnya, tetapi dengan dua baris tambahan untukcard 1: Loopback
(devices 0, 1
), masing-masing dengan 8 subdevice (#0-#7
). Demikian juga,arecord -L
menambahkan tiga baris berikut:sysdefault:CARD=Loopback [newline] Loopback, Loopback PCM [newline] Default Audio Device
. Berlanjut di komentar berikutnya karena batas karakter.arecord -f cd -t raw --device=sysdefault | oggenc - -r -o file.ogg
merekam file audio kosong selama durasi perintah dieksekusi (tidak menarik data audio dari mikrofon seperti sebelumnya). Sayangnya,sysdefault
mengalami degenerasi karena didefinisikan sebagaiCARD=PCH
(baris pertamaarecord -L
) danCARD=Loopback
(baris terakhirarecord -L
). Terima kasih atas saran tindak lanjut yang dapat Anda berikan.bertahun-tahun kemudian perjuangan berlanjut ... bagaimana menentukan alat perekam, lihat dan lihat:
Jadi format untuk string perangkat adalah
hw:<card>,<device>
sumber
Saya memiliki masalah yang sama dan menemukan solusi lain di sini . Gagasan utamanya adalah menggunakan
pacat
. Bagi saya ini berfungsi seperti ini:1) menemukan perangkat monitor:
2) Ambil audio ke file:
3) Konversi file ke
wav
:Itu dia!
sumber
parec
sebagai gantinyapacat --record
. Anda juga dapat menghindari penggunaansox
dan penggunaanparec -d <monitor> --file-format=wav output.wav
. Anda dapat mendaftar format file yang tersedia denganparec --list-file-formats
.Perangkat keras Anda tidak mendukung pengambilan outputnya; setelah data masuk ke perangkat pemutaran yang sebenarnya, itu hilang.
Anda perlu menggunakan beberapa perangkat lunak yang menggandakan data audio sebelum ditulis ke perangkat keras.
Saya sarankan menggunakan PulseAudio; di sana Anda cukup memilih salah satu outputnya sebagai sumber penangkapan:
sumber
pavucontrol
dan mencoba merekam menggunakangnome-sound-recorder
. Ketika saya membukagnome-sound-recorder
dan mulai pengodean ulang (Ctrl-R
), aliran muncul di jendela PulseAudio Volume Control. Namun, stream sebenarnya tidak merekam data apa pun (panjang akhirnya adalah 0:00). Juga, apakah Anda terbiasa dengan cara melakukan perekaman melalui baris perintah dan bukan GUI? Terima kasih.Pergi ke Kontrol Volume PulseAudio -> Tab Perangkat Input. Di bagian bawah, pilih untuk menampilkan "SEMUA perangkat input". Periksa apakah "Monitor Audio Internal Stereo Analog" tidak dimatikan dan volume naik dan turun saat Anda memutar audio !!
Gunakan Perekam Audio untuk merekam Sumber Audio = Audio Internal Stereo Stereo (Input Audio). Lihat tangkapan layar di bawah ini.
sumber
Saya baru saja menginstal audio-recorder: https://launchpad.net/audio-recorder yang dalam pilihannya menunjukkan apa yang Anda butuhkan ...
sumber