User Tools

Site Tools


music_on_linux:명령행_인터페이스에서_녹음하는_요령

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
music_on_linux:명령행_인터페이스에서_녹음하는_요령 [2022/04/12 06:54] – [JACK을 사용하여 녹음을 한다면] hyjeongmusic_on_linux:명령행_인터페이스에서_녹음하는_요령 [2022/09/13 03:49] (current) – [명령행 인터페이스에서 녹음하는 요령] hyjeong
Line 5: Line 5:
 요즘 누가 리눅스, 그것도 명령행 인터페이스(CLI)에서 녹음을 하느냐고? 바로 내가 한다. 사용할 사운드 카드는 무엇인가? 소스는 무엇인가? 소스를 동시에 여러 개 쓸 것인가? 이러한 것을 미리 파악해 두도록 한다. 내가 갖고 있는 USB 오디오 인터페이스(사운드 카드) 중 유일하게 복합 기능 - 여러 인풋을 입력하여 원하는 것을 녹음용으로 선별할 수 있으며 본체에서 직접 모니터링이 가능 - 을 갖는 사운드캔버스 SC-D70을 쓰면 아래에서 설명한 상황에서 보다 간편한 대처가 가능하다. 물론 SC-D70은 출시된지 20년이 넘은 제품이라서 MIDI 음원이 내장되어 있다는 점만 제외하면 요즘 나오는 웬만한 오디오 인터페이스보다 나을 것이 없다. 그럼에도 불구하고 단순한 오디오 기기를 써서 이렇게 복잡하게 작업을 하는 것은 그만큼 배울 것이 많기 때문이다. 요즘 누가 리눅스, 그것도 명령행 인터페이스(CLI)에서 녹음을 하느냐고? 바로 내가 한다. 사용할 사운드 카드는 무엇인가? 소스는 무엇인가? 소스를 동시에 여러 개 쓸 것인가? 이러한 것을 미리 파악해 두도록 한다. 내가 갖고 있는 USB 오디오 인터페이스(사운드 카드) 중 유일하게 복합 기능 - 여러 인풋을 입력하여 원하는 것을 녹음용으로 선별할 수 있으며 본체에서 직접 모니터링이 가능 - 을 갖는 사운드캔버스 SC-D70을 쓰면 아래에서 설명한 상황에서 보다 간편한 대처가 가능하다. 물론 SC-D70은 출시된지 20년이 넘은 제품이라서 MIDI 음원이 내장되어 있다는 점만 제외하면 요즘 나오는 웬만한 오디오 인터페이스보다 나을 것이 없다. 그럼에도 불구하고 단순한 오디오 기기를 써서 이렇게 복잡하게 작업을 하는 것은 그만큼 배울 것이 많기 때문이다.
  
-**펄스오디오(PulseAudio)** 사운드 서버를 잘 알면 세상이 정말 편해진다. 모든 것은 PulseAudio에서 시작해서 PulseAudio로 끝난다고 해도 과언이 아니다. 컴퓨터를 켠 다음에는 일단 PulseAudio Volume Control(명령행: pavucontrol]을 실행힌 뒤 '설정' 탭으로 가서 각 사운드 관련 기기의 프로필이 제대로 선택되었는지를 확인한다. 예를 들어 USB 마이크로 입력을 하면서 재생음은 컴퓨터 본체 사운드 카드의 출력을 통해 듣고 싶을 때도 있을 것이다. 이럴 때에는 어떻게 프로필을 설정하는 것이 옳겠는가? 이 글의 제목은 '명령행 인터페이스'를 말하고 있지만, PulseAudio Volume Control을 위해서는 GUI를 쓰지 않을 수가 없다.+**펄스오디오(PulseAudio)** 사운드 서버를 잘 알면 세상이 정말 편해진다. 모든 것은 PulseAudio에서 시작해서 PulseAudio로 끝난다고 해도 과언이 아니다. 컴퓨터를 켠 다음에는 일단 PulseAudio Volume Control(명령행: pavucontrol)을 실행힌 뒤 '설정' 탭으로 가서 각 사운드 관련 기기의 프로필이 제대로 선택되었는지를 확인한다. 예를 들어 USB 마이크로 입력을 하면서 재생음은 컴퓨터 본체 사운드 카드의 출력을 통해 듣고 싶을 때도 있을 것이다. 이럴 때에는 어떻게 프로필을 설정하는 것이 옳겠는가? 이 글의 제목은 '명령행 인터페이스'를 말하고 있지만, PulseAudio Volume Control을 위해서는 GUI를 쓰지 않을 수가 없다.
  
  
Line 12: Line 12:
   * -f cdr (16 bit <color #ed1c24>big endian</color>, 44100, stereo) [-f S16_BE -c2 -f44100]   * -f cdr (16 bit <color #ed1c24>big endian</color>, 44100, stereo) [-f S16_BE -c2 -f44100]
   * -f dat (16 bit little endian, <color #ed1c24>48000</color>, stereo) [-f S16_LE -c2 -r48000]   * -f dat (16 bit little endian, <color #ed1c24>48000</color>, stereo) [-f S16_LE -c2 -r48000]
-사용할 디바이스는 '-D NAME(select PCM by name)'으로 지정한다(('aplay -L'로 확인 가능하다지만 이 부분이 좀 까다롭다.)). '-d 60'은 60초, 즉 1분 동안 녹음을 함을 의미한다. 정해진 시간보다 일찍 녹음을 끝내려면 도중에 Ctrl+C를 입력한다. +사용할 디바이스는 '-D NAME(select PCM by name)'으로 지정한다(('aplay -L'로 확인 가능하다지만 이 부분이 좀 까다롭다.)). '-d 60'은 60초, 즉 1분 동안 녹음을 함을 의미한다. 정해진 시간보다 일찍 녹음을 끝내려면 도중에 Ctrl+C를 입력한다. 다이나믹 마이크를 믹싱 콘솔(예: Behringer Xenyx 802)에 연결하여 녹음하려면 레벨을 잘 맞추는 것이 중요하다. [[https://blog.naver.com/soundsonic/220440928890|믹싱콘솔의 입력 레벨 셋업(게인 조정)]]을 참조하도록 한다. 
-  # 헤드셋을 연결하고 마이크로 녹음을 하는 것이 가장 간단할 것이다.+  # 헤드셋을 연결하고 마이크로 녹음을 하는 것이 가장 간단할 것이다. 
   $ 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 36: Line 36:
 ===== 단일 소스의 녹음 ===== ===== 단일 소스의 녹음 =====
 ==== 단일 애플리케이션의 재생음 ==== ==== 단일 애플리케이션의 재생음 ====
 +강조하지만 근본적으로 녹음이란 마이크로폰으로 들어오는 소리를 기록하는 것이다. 따라서 컴퓨터의 애플리케이션이 재생하는 소리를 녹음하려면 약간의 수고를 해야 된다. 윈도우 계열에서는 이를 흔히 **스테레오 믹스**라 부른다. 윈도우 쪽에서는 스테레오 믹스가 되지 않는 것이 기본 설정이고, 사운드 카드에 따라서는 아예 되지 않는 제품도 있다. 이는 저작권이 있는 음원을 일반 컴퓨터 사용자가 기록하여 문제가 되는 것을 방지하는 차원에서 운영체계 또는 하드웨어 제작사가 어쩔 수 없이 택한 현실인 것 같다. 리눅스에서는 컴퓨터의 재생음을 녹음하는게 그렇게 어렵지 않다.
 +
 웹브라우저에서 유튜브를 재생하면서 나오는 소리를 녹음하고 싶다면? 아마 가장 흔하게 벌어지는 일일 것이다. [[https://www.videolan.org/index.ko.html|VLC Media Player]]에서 유튜브의 스트리밍 비디오를 MP4(오디오만 MP3로 저장하는 것도 가능)로 저장한 뒤, 적절한 프로그램을 써서 MP3로 전환하면 된다. 그러나 CLI를 이용한 녹음은 단순하고 직관적이다! __재생용 애플리케이션과 arecord가 실행되는 동안__ PulseAudio Volume Control에서 다음을 제대로 설정하면 된다. 웹브라우저에서 유튜브를 재생하면서 나오는 소리를 녹음하고 싶다면? 아마 가장 흔하게 벌어지는 일일 것이다. [[https://www.videolan.org/index.ko.html|VLC Media Player]]에서 유튜브의 스트리밍 비디오를 MP4(오디오만 MP3로 저장하는 것도 가능)로 저장한 뒤, 적절한 프로그램을 써서 MP3로 전환하면 된다. 그러나 CLI를 이용한 녹음은 단순하고 직관적이다! __재생용 애플리케이션과 arecord가 실행되는 동안__ PulseAudio Volume Control에서 다음을 제대로 설정하면 된다.
   - Playback 탭: **Application name**: AudioStream //on// XYZ(사용하는 디바이스 이름). 여기에서는 고를 수 있는 것은 없다.   - Playback 탭: **Application name**: AudioStream //on// XYZ(사용하는 디바이스 이름). 여기에서는 고를 수 있는 것은 없다.
Line 66: Line 68:
   $ pacmd list-modules | grep -e 'index:' -e 'name:' -e 'argument:'   $ pacmd list-modules | grep -e 'index:' -e 'name:' -e 'argument:'
   $ 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 'name:' -e 'index:'   $ pacmd list-sources | grep -e 'name:' -e 'index:'
music_on_linux/명령행_인터페이스에서_녹음하는_요령.1649746441.txt.gz · Last modified: 2022/04/12 06:54 by hyjeong