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/17 00:54] – [명령행 인터페이스에서 녹음하는 요령] hyjeongmusic_on_linux [2023/09/18 06:30] (current) – [Music on Linux 네임스페이스 내의 모든 문서] hyjeong
Line 1: Line 1:
 ====== Music on Linux ====== ====== Music on Linux ======
-이곳은 리눅스(우분투 스튜디오 20.04)가 설치된 다음의 두 가지 컴퓨에서 음악과 MIDI 작업을 하는 요령을 록하기 위한 위키 페이지이다. 이 글을 정하는 2022년 4월 기준으로는 박물관에 보내도 좋을 하드웨어다. +우분투 22.04는 음악 작업을 하기가 훨씬 수월해졌고(내 블로그의 [[https://blog.genoglobe.com/2022/10/2204-qsynth-qjackctl-usb.html|관련 글]] 참조), DAW 역시 Tracktion의 [[https://www.tracktion.com/products/waveform-free|Waveform Free]]를 즐겨 쓰게 되었며, 2023년에 접어들어서는 음악 작업 환경을 Windows로 옮기게 되면서 이 위키 문서를 계속 업데이트하는 이 무슨 의미가 있는지 고민을 하게 되었다.  ---  // 2023/09/08 05:23// 
-  - **노트북:** 컴팩 프리자리오 CQ61-304TU(펜티엄 듀얼코어 T4400 @2.20GHz, 메모리 4GB). + 
-  - **데스크탑:** Xeon E5520 @2.27GHz, 메모리 24GB(full). 마더보드는 [[https://www.supermicro.com/products/motherboard/Xeon3000/X58/X8SAX.cfm|Supermicro X8SAX]]. 2022년 4월 11일 Sound Blaster Live! CT4830 카드를 장착하였음([[https://blog.genoglobe.com/2022/04/midi-livect4830-2004-lts.html|관련 글]]) - 앞는 이것이 onboard soundcard를 대신할 것이다. +이곳은 리눅스(우분투 스튜디오 20.04 기준)가 설치된 컴퓨터에서 음악과 MIDI 작업을 하는 요령을 기록하기 위한 위키 페이지이다.  
-우분투 스튜디오의 좋은 점은 멀티미디어 작업에 필요한 많은 프로그램이 기본적으로 포함되어 있고, low latency kernel로 구동된다는 것이다. 설치된 리눅스 배포판과 커널의 상세 정보는 다음 명령으로 확인해 보자.+우분투 스튜디오의 좋은 점은 멀티미디어 작업에 필요한 많은 프로그램이 기본적으로 포함되어 있고, low latency kernel로 구동된다는 것이다. 그러나 우분투 스튜디오가 아닌 '데스크탑'을 설치한 다음 필요한 소프트웨어를 추가적으로 설치해도 별로 불편한 점은 없다. 설치된 리눅스 배포판과 커널의 상세 정보는 다음 명령으로 확인해 보자.
  
   $ cat /etc/lsb-release    $ cat /etc/lsb-release 
Line 21: Line 21:
 PulseAudio는 일반인을, JACK은 전문가를 위해 특화된 것이다. 비슷하면서도 다른 두 프로그램의 특성은 [[http://0pointer.de/blog/projects/when-pa-and-when-not.html|PulseAudio and Jack]]이라는 웹문서의 표에 일목요연하게 잘 나타난다. 종종 PulseAudio와 JACK이 서로 충돌을 한다고 여겨지지만, 두 프로그램은 사용 목적이 조금 다르며, 영리한 설정을 통해서 조화롭게 사용할 수 있다. [[https://jackaudio.org/faq/pulseaudio_and_jack.html|How use PulseAudio and JACK?]] 웹문서에서 두 프로그램이 공존하게 만드는 방법을 확인해 보라. PulseAudio의 작동 상태를 확인하거나 설정을 변경하려면 메뉴에서 PulseAudio Volume Control을 찾아서 실행하거나 명령행에서 pavucontrol을 입력하라. 또는 pactl이나 pacmd로 세밀한 부분을 건드릴 수도 있다. PulseAudio는 일반인을, JACK은 전문가를 위해 특화된 것이다. 비슷하면서도 다른 두 프로그램의 특성은 [[http://0pointer.de/blog/projects/when-pa-and-when-not.html|PulseAudio and Jack]]이라는 웹문서의 표에 일목요연하게 잘 나타난다. 종종 PulseAudio와 JACK이 서로 충돌을 한다고 여겨지지만, 두 프로그램은 사용 목적이 조금 다르며, 영리한 설정을 통해서 조화롭게 사용할 수 있다. [[https://jackaudio.org/faq/pulseaudio_and_jack.html|How use PulseAudio and JACK?]] 웹문서에서 두 프로그램이 공존하게 만드는 방법을 확인해 보라. PulseAudio의 작동 상태를 확인하거나 설정을 변경하려면 메뉴에서 PulseAudio Volume Control을 찾아서 실행하거나 명령행에서 pavucontrol을 입력하라. 또는 pactl이나 pacmd로 세밀한 부분을 건드릴 수도 있다.
  
-나의 최종 목표는 [[https://www.rosegardenmusic.com|Rosegarden]]에서 미디 및 오디오 녹음 작업을 하는 것이다. 일반적인 녹음 작업 및 후처리에서는 [[https://www.audacityteam.org/|Audacity]]를 빼놓을 수 없다. Rosegarden은 우분투 스튜디오에 기본으로 포함되어 있지도 않고, 어떤 면에서는 [[https://ardour.org/|ARDOUR]]가 DAW(Digital Audio Workstation) tool로는 더 나은 것 같다. 그러나 Rosegarden은 인터페이스가 간단하며 사용이 매우 편리하고 미디 작업에는 더욱 적합하다. [[http://filter24.org/seq24/|Seq24]]는 그야말로 최소 수준의 미디 시퀀서일 뿐 DAW를 겸하고 있지 않으므로 오디오 녹음은 하지 못한다.+나의 최종 목표는 원래 [[https://www.rosegardenmusic.com|Rosegarden]]에서 미디 및 오디오 녹음 작업을 하는 것이다. 일반적인 녹음 작업 및 후처리에서는 [[https://www.audacityteam.org/|Audacity]]를 빼놓을 수 없다. Rosegarden은 우분투 스튜디오에 기본으로 포함되어 있지도 않고, 어떤 면에서는 [[https://ardour.org/|ARDOUR]]가 DAW(Digital Audio Workstation) tool로는 더 나은 것 같다. 그러나 Rosegarden은 인터페이스가 간단하며 사용이 매우 편리하고 미디 작업에는 더욱 적합하다. [[http://filter24.org/seq24/|Seq24]]는 그야말로 최소 수준의 미디 시퀀서일 뿐 DAW를 겸하고 있지 않으므로 오디오 녹음은 하지 못한다.
  
 +2022년 10월 현재 [[https://lmms.io/|LMMS(Linux MultiMedia Studio)]]와 Waveform Free를 주력 DAW로 쓰는 것으로 방향을 선회하였다.
 ===== 설치된 사운드 카드의 확인 ===== ===== 설치된 사운드 카드의 확인 =====
  
Line 36: Line 37:
                       Roland SC-D70 at usb-0000:00:1a.7-4.4, full speed                       Roland SC-D70 at usb-0000:00:1a.7-4.4, full speed
 맨 왼쪽에 보이는 숫자(card ID or card number)는 ALSA device name의 일부이다. '일부'라고 표현한 이유는, 실제 ALSA device name은 'hw:0' 또는 'hw:3,0'과 같은 형태로 쓰이기 때문이다. 각 카드에 대한 고유한 정보는 /proc/asound/cardX(X는 조금 전 설명한 card number로서 0..7) 디렉토리에 각각 수록된다. 컴퓨터 부팅 직후라면 내장 사운드 카드인 card0 디렉토리만 존재한다. 'Intel'은 card0의 심볼릭 링크이다. 여기에서 MXL Tempo 마이크는 오디오 인터페이스와 같은 회사의 칩을 사용하므로 단독으로 연결하면 CODEC, UCA200와 같이 연결된 상태에서는 순서에 따라 CODEC 및 CODEC_1이라는 식별자가 붙는다.  맨 왼쪽에 보이는 숫자(card ID or card number)는 ALSA device name의 일부이다. '일부'라고 표현한 이유는, 실제 ALSA device name은 'hw:0' 또는 'hw:3,0'과 같은 형태로 쓰이기 때문이다. 각 카드에 대한 고유한 정보는 /proc/asound/cardX(X는 조금 전 설명한 card number로서 0..7) 디렉토리에 각각 수록된다. 컴퓨터 부팅 직후라면 내장 사운드 카드인 card0 디렉토리만 존재한다. 'Intel'은 card0의 심볼릭 링크이다. 여기에서 MXL Tempo 마이크는 오디오 인터페이스와 같은 회사의 칩을 사용하므로 단독으로 연결하면 CODEC, UCA200와 같이 연결된 상태에서는 순서에 따라 CODEC 및 CODEC_1이라는 식별자가 붙는다. 
 +
 +다음은 다른 종류의 컴퓨터(AMD Ryzen 5950X)에 UCA200과 RockFrog를 연결한 상태이다.
 +  $ cat /proc/asound/cards
 +   0 [NVidia         ]: HDA-Intel - HDA NVidia
 +                        HDA NVidia at 0xfc080000 irq 117
 +   1 [CODEC          ]: USB-Audio - USB Audio CODEC
 +                        Burr-Brown from TI USB Audio CODEC at usb-0000:05:00.3-2.3, full speed
 +   2 [Generic        ]: HDA-Intel - HD-Audio Generic
 +                        HD-Audio Generic at 0xfca00000 irq 119
 +   3 [RockFrog       ]: USB-Audio - RockFrog
 +                        SIMS Corp. RockFrog at usb-0000:05:00.3-2.1, full speed
  
 alsa-utils 패키지에 포함된 유틸리티 중 하나인 aplay를 사용해서 사운드 카드의 정보를 알아낼 수도 있다. USB 키보드 콘트롤러는 이 명령에서는 보이지 않는다. '-l/%%--%%list-devices'는 'list all soundcards and digital audio devices'인데 화면에는 'PLAYBACK 하드웨어 장치 목록'이라고 나오는 것이 넌센스이다. 맨 앞의 숫자는 /proc/asound/cards 파일에서 각 기기의 앞에 나오는 숫자와 동일하다. alsa-utils 패키지에 포함된 유틸리티 중 하나인 aplay를 사용해서 사운드 카드의 정보를 알아낼 수도 있다. USB 키보드 콘트롤러는 이 명령에서는 보이지 않는다. '-l/%%--%%list-devices'는 'list all soundcards and digital audio devices'인데 화면에는 'PLAYBACK 하드웨어 장치 목록'이라고 나오는 것이 넌센스이다. 맨 앞의 숫자는 /proc/asound/cards 파일에서 각 기기의 앞에 나오는 숫자와 동일하다.
Line 72: Line 84:
 여기에서 **플러그인**이라는 다소 어려운 개념이 나온다. Plugin이란, PCM 디바이스의 기능이나 특성을 확장하는 역할을 한다. 예를 들어 디바이스 이름을 바꾸거나, 샘플 레이트를 바꾸고, 다른 채널 간에 복사를 하는 등의 일을 자동적으로 수행하는 것이다. 플러그인의 전체 목록과 옵션은 [[https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html|alsa-lib documentation]]에 나오지만 대단히 기술적이고 딱딱하며 이해하기 어려운 문서이므로 [[https://www.alsa-project.org/wiki/Asoundrc|.asoundrc 파일 설명 문서]]를 보는 것이 나을 것이다. 여기에서 **플러그인**이라는 다소 어려운 개념이 나온다. Plugin이란, PCM 디바이스의 기능이나 특성을 확장하는 역할을 한다. 예를 들어 디바이스 이름을 바꾸거나, 샘플 레이트를 바꾸고, 다른 채널 간에 복사를 하는 등의 일을 자동적으로 수행하는 것이다. 플러그인의 전체 목록과 옵션은 [[https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html|alsa-lib documentation]]에 나오지만 대단히 기술적이고 딱딱하며 이해하기 어려운 문서이므로 [[https://www.alsa-project.org/wiki/Asoundrc|.asoundrc 파일 설명 문서]]를 보는 것이 나을 것이다.
 ==== PulseAudio Volume Control(GUI)을 이용한 사운드 카드의 확인 및 설정 변경 ==== ==== PulseAudio Volume Control(GUI)을 이용한 사운드 카드의 확인 및 설정 변경 ====
-GUI 프로그램인 PulseAudio Volume Control(명령어: pavucontrol)을 실행하여 나타나는 설정 탭에서 설치된 사운드 카드 및 현재의 프로파일을 확인할 수 있다. 아마도 이 유틸리티는 우분투에서 음악 작업을 하면서 가장 자주 열어보는 프로그램이 될 것이다. 원하는 기기로 소리의 입출력이 되도록 변경하거나 녹음/재생 레벨을 맞출 때 등 쓸 일이 아주 많다. 영화를 보기 위해 HDMI 케이블을 이용하여 TV를 연결했는데 소리가 TV에서 나지 않는다면? 설정(configuration) 탭에서 내장 사운드 카드의 출력 프로파일을 바꾸면 된다. 즉, 다음 그림에서 '디지털 스테레오(HDMI) 출력'을 포함하는 것을 선택하면 된다.+GUI 프로그램인 PulseAudio Volume Control(명령어: pavucontrol)을 실행하여 나타나는 설정 탭에서 설치된 사운드 카드 및 현재의 프로파일을 확인할 수 있다. 우분투 스튜디오가 아니라 그냥 우분투를 설치했다면 자동으로 깔리지 않는다. pavucontrol을 설치하지 않았다고 해서 PulseAudio 서비스가 돌아가지 않는 것은 아니니 걱정할 필요는 없다. 아마도 이 유틸리티는 우분투에서 음악 작업을 하면서 가장 자주 열어보는 프로그램이 될 것이다. 원하는 기기로 소리의 입출력이 되도록 변경하거나 녹음/재생 레벨을 맞출 때 등 쓸 일이 아주 많다. 영화를 보기 위해 HDMI 케이블을 이용하여 TV를 연결했는데 소리가 TV에서 나지 않는다면? 설정(configuration) 탭에서 내장 사운드 카드의 출력 프로파일을 바꾸면 된다. 즉, 다음 그림에서 '디지털 스테레오(HDMI) 출력'을 포함하는 것을 선택하면 된다.
 {{ :card_profile_내장오디오.png?400 |}} {{ :card_profile_내장오디오.png?400 |}}
  
Line 379: Line 391:
   * [[music_on_linux:pulseaudio_설정_및_활용|PulseAudio 설정 및 활용]]   * [[music_on_linux:pulseaudio_설정_및_활용|PulseAudio 설정 및 활용]]
  
-===== 다른 응용프로그램에서 녹음하기 ===== +===== 다른 응용프로그램을 사용하여 녹음하기 ===== 
-  * [Audacity tutorial] [[https://manual.audacityteam.org/man/tutorial_recording_computer_playback_on_linux.html|Recording computer playback on Linux]] PulseAudio와 JACK 중 어느 것을 쓸 것인지에 따라서 요령이 약간 다름에 유의하라.+  * [Audacity tutorial] [[https://manual.audacityteam.org/man/tutorial_recording_computer_playback_on_linux.html|Recording computer playback on Linux]] PulseAudio와 JACK 중 어느 것을 쓸 것인지에 따라서 요령이 약간 다름에 유의하라. PulseAudio통하여 computer playback을 녹음하려면, Audacity의 녹음 모니터를 활성화해야 pavucontrol의 recording tab에서 'Monitor of ...'가 비로소 나타날 것이다.
   * [[music_on_linux:rosegarden|Rosegarden 활용법(JACK 사운드 서버 환경)]]   * [[music_on_linux:rosegarden|Rosegarden 활용법(JACK 사운드 서버 환경)]]
  
Line 411: Line 423:
  
 {{pglist>music_on_linux}}   {{pglist>music_on_linux}}  
 +
 +===== 기타 문서 =====
 +[[multimedia_on_linux|Multimedia on Linux]]
music_on_linux.1650156866.txt.gz · Last modified: 2022/04/17 00:54 by hyjeong