코딩하고 있는 내 모습을 보았다

2023-07-03
ko
diary

나는 지난 며칠 간 밤에 토이 Lisp 인터프리터를 확장시키며 그 과정을 전부 녹화하고, 원본 그대로 유튜브에 업로드했다. 녹화한 계기는 간단했는데, 아무래도 요새는 취미로 프로그래밍하는 경우가 많으니 옆에 침착맨 틀어놓고 여유롭게 즐기는 것도 좋지만, 코딩에만 집중하며 그 과정을 말로 풀어보는 것도 좋은 경험이 될 것 같아 시도해봤다.

나는 한번도 이런 걸 시도해본 적이 없었는데 막상 시작해보니..역시 처음이라 장애물이 많았다. 그런 어려움을 겪으며 배운 것들, 그리고 좋았던 부분들에 대해 적어보고 싶다.

노트북 사양

최근에 전역을 했지만 다시 떠나는 신세라 나에게는 컴퓨터가 없다 (모종의 이유로 대학교에서 쓰던 맥북이 내 손을 떠났다). 그래서 가정에 유기된 2014년 발매 삼성 아티브 모델을 주워 리눅스를 설치해 쓰고 있는데, 이 노트북에 대해 말하자면 우선 CPU는 인텔 4세대 i5-4210U 모델이다. 참고로 현재 i5는 13세대까지 출시되었다. 힘의 차이가 숫자만 봐도 느껴지지 않는가??. 램은 4GB인 데다가(내가 군대에서 쓰던 컴퓨터도 램이 8GB였다), 배터리는 충전기 없이 1시간을 못가는 상태여서 직접 배터리를 사서 교체했다. 이젠 4시간 간다.

이렇게 사양이 빈약한 노트북에서 OBS를 돌릴 수 있을까 걱정을 했는데, 실제로 해보니 생각보다 괜찮았다. 평소에는 없던 팬 소음이 녹화를 할때는 생기는게 당황스럽긴 하지만 그렇게 큰 문제는 아니었다. OBS가 꽤 최적화가 잘 되어 있다고 느꼈다.

오디오 버그

내 노트북에는 3.5mm AUX 단자가 있다. 녹화를 할 때 음성도 같이 녹음하고 싶어서 헤드폰, 마이크가 같이 있는 헤드폰을 썼었다. 음성 녹음이 잘 돼서 초반 몇 번까지는 작동을 잘 하나 싶었는데, 나중에 그걸 들어보니 나는 컴퓨터에게 속고 있었다는 걸 알았다. 사실은 노트북 내장 마이크로 음성 녹음이 되고 있던 것이다. 헤드폰을 뽑고 다시 녹음을 시도했는데, 그때는 또 녹음이 안되기 시작했다. 내장 마이크가 작동은 하는데, AUX 단자에 뭔가를 꽂아야 작동하는 이상한 현상이 발생하는 것이었다.

그냥 내장 마이크를 쓸까 생각을 해봤는데, 마이크 옆에 팬이 있어서 녹화를 할 때 노이즈가 너무 많이 들어가는 바람에 필터로도 구제가 힘든 수준이었다. 어떻게든 이 문제를 고쳐야만 했다.

이 문제를 해결하기 위해 이틀 동안은 무한검색을 했다. OS가 리눅스인 것도 한몫했다. 아치 리눅스는 오디오 패키지를 따로 설치해야 컴퓨터에서 소리가 난다(여담이지만 볼륨 조절 키도 사용자가 직접 설정해야 한다). 나는 pipewire를 사용하고 있었는데 뭐가 문제일지 모르니 오디오 패키지도 바꿔보고, 마이크도 바꿔보고, 레딧에서 자비로운 한 고수 유저의 많은 도움을 받았음에도 끝내 원인을 찾지 못했다.

그 이후에는 하드웨어 문제를 의심하기 시작했다. 노트북 모델로 검색을 재개하니 [실제로 있는 하드웨어 버그](900x3g Microphone)라는 걸 알았다. 버그 리포트 날짜는 노트북 모델이 출시된 2014년인데, 아직도 해결이 안되어 있었다. 그래서 그 시점에서 외장 마이크 연결은 깔끔하게 포기해버렸다.

영상 편집

대안은 휴대폰이나 태블릿에 음성을 녹음한 뒤, OBS에서 녹화한 영상과 합치는 것이었는데 이것 또한 여러가지 이유로 문제가 있었다. 가장 큰 이유는 내가 직접 영상 편집을 해야하기 때문이다.

10년 전에 윈도우 무비 메이커로 학교 UCC를 만든 이후로 나는 영상편집을 한 적이 없다. 그때는 순수 배짱으로 했으나 많은 것을 듣고 보게 된 지금은, 실제로는 그렇게 복잡한 작업을 하지 않더라도 프리미어나 파이널 컷을 쓸 줄 모르면 영상 편집은 할 수 없을 것이라는 심리적인 장벽이 있었다. 장비의 한계도 있었다. 난 리눅스를 쓰고 있다.

하지만 여느 상용 프로그램과 같이 영상 편집 프로그램도 FOSS 버전이 (여러 개) 존재했다. 나는 kdenlive를 사용하기로 했고, 간단한 편집 방법들을 익히고 나니 생각보다 괜찮다는 생각을 했다. 오디오 동기화와 노이즈 억제 필터, 맨 뒤에 사진 넣는 정도만 알면 됐었기 때문이다.

가장 큰 어려움은 역시 사양의 한계였다. 렌더링을 시작하면 기본적으로 컴퓨터에서 다른 일은 할 수 없고, 내가 할 수 있는 전부는 어느 때보다 열심히 일하는 CPU와 팬을 응원하는 것이다.

말솜씨

영상 편집을 하며 내 모습을 화면에서 쳐다보고 있자니 너무 어색했다. 영상 자체는 거의 날것으로 올리니 그걸 다 볼 일은 없었지만, 조금만 봐도 내 부자연스러운 표정이나 특유의 느리고 질질 끄는 말투가 상당히 거슬렸다. 평소에 남과 대화를 할 때도 이렇다 생각하니 갑자기 미안한 마음이 몰려온다. 영어 실력도 끌어올리고 싶어서 영어로도 설명을 해봤는데 난 영어가 부족한 것도 있지만 그냥 언어 무관하게 말을 못하는 거다..라는 생각이 들었다. 그래도 영상을 보고 이 사실을 자각할 수 있게 된 것에는 매우 긍정적이다.

긍정적인 효과

위 항목들 외에 녹화를 계속 해봐도 좋을 것 같다고 생각한 이유가 여러 가지 있었다.

우선 코딩을 하는 시간에 집중을 제대로 할 수 있었다. 카메라가 날 쳐다보고 있다고 생각하니 딴짓을 잘 안하게 된다. 난 딴짓을 자주 하는 편이라 잘 집중하다가도 침대로 뛰어드는 경우가 종종 발생하는데, 그런 것들을 많이 줄일 수 있었다.

내 스스로의 모습에 더 떳떳하게 되는 것도 있다. 난 남에게 비치는 나의 모습을 알게 모르게 많이 신경쓴다. 영상을 편집하지 않는 이유는 분량 때문에 엄두가 안 나는 것도 있지만, 그냥 내 모습에 체념하고 눈치보는 데에 에너지를 덜 쓰고 싶었다. 지인 말고는 영상을 볼 일이 없는 것을 알지만, 아무도 보지 않는다 생각해도 의외로 효과가 있더라.

기록으로 남는다는 측면에서도 긍정적이었다. 가족에게 방해가 될까봐 녹화는 밤에 자주 했는데 나중에 낮에 녹화 없이 코딩을 하려니 처음부터 찍었던 게 좀 아까웠던 적이 있었다. 다른 프로젝트는 마음대로 한다고 해도 지금껏 녹화하면서 짠 프로젝트를 녹화 없이 하려니 기록이 안 남아 아쉬웠던 것이다. 침착맨이 자택과 야외를 가리지 않고 방송을 켜는 것이 그런 이유일까? 유튜브에 올려두니 블로그에 링크를 걸 수도 있고, 몇 년이 지나 Lisp 코드로 고생하고 있는 나를 다시 볼 수 있다고 생각하면 재밌을 것 같다.

미래에 경제적, 시간적 여유가 생겼을 때, 흔히 볼 수 없지만 재밌는 취미 프로젝트를 만드는 과정을 대중에게 스트리밍하는 재야의 프로그래머가 되어보고 싶다는 소망이 생겼다. 그 날은 언제쯤 올까!