Próbuję przechwycić wyjście karty dźwiękowej i zakodować ją w formacie Vorbis ogg za pomocą następującego polecenia:
arecord -f cd -t raw | oggenc - -r -o file.ogg
Jednak wejście mikrofonu komputera jest rejestrowane, a nie wyjście karty dźwiękowej.
Dane wyjściowe polecenia arecord -l
to
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Dane wyjściowe polecenia arecord -L
są zawarte w tym wpisie pastebin .
Strona arecord
man wskazuje, że urządzenie wejściowe można wybrać za pomocą -D
flagi, ale nie podaje przykładów składniowych.
Chciałbym wiedzieć, jak zmienić wejście arecord
z mikrofonu na kartę dźwiękową. Nie interesują mnie alternatywy oparte na GUI, takie jak Audacity. Dzięki.
Edycja: Używam Debiana 7.0 (stabilnego) z arecord
wersją 1.0.25, vorbis-tools
wersją 1.4.0 i sterownikiem ALSA w wersji 1.0.24.
linux
audio
audio-recording
alsa
użytkownik001
źródło
źródło
alsamixer
. Jeśli wybiorę kartę pętli zwrotnej walsamixer
(klawisz F6, aby wybrać kartę dźwiękową), otrzymam wiadomośćThis sound device does not have any controls
. Jeśli wyjdę z miksera i wrócę, stwierdzę, że karta dźwiękowa została przywrócona z pętli zwrotnej do karty domyślnej. Próba zawieszenia (ctrl-z
) i tła (bg
)alsamixer
procesu po wybraniuloopback
nie umożliwia pomyślnego nagrania dźwięku za pomocąarecord
polecenia.alsamixer
nie wpływa na resztę systemu; zmienia tylko pokazane kontrolki. Jakie są opcje wyboru nagrywania w urządzeniu Conexant?Master
) i jedną kontrolę przechwytywania (Capture
)alsamixer
. Przechwytywanie można włączać i wyłączać za pomocą spacji wewnątrzalsamixer
i jest domyślnie włączone. Daj mi znać, jeśli nie jest to zamierzone. Dzięki.Odpowiedzi:
Sugeruję użycie sterownika sprzężenia zwrotnego ALSA. Aby załadować:
To powinno dodać nowe urządzenie przechwytujące do wyjścia
arecord -L
.Jeśli masz tylko jedną fizyczną kartę dźwiękową w komputerze, możesz ustawić domyślną kartę dźwiękową z pętlą zwrotną dla wszystkich aplikacji, tworząc plik
.asoundrc
w folderze domowym z następującą zawartością:Gdy ten plik jest na miejscu, wszelkie wyjścia dźwięku ze wszystkich aplikacji powinny być kierowane do adaptera sprzężenia zwrotnego, a nie do rzeczywistych głośników. Po prostu określ właściwe urządzenie w poleceniu arecord, a kiedy skończysz, usuń
.asoundrc
plik, aby powrócić do normalnego stanu.źródło
.asoundrc
w moim katalogu domowym i ponownego uruchomienia sesji emulatora terminala, dźwięk jest nadal kierowany do głośników.arecord -f cd -t raw | oggenc - -r -o file.ogg
Komenda zapisuje niczego. Wydaniearecord -l
zawiera tę samą listę, co poprzednio, ale z dwoma dodatkowymi wierszami dlacard 1: Loopback
(devices 0, 1
), każda z 8 pod-urządzeniami (#0-#7
). Podobnie,arecord -L
dodano trzy następujące linie:sysdefault:CARD=Loopback [newline] Loopback, Loopback PCM [newline] Default Audio Device
. Ciąg dalszy w następnym komentarzu ze względu na limit znaków.arecord -f cd -t raw --device=sysdefault | oggenc - -r -o file.ogg
nagrywa pusty plik audio na czas wykonywania polecenia (nie pobiera danych audio z mikrofonu jak poprzednio). Niestetysysdefault
jest zdegenerowany, ponieważ jest zdefiniowany jakoCARD=PCH
(pierwsza liniaarecord -L
) iCARD=Loopback
(ostatnia liniaarecord -L
). Dziękujemy za wszelkie sugestie dotyczące działań następczych, które możesz podać.lata później walka trwa ... jak określić urządzenie nagrywające, lo i oto:
Tak więc format ciągu urządzenia to
hw:<card>,<device>
źródło
Miałem ten sam problem i znalazłem tutaj inne rozwiązanie . Główną ideą jest użycie
pacat
. Dla mnie działa to tak:1) znajdź urządzenie monitorujące:
2) Przechwyć dźwięk do pliku:
3) Konwertuj plik na
wav
:Otóż to!
źródło
parec
zamiastpacat --record
. Możesz także uniknąć używaniasox
i używaniaparec -d <monitor> --file-format=wav output.wav
. Możesz wyświetlić listę dostępnych formatów plików za pomocąparec --list-file-formats
.Twój sprzęt nie obsługuje przechwytywania danych wyjściowych; gdy dane trafią do faktycznego urządzenia odtwarzającego, znikają.
Musisz użyć oprogramowania, które powiela dane audio, zanim zostaną zapisane na sprzęcie.
Sugerowałbym użycie PulseAudio; tam możesz po prostu wybrać jedno z jego wyjść jako źródło przechwytywania:
źródło
pavucontrol
i próbowałem nagrywać za pomocągnome-sound-recorder
. Po otwarciugnome-sound-recorder
i rozpoczęciu przekodowywania (Ctrl-R
) strumień pojawia się w oknie regulacji głośności PulseAudio. Jednak strumień nie rejestruje żadnych danych (końcowa długość to 0:00). Czy znasz również sposób nagrywania za pomocą wiersza polecenia zamiast GUI? Dzięki .Przejdź do PulseAudio Volume Control -> Zakładka Input Devices. Na dole wybierz opcję „WSZYSTKIE urządzenia wejściowe”. Sprawdź, czy „Monitor wewnętrznego analogowego stereo audio” nie jest wyciszony, a głośność rośnie i maleje podczas odtwarzania dźwięku !!
Użyj nagrywarki audio, aby nagrać źródło audio = wewnętrzne audio Analogowe stereo (wejście audio). Zobacz zrzut ekranu poniżej.
źródło
Właśnie zainstalowałem rejestrator audio: https://launchpad.net/audio-recorder, który w swoich opcjach pokazuje, czego potrzebujesz ...
źródło