2021년 1월 12일 화요일

[우분투의 사운드와 MIDI] 웹캠과 마이크로폰 구입 이후 달라진 점

아직은 본격적으로 동영상을 찍는다거나, 유튜브에 올릴 무엇인가를 준비한다거나 하는 일을 하고 있지는 못하다. 주된 관심사는 아무래도 음악쪽에 더 가까우므로, 여러 종류의 USB 오디오 기기를 우분투 랩탑에 번갈아 꽂아 가면서 음악의 재생과 녹음을 하는 방법에 익숙해지려고 노력하는 중이다.

지난 며칠 동안 실험을 하면서 USB 기기를 꽂고 빼는 순서가 대단히 중요함을 알게 되었다. 뺄 때에는 꽂을 때의 역순으로(즉, 가장 나중에 꽂은 것을 가장 먼저 빼기) 해야 JACK을 재시동할 때 꼬이지 않는다. 일반적인 재생 위주의 작업에서는 별다른 문제는 없다.

PulseAudio는 피할 수 없는 운명이라고 생각하는 것이 편하다. 녹음 작업을 하려면 JACK도 피할 수 없다. JACK 서버를 기동하는 명령으로는 jackd과 jack_control이 있는데, 몇 달의 시행착오를 거친 결론은 jack_control이 더 낫다는 것이다. QJackCtl은 단지 GUI를 씌운 것에 불과하다. Behrinhger UCA200 오디오 인터페이스를 위해 JACK 서버를 기동하는 스크립트의 사례는 다음과 같다. 원본은 내 위키 사이트의 start_jack_uca200에 있다.

#!/bin/bash

#echo "suspend 1" | pacmd

jack_control start
jack_control ds alsa
jack_control dps device hw:CODEC
jack_control dps rate 44100
jack_control dps nperiods 3
jack_control dps period 128
sleep 5
#a2jmidid -e &
sleep 5
qjackctl 2> /dev/null &

# PulseAudio Volume Control 실행(프로세스를 확인하여 실행)
process_id=$(pidof pavucontrol)
if [[ -z $process_id ]]; then
    echo "Starting PulseAudio Volume Control..."
    pavucontrol 2> /dev/null &
fi

PulseAudio Volume Control('pavucontrol' 명령어)가 실행 중인지를 확인하여 그렇지 않은 경우 스크립트 마지막 부분에서 실행하게 만들었다. PulseAudio JACK Sink가 가능하도록 /etc/pulse/default.pa은 수정해 놓았다. PulseAudio JACK Sink란 출력되는 소리를 입력으로 되돌려 보내는 기능으로, 윈도우에의 스테레오 믹스와 같은 것이라고 보면 된다. 

 별도의 위키 사이트에 작성 중인 우분투(스튜디오) 18.04에서 음악과 MIDI 작업을 위한 설정 문서를 계속 덧입혀 나가다 보니 너무 분량도 많아지고 무질서해진다는 느낌이 든다. 진화는 이전 결점을 서둘러 고쳐나가는 땜쟁이의 처지와 비슷하다는 말이 있다. 이 문서의 상황에 딱 들어맞는다. 1분기 안에 완성된 모습을 갖추는 것이 단기 목표이다. 이 일에 대한 관심은 작년에 Roland SC-D70을 우연히 갖게 된 것에서 비롯되었으니 리눅스용 작업 환경을 갖추고 익숙해지는 데에 거의 1년 가까운 시간이 걸리는 셈이다.

댓글 없음: