music_on_linux:명령행_인터페이스에서_녹음하는_요령
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
music_on_linux:명령행_인터페이스에서_녹음하는_요령 [2022/03/31 03:10] – [명령행 인터페이스에서 녹음하는 요령] hyjeong | music_on_linux:명령행_인터페이스에서_녹음하는_요령 [2022/09/13 03:49] (current) – [명령행 인터페이스에서 녹음하는 요령] hyjeong | ||
---|---|---|---|
Line 3: | Line 3: | ||
* 유튜브에 올린 설명 동영상: https:// | * 유튜브에 올린 설명 동영상: https:// | ||
- | 요즘 누가 리눅스, 그것도 CLI에서 녹음을 하느냐고? | + | 요즘 누가 리눅스, 그것도 |
- | **펄스오디오(PulseAudio)** 사운드 서버를 잘 알면 세상이 정말 편해진다. 모든 것은 PulseAudio에서 시작해서 PulseAudio로 끝난다고 해도 과언이 아니다. 녹음용 유틸리티는 ALSA가 제공하는 | + | **펄스오디오(PulseAudio)** 사운드 서버를 잘 알면 세상이 정말 편해진다. 모든 것은 PulseAudio에서 시작해서 PulseAudio로 끝난다고 해도 과언이 아니다. |
- | # 헤드셋을 연결하고 마이크로 녹음을 하는 것이 가장 간단할 것이다. | + | |
+ | |||
+ | 녹음용 유틸리티는 ALSA가 제공하는 arecord를 쓰는 것으로 가정한다. 녹음이 진행되는 상태를 시작적으로 보면서 즐기고 싶다면 GUI 프로그램인 Audacity만한 것이 없다. PulseAudio의 유틸리티 parec을 사용한 녹음 방법은 별도의 위키 페이지 [[music_on_linux: | ||
+ | * -f cd (16 bit little endian, 44100, stereo) [-f S16_LE -c2 -r44100] | ||
+ | * -f cdr (16 bit <color # | ||
+ | * -f dat (16 bit little endian, <color # | ||
+ | 사용할 디바이스는 '-D NAME(select PCM by name)' | ||
+ | # 헤드셋을 연결하고 마이크로 녹음을 하는 것이 가장 간단할 것이다. | ||
$ arecord -f cd -d 60 one-minute-recording.wav | $ arecord -f cd -d 60 one-minute-recording.wav | ||
$ aplay one-minute-recording.wav | $ aplay one-minute-recording.wav | ||
Line 21: | Line 28: | ||
{{ https:// | {{ https:// | ||
- | 소스는 녹음을 위한 것이고 싱크는 재생을 위한 것이다. 소스 아웃풋은 recording stream, 싱크 인풋은 playback system이다. 따라서 특별히 손을 대지 않는다면 녹음을 할 때 마이크 입력은 스피커에서 들리지 않고, 유튜브 재생음은 녹음이 되지 않는 것이다. 소스와 싱크를 | + | 소스는 녹음을 위한 것이고 싱크는 재생을 위한 것이다. 소스 아웃풋은 recording stream, 싱크 인풋은 playback system이다. 따라서 특별히 손을 대지 않는다면 녹음을 할 때 마이크 입력은 스피커에서 들리지 않고, 유튜브 재생음은 녹음이 되지 않는 것이다. 소스와 싱크를 |
- | Gaydov의 그림을 고쳐서 그려 보았다. 이를 정해영의 source-sink diagram이라 부르겠다. 소스와 싱크를 연결하려면 module-loopback을 로드해야 한다(' | + | Gaydov의 그림을 고쳐서 그려 보았다. 이를 정해영의 source-sink diagram이라 부르겠다. 소스와 싱크를 연결하려면 module-loopback을 로드해야 한다(명령행에서 |
{{ : | {{ : | ||
Line 29: | Line 36: | ||
===== 단일 소스의 녹음 ===== | ===== 단일 소스의 녹음 ===== | ||
==== 단일 애플리케이션의 재생음 ==== | ==== 단일 애플리케이션의 재생음 ==== | ||
- | 웹브라우저에서 유튜브를 재생하면서 나오는 소리를 녹음하고 싶다면? 아마 가장 흔하게 벌어지는 일일 것이다. [[https:// | + | 강조하지만 근본적으로 녹음이란 마이크로폰으로 들어오는 소리를 기록하는 것이다. 따라서 컴퓨터의 애플리케이션이 재생하는 소리를 녹음하려면 약간의 수고를 해야 된다. 윈도우 계열에서는 이를 흔히 **스테레오 믹스**라 부른다. 윈도우 쪽에서는 스테레오 믹스가 되지 않는 것이 기본 설정이고, |
+ | |||
+ | 웹브라우저에서 유튜브를 재생하면서 나오는 소리를 녹음하고 싶다면? 아마 가장 흔하게 벌어지는 일일 것이다. [[https:// | ||
- Playback 탭: **Application name**: AudioStream //on// XYZ(사용하는 디바이스 이름). 여기에서는 고를 수 있는 것은 없다. | - Playback 탭: **Application name**: AudioStream //on// XYZ(사용하는 디바이스 이름). 여기에서는 고를 수 있는 것은 없다. | ||
- | - Recording 탭: **ALSA plug-in [aplay]**: ALSA Capture from ' | + | - Recording 탭: **ALSA plug-in [aplay]**: ALSA Capture from ' |
- Configuration을 제외한 모든 탭에서 해당 디바이스 혹은 애플리케이션에 대하여 'Mute audio' 버튼이 눌리지 않았는지 확인하라. | - Configuration을 제외한 모든 탭에서 해당 디바이스 혹은 애플리케이션에 대하여 'Mute audio' 버튼이 눌리지 않았는지 확인하라. | ||
Line 39: | Line 48: | ||
[[https:// | [[https:// | ||
- | PulseAudio의 module-loopback을 사용하면 입력 장치로 들어오는 외부의 소리(컴퓨터 내부의 애플리케이션에서 나는 소리를 뜻하는 것이 아님)를 default sink로 보내어 모니터링을 할 수 있다. 모니터링용 출력 단자가 없는 오디오 인터페이스인 UCA200을 사용하는 상황에 대해서 생각해 보자. 입력되는 신호를 녹음 중에는 들을 수 없다. 해결 방법은 입력 신호가 UCA200의 아날로그 출력으로도 나가게 만들고, 이를 외부 스피커에 연결하면 된다. 조금 더 공부하면 이를 컴퓨터의 내장 사운드카드로 보내고, 컴퓨터의 헤드폰 단자를 이용하여 듣게 만드는 방법도 알 수 있을 것이다. 이는 바로 다음에 소개하는 ' | + | PulseAudio의 module-loopback을 사용하면 입력 장치로 들어오는 외부의 소리(컴퓨터 내부의 애플리케이션에서 나는 소리를 뜻하는 것이 아님)를 default sink로 보내어 모니터링을 할 수 있다. 모니터링용 출력 단자가 없는 오디오 인터페이스인 UCA200을 사용하는 상황에 대해서 생각해 보자. 입력되는 신호를 녹음 중에는 들을 수 없다. 해결 방법은 입력 신호가 UCA200의 아날로그 출력으로도 나가게 만들고, 이를 외부 스피커에 연결하면 된다. 조금 더 공부하면 이를 컴퓨터의 내장 사운드카드로 보내고, 컴퓨터의 헤드폰 단자를 이용하여 듣게 만드는 방법도 알 수 있을 것이다. 이는 바로 다음에 소개하는 ' |
# UCA200의 아날로그 입력이 어떤 이름인지 알아보자. 인덱스 2번에 해당한다(' | # UCA200의 아날로그 입력이 어떤 이름인지 알아보자. 인덱스 2번에 해당한다(' | ||
$ pacmd list-sources | grep -e ' | $ pacmd list-sources | grep -e ' | ||
Line 59: | Line 68: | ||
$ pacmd list-modules | grep -e ' | $ pacmd list-modules | grep -e ' | ||
$ pactl unload-module 28 | $ pactl unload-module 28 | ||
- | === 모니터 출력을 내장 사운드 카드로 보내려면 === | + | === 모니터 출력을 내장 사운드 카드(not default sink)로 보내려면 === |
- | UCA-200의 아날로그 출력을 오디오 앰프에 연결하기 여러운 경우 여기에 RCA to 3.5 mm stereo female 젠더를 써서 헤드폰을 연결하기도 하는데 음량이 아무래도 부족하다. 모니터 출력을 내장 사운드 카드로 보내게 되면 컴퓨터 본체의 헤드폰 단자를 쓰면서 볼륨 조절이 가능하므로 조금 더 큰 음량으로 모디터링을 할 수 있다. 이는 내장 audio를 sink로 설정하면 간단히 해결된다. | + | UCA-200의 아날로그 출력을 오디오 앰프에 연결하기 여러운 경우 여기에 RCA to 3.5 mm stereo female 젠더를 써서 헤드폰을 연결하기도 하는데 음량이 아무래도 부족하다. 모니터 출력을 내장 사운드 카드로 보내게 되면 컴퓨터 본체의 헤드폰 단자를 쓰면서 볼륨 조절이 가능하므로 조금 더 큰 음량으로 모니터링을 할 수 있다. 이는 내장 audio를 sink로 설정하면 간단히 해결된다. |
# source의 확인. 결과는 위에서 보인 것과 같다. | # source의 확인. 결과는 위에서 보인 것과 같다. | ||
$ pacmd list-sources | grep -e ' | $ pacmd list-sources | grep -e ' | ||
Line 122: | Line 131: | ||
===== JACK을 사용하여 녹음을 한다면 ===== | ===== JACK을 사용하여 녹음을 한다면 ===== | ||
- | 적어놓고 보니 제목이 적절하지 않다. JACK은 녹음을 위한 | + | 적어놓고 보니 제목이 적절하지 않다. JACK 자체는 |
단일 오디오 스트림에 대한 녹음에서도 CLI 명령어인 arecord를 쓰는 것보다는 GUI를 갖춘 [[https:// | 단일 오디오 스트림에 대한 녹음에서도 CLI 명령어인 arecord를 쓰는 것보다는 GUI를 갖춘 [[https:// |
music_on_linux/명령행_인터페이스에서_녹음하는_요령.1648696224.txt.gz · Last modified: 2022/03/31 03:10 by hyjeong