2023년 9월 30일 토요일

연습용 MR 만들기

나는 '반주'(伴奏)라는 낱말을 매우 좋아하지 않는다. 주 멜로디를 연주하는 사람(독주자 또는 보컬리스트)를 제외한 모든 연주자를 전부 보조적인 수단으로 여기는 느낌이 강하게 들기 때문이다.

노래방 반주기, 반주자, 반주법...

'반주자는 무엇을 하는가?'라는 글이 있어서 링크(버클리 음대)를 여기에 남긴다. 

노래 연습이나 노래방 기능처럼 쓰기 위해 만든 반주용 음악을 보통 MR이라고들 부른다. 나무위키의 설명에 의하면 '노래 반주를 뜻하는 콩글리시'라고 한다. Music Recorded의 약자라는 설이 있는데, 위키백과에 의하면 TJ미디어의 반주기 시리즈 명칭에서 유래했다고 한다.

  • MR(music recorded) - 가수가 노래 부른 부분을 빼고 녹음한 것. 노래방에서 접하는 반주에 해당한다.
  • AR(all recorded) - 모든 것이 다 녹음된 것
  • Instrumental - 가수의 보컬이 들어가지 않고 악기만 연주하여 녹음한 것. 사실상 MR과 동의어. 

이렇게 체계적으로 풀이해 놓은 웹사이트도 있다. 하지만 버클리 음대 뮤직 프로덕션 전공 수업에서는 이를 뭐라고 부르는지 모르겠다.

공연에서 일부 악기는 라이브로 진행하되 현장에서 함께 할 수 없는 연주자를 위해 일부 악기를 사전에 녹음해 놓았다면 이를 뭐라고 불러야 하는가? 어차피 보컬은 라이브로 하게 되므로 이것도 MR이라고 해야 할지 모르겠다.

실제 이를 공연에서 적용하는 것은 쉬운 노릇이 아니다. 모든 악기 연주를 다 MR에 맡기고 보컬리스트 혼자 노래를 부르는 것은 가장 쉬운 케이스일 것이다. 일부 악기를 라이브로 연주한다 해도 MR에 드럼이 포함되어 있다면 그나마 나을 것이다. 그런데 드럼을 라이브로 연주해야 한다면? 사전 녹음한 것과 완벽한 싱크로를 유지해야 하므로 신경을 쓸 일이 무척 많다. Mule 웹사이트에도 이러한 상황에 대한 질문과 답을 볼 수 있었다.

만약 드러머가 노래까지 불러야 한다면? MR과 싱크로를 유지하는 메트로놈 소리를 헤드폰이나 인이어 모니터링 시스템으로 들으면서 드럼 연주와 더불어 노래를 하려면 어떻게 준비를 해야 하는지 걱정이 앞선다. 물론 나는 그런 드러머는 아닌데, 어쩌다 보니 그런 용도의 음원을 미리 준비해야 할 처지가 되었다. Waveform FREE에서 기타를 반복 녹음하고, 베이스는 MIDI로 찍고, 드럼은 프로그램에 내장된 MIDI clip을 가져다가 대충 만들어 보았다. 기타의 톤 메이킹? 그럴 겨를도 없다. Korg AX3G의 프리셋을 골라 쓰기에도 바쁘기 때문이다. 총 4개의 트랙에 조금씩 다른 취향으로 녹음을 한 뒤 적당히 믹스하여 사용할 생각이다.



각 트랙을 세로로 배열한 전통적인 콘솔 스타일의 믹서 뷰도 보기에 좋다. 





이 음원이 연습용으로만 쓰일지, 혹은 라이브 현장까지 가게 될 지는 아무도 모른다. 아니, 공연 자체가 반드시 성사되리라는 보장도 없다.





2023년 9월 26일 화요일

OpenShot 비디오 에디터를 이용한 동영상 편집

자작곡을 유튜브에 올릴 때 거의 전적으로 OpenShot 비디오 에디터에서 동영상을 만들었었다. 내 로고가 들어있는 이미지 파일에 오디오만 겨우 입혀서 만든, 차마 동영상이라고 하기도 민망한 것을 계속 만들고 있었다.

오늘은 아예 작정을 하고 4분 16초짜리 동영상을 만들어 보았다. 병원에 오랫동안 입원 중인 사무실 동료에게 추석을 맞아서 동영상 편지를 보내자는 아이디어를 내고 직접 실행에 옮겼다. 직접 병문안을 가기에 어려운 사정이 있었기 때문이다. 영상은 휴대폰과 아이리버 웹캠(Windows 11 '카메라' 앱)으로 찍었고, 웹캠 녹화시에는 Behringer U-Phoria UM2에 콘덴서 마이크로폰을 달아서 녹음하였다. '카메라 -> 설정 -> 오디오 시스템 설정 열기'로 진입하여 입출력 장치가 제대로 지정되었는지 확인하는 것이 좋다. 

녹화한 .mp4 파일을 Audacity에서 불러들이면 한쪽 채널에서만 신호가 나타난다. 카메라 앱의 오디오 시스템 설정의 출력 부분에서 모노 오디오(왼쪽과 오른쪽 오디오 채널을 하나로 결합)를 켠 상태로 녹음을 해도 마찬가지이다. Audacity에서 다음 화면과 같이 파형이 나타나지만, 헤드폰으로 들으면 양 채널에서 모두 소리가 난다. Windows의 기본 프로그램으로 재생을 해도 역시 양 채널에서 소리가 나온다.

이 오디오 인터페이스는 32-비트 실수로 녹음할 수 있는 것이 아님에도 불구하고 그렇게 표시되었다.

휴대폰으로 녹화한 동영상은 소리가 너무 작아서 Audacity에서 오디오 파일을 따로 뽑아서 음량을 키운 뒤 다시 입혔다. 아마도 비디오 클립의 음량 증강 정도는 OpenShot 자체 기능으로도 충분히 가능할지도 모른다. 오디오를 위한 컴프레서와 EQ 정도는 제공하는 것으로 보인다. 그러나 복잡한 오디오 편집을 하려면 외부 프로그램을 병용하는 것이 좋을 것이다. 

OpenShot과 같은 것을 거치지 않고 비디오 클립의 음량만을 늘리는 방법도 아마 있을 것이다. 잠깐 찾아보니 이런 작업을 해 주는 웹 서버가 있는 것 같았다.

OpenShot에서 제목을 붙이는 기능은 오늘 겨우 익혔다. 외부 프로그램을 통한 제목 편집은 Inkscape를 통해서 이루어진다. 그러나 편집->환경설정에서 Inkscape의 실행파일 위치를 수동으로 등록해야 한다. 3D 모델링 프로그램인 Blender도 마찬가지. Gimp도 그 기능의 5%도 활용하지 못하는데, 벡터 그래픽 편집 도구인 Inkscape는 또 언제 익힌단 말인가? 


화면 하단의 자막은 어떻게 입력하는지 아직 잘 모른다. 모르면 찾아서 익히면 된다. Caption을 넣는 방법을 설명한 동영상('How to add subtitles to your video using the caption effect in OpenShot 2.6.1')이 있어서 시청해 보았다. 


Caption은 효과의 일종이라는 것을 기억하면 된다. 배경과 잘 어울리는 텍스트 색상을 고르는 것 역시 중요하다.


완전히 무료 프로그램이라서 유튜브를 호화롭게 장식하는 동영상에서 흔히 볼 수 있는 멋지고 시인성 좋은 자막을 만들기는 조금 어렵다. 마찬가지로 무료로 제공되는 Shotcut이라는 크로스 플랫폼 비디오 편집 소프트웨어는 고급 사용자에게 더욱 적합하다고 한다. 그러나 개인적인 용도의 비디오 편집기로서 오픈샷 정도라면 필요한 기능이 차고 넘친다. 

[MK's Guide] Shotcut vs. OpenShot

취미를 위해서 익히는 소프트웨어의 가짓수가 조금씩 늘어나고 있다. CAD, 회로도 작성, 이미지 편집, DAW, 비디오 편집... 힘써 배우고 익힌 것은 언제든 쓸모가 있을 것이다.



2023년 9월 20일 수요일

9V 배터리가 없어도 active DI box를 사용할 수 있다

내가 사용하는 active DI box(MPU LDB-101) 안에는 9V 배터리가 들어 있다. 배터리 소비를 차단하려면 케이블을 빼 두면 되는 것으로 알고 있는데, 입력 쪽인지 혹은 출력(balanced, XLR 단자) 쪽인지 기억이 나지 않는다. 구글을 뒤지면 사용 설명서를 찾을 수 있으리라 생각을 했다. 이 제품은 MPA 또는 EWI라는 브랜드 명으로 팔렸었다. 검색으로는 제품 사용 설명서를 찾지 못하였다. 그러나 포장재에 붙은 스티커에 전원관리에 대한 설명이 인쇄되어 있었다.


그림 출처: 중고나라

Input jack에 케이블을 꽂을 때 전원이 작동한다고 적혀 있었다. 그 바로 윗줄에는 48V 팬텀 파워에 의해서도 작동한다는 글도 있었다. 이는 지금까지 전혀 모르던 일이다. 생각을 해 보니 DI box의 XLR  출력을 믹서 이외의 장비에 연결할 일은 없다. 그렇다면 배터리를 빼 놓아도 좋을 것이다. 배터리를 꽂은 상태로 오래 두면 누액이 발생하여 전자기기를 망치게 되는 일이 많다. 더군다나 나사를 풀지 않으면 배터리에 접근하기 곤란한 LDB-101과 같은 경우 배터리 상태를 수시로 확인하기가 어렵다.

DI box를 뒤집어 보니 위 사진에서 확인한 글이 스티커로 붙어 있었다. 등잔 밑이 어두웠다...



믹서의 팬텀 파워가 정말로 active DI box의 전원 역할을 해 주는지 실험을 해 보았다. 과연 기대와 다르지 않았다. 이런 기본적인 사항을 지금까지 모르고 있었다니...


기타의 고임피던스 출력을 직접 입력할 수 있는 Behringer U-Phoria UM2 오디오 인터페이스를 구한 뒤로는 DI box를 쓸 일은 현저히 줄어들었다. 공연할 때 마이킹할 필요가 별로 없는 베이스 연주자에게 잠시 쓰라고 빌려 주어야 되겠다.

베이스 기타의 경우는 많은 음반에서도 이미 앰프를 사용하지 않은 드라이한 원음의 소리도 많이 사용되고 있습니다. 기타 만큼 앰프 특유의 사운드 메이킹이 중요하지 않기 때문일 수도 있습니다. (정승환, "모두의 홈레코딩", 56쪽)

DI box는 믹서 + UCA200 오디오 인터페이스의 조합을 가끔씩 쓰게 해 주는 좋은 핑계가 될 것이다.

공연이라! 불과 열흘 전에는 생각도 하지 못했던 일이 벌어지고 있다. 꿈은 이루어지라고 있는 것이니까... 평소에 늘 관심이 많았던 공연용 음향을 세팅하는 방법을 비로소 배울 수 있는 아주 중요한 계기가 될 것이다.



2023년 9월 17일 일요일

[Waveform FREE] Micro Drum Sampler로 나만의 드럼 프리셋을 만들어서 간단한 녹음을 실시해 보았다.

https://realdrumsamples.com/에서 다운로드했던 무료 드럼 샘플(관련 글 링크, 44 kHz, 16 bit)를 이용하여 Tracktion Waveform FREE의 Micro Drum Sampler에서 간단한 드럼 프리셋을 만들어 보았다. 아래의 이미지에서 보였듯이 kick drum의 샘플 음량이 꽤 커서 파형의 위 아래가 잘린 것처럼 보인다. 파형을 편집하는 기능은 Micro Drum Sampler에 들어있지 않기 때문에 게인을 줄이는 정도로 만족해야 했다. 구입한 샘플에는 적절한 side stick 소리가 없어서 Korg TR Rack의 standard kit에서 추출한 샘플(44 kHz, 16 bit)을 사용하였다. 출처는 Free Wave Samples 웹사이트


4 x 4 패드에 사운드 샘플을 할당하였다. 각 패드는 GM drum note number에 따라서 건반의 키와 1:1 대응한다. 매핑 정보는 당연히 바꿀 수 있다.

오늘 만든 드럼 프리셋을 키보드 컨트롤러로 연주하여 스팅의 "Shape of My Heart" 일부분을 녹음해 보았다. 변명이겠지만 가상 악기의 실시간 입력에는 quantize 기능을 쓰지 않을 수가 없다. Quantize는 다음 그림에서 보였듯 총 5가지의 모드가 있다. 화면 하단의 Property에서 설정하는 quantize는 이 중에서 어느 것에 해당하는 것일까? 아마 note start time일 것이다. 드럼 샘플의 경우 note length는 그다지 중요하지 않다.



OBS Studio로 Waveform 작동 화면을 사운드와 함께 녹화하여 동영상을 만들면 가장 좋았겠지만 아직 프로그램 활용법을 잘 모르는 관계로 화면 캡쳐 이미지에 음악만 입혀 놓았다.


매번 느끼는 것이지만 나는 정말 심각한 박자치! 평생에 걸친 연습이 필요하다.

드럼 시퀀스를 입력하는 더 좋은 방법은 step clip을 활용하는 것이다. 16분 음표 단위의 '스텝'으로 이루어진 '그리드'에 정보를 기록하는 것이라서 quantize는 필요하지 않다. Step clip 의 첫 경험은 8월 17일에 작성한 글 'Waveform Free - Micro Drum Sampler 익히기'에서 언급한 일이 있다. 스텝 클립 녹음 방법은 다음과 같다.

  1. 트랙을 선택하여 드럼 프리셋을 로드한다.
  2. 트랙의 원하는 위치에 스텝 클립을 삽입한다.
  3. In/out marker로 반복 구간을 설정한 뒤 loop 모드를 활성화한다.
  4. Play를 클릭한 뒤 마우스로 그리드를 선택하여 소리를 넣는다. Record 버튼을 클릭하는 것이 아님에 유의하라.

마이크로 드럼 샘플러에서는 총 16개의 샘플을 각 패드에 할당해 놓았지만 스텝 클립 편집 화면의 최초 실행에서는 8개의 row만 나타날 것이다.

각 row는 하나의 악기 소리에 해당한다. 하단의 회색 새로 막대는 선택된 row의 각 step(여기서는 16분음표 하나에 해당)에 대한 velocity로서, 왼쪽 위의 흰 바탕 'V'를 토글하여 표시 여부를 선택할 수 있다.

적당한 곳에 row를 새로 삽입한 뒤, 화면 아래에 나타나는 건반을 통해서 샘플을 할당하면 된다. 아래의 화면 캡쳐 이미지는 Hand Clap 샘플을 clip edit 창에 나타나도록 한 뒤의 모습이다. 새로운 곡을 쓰게 되는 경우, 이렇게 확장된 row가 다시 나타나는지 또는 처음부터 9번째 row를 다시 설정해 넣어야 하는지는 알 수 없다. 해 봐야 안다.


Waveform 공부를 이렇게 열심히 하고 있으니 이제 다른 DAW 소프트웨어는 쓰지 못할 것만 같다.


2023년 9월 15일 금요일

비대면 진료, 제대로 합시다

환자가 의사를 직접 만나지 않고 전화나 화상(앱) 등을 이용하여 의료 서비스를 받는 것을 우리나라에서는 보통 비대면 진료(또는 비대면 의료)라고 한다. 오늘의 글에서는 의료와 진료를 동일한 의미라 간주하고 글을 쓰겠다. 이에 대해서는 과거에 쓴 글 '의료와 진료는 무엇이 다른가? 보건은?을 참고하자.

비대면 진료라는 행위에 대하여 모두가 완벽하게 일치하는 정의가 내려진 것은 아니다. 실은 원격진료(telemedicine)라는 표현이 더 정확하다고 볼 수 있다. Telemedicine은 의료 서비스 공급자가 정보통신기술을 이용해 다른 의료인 또는 환자에게 비대면 또는 온라인 대면 방식으로 의료 서비스를 제공하는 것으로 정의한다. 따라서 원격진료는 환자가 병원을 직접 가지 않고 진찰 및 처방을 받는 행위(우리가 쉽게 떠올리는 바로 그것)를 포함한 더 큰 범위를 일컫는다. 그러나 우리나라의 현행 의료법에서 허용하는 것은 '정보통신기술을 활용하여 먼 곳에 있는 의료인에게 의료지식이나 기술을 지원하는 것'으로 국한된다. 이는 한국의 상황을 반영한 매우 좁은 정의로서, 자문이나 판독 등으로 제한된다. 여기에 환자와 의료인 사이의 원격의료를 본격 허용하려니 문제가 되는 것이다.

우리나라에서는 원격의료(환자-의료인)에 대한 시민사회 등의 반대 목소리가 높아지자 지난 정부에서 대신 비대면 진료라는 용어를 쓰기로 입장을 정리하였다. 즉, 기술 발달에 의해서 충분히 가능하고 활발히 논의되고 있으며 포괄적인 원격진료보다는 한 레벨이 낮다는(따라서 그만큼 우려할 필요가 없다는) 느낌을 주기 위하여 억지로 만든 말이라고 보는 것이 맞다.

원격진료 ⊃ 비대면 진료 (?)

원격진료를 전면적으로 허용하면 반대하는 사람들이 들고 일어나게 되므로, 그 범위를 줄인 것을 비대면진료(untact medicine)라고 정의하고 - 범위가 줄어들게 되고 이에 따라 반대할 명분이 줄어들 것이니 - 앞으로 공식적으로는 이 용어를 쓰자는 것인데, 여러모로 말이 되지 않는다. 게다가 'untact'라는 낱말은 우리나라에서 만들어진, 세계적으로는 통용되지 않는 말이다.

코로나-19가 세상을 괴롭히던 시절에는 국내에서 비대면 진료가 한시적으로 허용되었었다. 사실 비대면 진료는 현행 의료법을 위반하는 것이기 때문이다. 의료법 제3장(의료기관) 제1절(의료기관의 개설)을 찾아보자.

①의료인은 이 법에 따른 의료기관을 개설하지 아니하고는 의료업을 할 수 없으며, 다음 각 호의 어느 하나에 해당하는 경우 외에는 그 의료기관 내에서 의료업을 하여야 한다.

모든 의료행위는 의료기관에서만 이루어져야 한다. 그러나 감염병 위기상황에서는 환자가 직접 병원에 오기에는 상태가 위중한 경우가 많고 격리 의무를 준수해야 하므로 한시적으로 비대면 진료를 허용했었다. 그 사이에 우리나라의 IT 기반을 활용한 많은 비대면 진료 플랫폼 기업이 생겨나서 산업 생태계를 이루고 많은 편의를 제공하였다.

그러다가 코로나-19 감염병 위기상황이 종료됨에 따라 한시적으로 허용했던 비대면 진료를 원상태로 되돌리는(즉, 불허) 것을 논의할 때가 되고 말았다. 이미 비대면 진료는 전 세계적인 추세이고, 의료 소비자에게 많은 편리함을 주었으니 현행 의료법을 어떻게 해서든 손질해서 기왕 시작한 비대면 진료의 편리함을 계속 이어나가게 해 주어야 하지 않겠는가? 그런데 그게 그렇게 쉽지가 않다. 비대면 진료 허용 조건을 놓고 도대체 사회적 합의가 이루어지지 않는 것이다. 더군다나 제대로 된 비대면 진료라면 처방된 약을 배달받는 것이 상식적인데, 의약품 배송 문제는 반대가 더 심해서 제대로 논의조차 되지 못하고 있다.

모든 진료는 대면을 원칙으로 해야 하고, 비대면 진료는 대면 진료를 보조하는 것으로서 부득이한 경우에만 허용하자는 것이 의료계의 의견이다. 따라서 의사가 없는 산간 도서지역의 환자, 재진 환자 등만 제한적으로 허용해야 한다고 주장한다. 초진과 재진을 도대체 어떻게 구분할 것인가? 사실 쉬운 문제는 아니다.

갑자기 몸이 아픈데 근무 중에는 병원을 직접 찾아가기 어려운 여건이라 비대면 진료를 이용하려는 것인데, 현재 허용된 기준에 따라 재진만 가능하다면 소비자 입장에서는 아무런 소용이 없다. 의사도 비대면 진료에서 환자 본인을 확인하는 것이 불편하다고 느낀다('의사가 비대면진료 꺼리는 이유 "법적 책임 소재 불분명"' 기사 참조). 비대면 진료를 신청한 환자가 초진인지 혹은 재진인지를 미리 확인하는 것도 병원측에 부담이 된다. 게다가 처방전을 온라인으로 받았다 하더라도, 약을 사려면 직접 약국에 가야만 한다. 현재의 방식은 모두에게 불편함에는 틀림이 없다.

3개월 간의 계도기간이 끝나고 9월 1일부터 비대면 진료가 본격 시범사업으로 전환되었다(보건복지부 공고 링크). 그러나 현장에서는 계속 불만의 목소리가 터져 나오고 있다. 의료법 개정은 꿈과 같은 소리. 바로 어제(9월 14일), 비대면 진료 시범사업에 대한 공청회가 열렸다. 찬성과 반대의 목소리는 여전히 평행성을 달리고 있다.

[청년의사] 비대면 진료 공청회 열었지만 '찬반' 여전...사회적 합의 난항(2023년 9월 15일 기사 링크)

의료계와 정부는 과거 의료현안협의체를 통해 '비대면 진료의 4대 원칙'에 합의한 일이 있다. 대략적인 내용은 다음과 같다.

  • 대면 진료 원칙, 비대면 진료는 보조 수단
  • 재진 중심
  • 의원의 의료기관만 허용
  • 비대면 진료 전담 의료기관 금지

의료 남용 문제, 의료사고 또는 과오 발생 시 책임 소재 문제 등도 비대면 진료를 반대하는 의료인들이 늘 하는 말이다. 비대면 진료를 통해 처방받은 의약품 중 비급여가 57.2%이고, 그중에서 사후피임약 처방이 가장 많았다는 사실(조선일보 기사 링크)도 몹시 불편하게 느껴질 것이다. 

반대하는 사람들은 늘 한결같다. 오남용의 소지가 있고, 충분한 의료 서비스가 전달되기 어려우므로 국민의 안전이 위협을 받을 수 있다는 것이다. 그러나 대면 진료 환경에서도 의사를 만나 단 5분도 이야기하기 어렵다. 이를 충분한 서비스라고 할 수 있는가? 그러면 그들은 또 할 말이 있을 것이다. 저수가 체계에서는 주어진 시간 안에 많은 환자를 보아야 하니 어쩔 수 없다고. 전문가인 약사가 제공하는 '복약지도'는 또 어떠한가? 현실의 복약지도는 '5분 진료'와 별반 다를 것이 없다.

어제는 이런 어처구니없는 뉴스를 보았다. 60대의 요양원 입소자가 점점 상태가 나빠져서 대학병원으로 옮겨 수술까지 하게 되었는데, 알고 보니 필수로 투약해야 하는 심장약, 고혈압약 및 비뇨기과 약이 5개월이나 빠져 있었다는 것. 여러 요양원을 순회 방문하는 의사가 실수로 처방을 누락했음이 밝혀졌는데, 요양원과 의사는 서로 책임을 미루고 있다. (JTBC 뉴스 링크). 대면으로 진료를 하면 실수가 적고, 비대면은 더 잦을까? 대면이든 비대면이든, 의료 서비스가 전달되는 방식 차제는 사실 그렇게 중요한 일이 아닐 수도 있다.

의료계에서는 국민의 안전을 늘 내세우고 있지만, 솔직하게 말해서 비대면 진료를 통해 내 병원에 찾아오는 환자 수가 줄어드는 것을 두려워하는 것 아닌가? 입장을 바꾸어 보면 비대면 진료를 통하면 내 병원에 직접 찾아오지 못하는 환자를 끌어 올 수도 있는 것 아닌가? 경향신문에 실린 김윤 서울대 교수의 글('환자를 위한 비대면 진료는 없다' 링크)를 인용해 본다.

의사·약사·병원, 플랫폼 업체 모두 겉으로는 환자와 국민을 내세웠지만 속으로는 자기 밥그릇을 챙기는 데 혈안이 돼 있었다. 비대면 진료가 필요한 환자와 국민은 뒷전이었다. (중략) 왜 정책을 결정할 때 환자와 국민은 뒷전으로 밀려나고 이익단체의 '밥그릇 싸움'만 난무하게 될까? 정부와 국회를 포함한 정책결정자들이 이익집단의 '포로'가 돼 있기 때문이다.

국회의원들의 인식 수준을 보자. 심지어 비대면 진료를 원천적으로 반대하는 목소리가 나와서 의료법 개정은 더욱 멀어진 일이 되었다. 과학기술 분야에서도 국회의원을 배출하여 이번 정부의 돌연한 출연연구소 R&D 예산 삭감 횡포를 저지했어야 하는 것 아닌가?

어제 공청회에서 한국원격의료학회 실무위원장인 신애선 서울대 교수가 한 말을 인용한다.

기술발달로 병원에서 진료가 이뤄지는 시대는 끝났다. 재택의료, 원격모니터링, 디지털치료제 등의로 논의 주제를 넓혀야 한다.

기술발달은 막을 수 없다. OECD 국가 중 비대면 진료를 허용하지 않는 나라는 우리 뿐이다. 다른 분야로 가 볼까? 지능형로봇법 개정을 통해 이제 조금만 지나면 배달 로봇이 보행자의 지위를 얻어서 따뜻한 음식을 싣고 주문자 집 앞으로 가게 될 것이다. 그런데 '우리 식당은 배달은 절대 안해. 손님은 반드시 매장으로 와서 음식을 먹여야 해! 아니, 플랫폼을 이용한 배달 자체를 금지해야 돼!'라는 입장을 고수하는 사업주와 무엇이 다른가? 일회용 음식 포장재가 환경 오염 문제를 일으키므로 음식 배달 문화를 아예 원점에서 다시 생각해 보자는 운동을 하는 것이 아니라면 말이다.

2023년 9월 10일 일요일

음악 도서 구입

대학 시절에 구입했다가 잃어버렸던 <실용재즈 화성학> 책을 다시 구입하였다. 1989년에 출판된 책이 아직도 교보문고 광화문점 서가에 꽂혀 있었다. 더불어 구입한 책은 재즈 베이시스트이자 레코딩 엔지니어인 정승환 씨의<모두의 홈레코딩>. 컴퓨터를 이용하여 저자가 손으로 직접 그린 소박한 일러스트가 이채롭다. 제작비를 줄이기 위한 나름의 고충이 있었으리라.



80년대 후반 당시에는 화성학 책에서 과제물로 주어지는 곡을 도무지 알 길이 없었다. 대단한 재즈 애호가가 아니라면 제목만으로 저 곡을 어떻게 찾아서 들을 수 있겠는가? 재즈 평론가 황덕호 씨 수준이 아니라면...

지금은 유튜브라는 보물창고가 있어서 문제가 없다. 이렇게 음악 공부하기에 좋은 환경이 올 때까지 30년을 넘게 기다려 온 것이 아닐까?

허름한 장비와 무료 소프트웨어만으로 학원도 다니지 않고 음악을 만들어 보겠다고 오늘도 방구석에서 씨름을 한다. '이 나이에 시작하여 무엇을 이루랴'는 생각은 저 멀리 떨쳐 버리고.

2023년 9월 8일 금요일

DokuWiki 제목 바꾸기는 정말 어렵다

DokuWiki 공식 웹사이트와 내 웹사이트를 서로 비교해 보았다.


로고 오른편의 제목은 Admin -> Configuration Settings -> Basic 항목에서 가장 상단의 title에 써 넣게 되어 있다. 위에 보였듯이 줄바꿈, 글꼴, 색상을 바꾸기 위해 html tag를 사용하였다. 이것으로 충분히 좋아 보인다.

하지만 웹브라우저 탭에 찍힌 텍스트를 보라. "start [GenoGlobe - Learning from lives]"로 표현되어 너무 길다. DokuWiki 공식 웹사이트는 좀 다르다. 로고 옆의 타이틀은 두 줄인데, 브라우저의 탭에는 [DokuWiki] 짧게 표시된다. 가장 왼쪽의 텍스트(start, template:wallpaper)는 페이지 자체의 이름이라서 사이트 내 위키 문서를 선택할 때마다 바뀐다.

Configuration Settings에서 도대체 타이틀을 어떻게 입력해야 웹브라우저 탭에 표시되는 텍스트를 제한할 수 있는 것일까? "start [GenoGlobe]"라고 짧게 표시되면 소원이 없겠다.

2023년 9월 7일 목요일

도메인과 웹사이트 정비

부족한 지식으로 웹사이트를 잘못 건드렸다가 접속이 되지 않으면 참으로 난감하다. 개인적으로 보유한 도메인과 웹사이트를 '체계화'를 해 보겠다는 의욕만 앞서서 시작했다가 몇 번의 사고를 치고, 겨우 정상 궤도에 올랐다. 설정을 바꿀 때마다 나름대로 꽤 상세하게 기록을 한다고 생각했는데, 나중에 참조해 보려고 찾으면 너무 부실하게 적혀 있어서 도움이 되지 않을 때도 많다.

오늘 작업의 핵심은 내 개인 도메인인 genoglobe.com을 웹브라우저 주소 창에 넣었을 때 연결되는 공식적인 '대문 사이트'를 정비하는 것이었다. 전에는 호스팅어 내부에서 서비스했던 Zyro Website Builder로 간단히 만든 것을 쓰다가, 이를 다른 것으로 전환하는 문제를 놓고 한참을 고민하였다. 정확히 말하자면 그저께부터...

자동 설치되는 CMS(워드프레스, 줌라, 드루팔...)를 쓸 것인가 또는 호스팅어의 새로운 웹사이트 빌더를 써 볼 것인가를 고민하다가 기존에 이미 설치해 놓았던 DokuWiki 사이트를 개선하여 이를 대문 사이트로 쓰기로 하였다. 이 위키 사이트는 서브도메인을 사용하여 wiki.genoglobe.com 주소로 접속할 수 있었다. 프로그램이 설치된 위치(document root라고 하는 것이 옳을 것이다)는 public_html/dokuwiki이다.

서브도메인은 없애 버리고, .htaccess 파일을 편집하여 genoglobe.com/dokuwiki가 아니라 순수한 도메인명인 genoglobe.com을 입력해도 곧바로 연결이 되게 만들었다. public_html/dokuwiki/.htaccess 파일을 한 레벨 위, 즉 public_html에 복사한 뒤 다음 줄을 활성화하는 것이 핵심이었다. DokuWiki를 쓴게 몇 년인데, 아직도 이런 설정 요령을 정확히 알지 못하고 있었다니 한심하기만 하다.

RewriteBase    /dokuwiki

기존 대문 웹페이지로부터 개인 소개에 관한 정보를 긁어다가 약간의 편집을 거쳐서 이 위키 사이트에 입력하였다. 이제부터 https://genoglobe.com/로 접속하면 된다.

로고 옆의 타이틀 텍스트를 바꾸는 것도 쉽지 않았다. 제대로 하려면 CSS 파일을 건드려야 한다. CSS 공부를 하기는 해야 할 듯.

아직 사소한 문제가 남았다(이 글을 마무리할 무렵에 해결). https://www.genoglobe.com/으로는 이 웹사이트가 접속이 되지 않는다. 호스팅어의 웹사이트 빌더를 썼을 때에는 www.genoglobe.com과 genoglobe.com이 동일한 웹사이트로 잘 접속이 되었다. 아마도 호스팅어가 제공하는 웹사이트 빌더 또는 auto installer를 사용했더라면 이러한 부수적인 기능이 알아서 작동했을 것이다. DokuWiki는 사용자가 직접 설치하는 것이라서 최종적인 튜닝도 직접 해야 한다. 이 문제를 해결하는 호스팅어의 공식적인 문서를 소개해 둔다. 1번 문서에 의하면 웹사이트는 구체적인 호스트에 해당하는 www.mydomain.com으로 접속하게 만드는 것이 기본이고(이제부터 호스트명과 서브도메인이 헷갈리기 시작한다), 부수적으로 non-www URL을 입력했을 때 www.mydomain.com으로 연결되도록 리다이렉트하는 것이 정상이다. 그런데 나의 도메인은 반대의 상황이다. 도대체 뭐가 뒤엉킨 것인지 모르겠다. 그런데 2번 문서에서는 www를 붙인 URL이 root domain을 가리키도록 CNAME record를 생성하라고 했다. www URL과 non-www URL 중 어느 것이 먼저인지 가치관에 혼란이 온다.

  1. How to Redirect Non-www to www URLs
  2. Domains does not work with www

DNS Zone Editor에서 다음과 같은 레코드를 삽입하여 원하는 동작이 이루어지게 만들어 놓았으나 제대로 한 것이 맞는지 자신이 없다.

'www'를 붙이지 않고 도메인 이름만 입력하여 특정 호스트를 접속하는 일은 무척 단순해 보이지만(다음 인용문 참조), 그 뒤에 깔려 있는 원리는 의외로 복잡하다. 

It is up to you if you use the www subdomain address or just your domain to promote your website. [출처: LOVE2DEV]

The most common reason to discard "www" is for branding. The naked domain is snappy, looks better on promotional material, and most brand don't want something as important as their domain name cluttered with unnecessary and unrelated letters... there are a couple of reasons that a site owner would choose to use the "www". It's not that "www" is special, but that there are benefits to using a subdomain rather than the naked domain - it could be any subdomain, but "www" is the obvious and traditional choice. [출처: Nexcess

사족 -  DNS 체계에서 subdomain, hostname, host 및 www의 차이는 무엇인가? 이에 대한 설명은 출처 링크를 클릭할 것. 코멘트에 의하면 모든 답이 100% 정확하지는 않다. [출처: superuser]

예전에 이를 다 이해했었다고 생각했지만 지금은 잘 기억이 나지 않는다. 여러 도메인을 한 사이트로 연결하는 것은 기술적으로 그다지 어렵지 않다 하더라도 - 쿠키 관리 측면에서는 꼭 그렇지도 않다는데(위에서 두 번째 인용문 참조) - '진실성'을 저해하는 행위라는 글을 읽었었던 기억이 난다.

.htaccess 파일을 수정하는 다음의 방법은 DNS 설정을 건드리지 않는다('How to redirect non-www URLs to www?). 그런데 내가 www로 시작하는 호스트를 갖고 있던가? 아, 머릿속이 뒤죽박죽이 되었다. 아, www는 subdomain이지... 아닌가? 호스트의 이름인가?

RewriteEngine On RewriteCond %{HTTP_HOST} ^yourdomain.com [NC] RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]

오늘 작업을 하면서 사소한 노하우를 하나 습득하였다. 한글이 포함된 URL을 웹브라우저 창에서 복사하여 다른 곳에 붙여 넣으면 %-encoding이 되어서 가독성도 떨어지고 분량도 너무 길어지는 불편함이 있었다(접속에는 문제가 없다). 다음에 보인 URL 두 개는 같은 것이다.

https://genoglobe.com/dokuwiki/blog/%EC%83%88_%EB%8F%84%EB%A9%94%EC%9D%B8%EC%97%90_%EB%91%A5%EC%A7%80%EB%A5%BC_%ED%8B%80%EA%B3%A0

https://genoglobe.com/dokuwiki/blog/새_도메인에_둥지를_틀고

해결 방법은 아주 간단하다. 앞부분 몇 글자를 생략하고 마우스로 긁어서 복사한 다음, 붙여넣은 뒤 나머지는 손으로 쳐 넣으면 된다. 다음의 글에서 이러한 힌트를 얻었다.

한글 URL을 붙여넣었을 때 영어, 숫자로 변환될 경우 해결법 (링크 복사)

2023년 9월 5일 화요일

[Windows 11 + JACK Router] Audacity with ASIO를 사용하여 Sforzando 출력을 녹음해 보다

(결론적으로는 실패. 맨 아래의 9월 10일자 업데이트를 참조.)

9월 4일에 쓴 글('Windows에서 Audacity + ASIO support를 제대로 쓸 방법은 없는가?')에서 ASIO Link Pro와 SAR(Synchronous Audio Router)라는 프로그램을 알아냈음을 기록하였다. 공식 문서와 유튜브 동영상까지 훑어 보았지만, 사용 방법을 이해하기 어려웠다. 그래서 지금까지의 경험으로 어느 정도는 친숙함이 느껴지는 JACK router를 다시 이용해 보기로 하였다. 실험 환경은 다음과 같다.

작고 가벼운 Behringer U-Phoria UM2는 노트북 컴퓨터를 중심으로 한 음악 작업의 자유도를 크게 향상시켰다.

QjackCtl을 이용하여 JACK router를 설정한다. JACK 설정에서는 오디오 인터페이스(사운드카드), 원하는 ASIO 드라이버(Behringer 전용, ASIO4ALL, FlexASIO 등 몇 가지 중에서 선택 가능), 그리고 샘플 레이트를 제외한 다른 것은 일절 건드리지 않는 것이 중요하다. 함부로 건드린 것이 정확히 무엇을 바꾸는지를 알지 못하는 상태라면! JACK이 다 알아서 해 준다. 커맨드 라인 프롬프트에서 명령어를 넣을 필요도 없다. 


Start를 클릭하여 JACK을 실행한다. 메시지를 보면 특별한 문제는 없다. JackWinMMEDriver::Open으로 시작하는 줄에서 메모리가 부족하다는 메시지가 보이는데 실행에 장애가 되는 에러는 아닌 것으로 보인다.


Sforzando를 실행하고 Tools->Preference로 이동한다. Audio Device는 ASIO가 아니라 JackRouter를 택해야 한다.


Audacity(with ASIO support)를 실행한다.


Audacity에서 편집->사전 설정을 선택한다. 호스트는 ASIO를 선택해야 하지만 녹음 및 재생 장치는 BEHRINGER USB WDM AUDIO 2.8.40)이 아니라 JackRouter를 택해야 한다.


QjackCtl에서 Graph를 클릭한다. Sforzando만 보일 것이다. Audacity는 실행 중인 상태지만 graph 화면에서는 아직 보이지 않는다.


Audacity에서 '모니터링 시작'을 활성화하거나 '녹음'(또는 이미 녹음된 트랙이 있으면 '재생') 버튼을 누르면 비로소 Graph 안에서 Audacity가 보이기 시작한다. Audacity의 입력은 system(capture)과 자동으로 연결된 상태이다.


아직 Sforzando의 출력이 Audacity의 녹음용 입력으로 연결되지 않았다. 마우스로 각 포인트를 끌어서 다음과 같이 연결하도록 하자.


건반을 두드리면 모니터링 표시창에서 움직임이 나타날 것이다. 그런데 두 가지 문제가 있다. 하나는 시스템 입력(즉 마이크로폰)이 Audacity로 들어온다는 것이다. 이 신호를 동시녹음할 것이 아니라면 Graph에서 해당 연결을 끊거나, 또는 오디오 인터페이스에서 게인 노브를 최소로 해야 한다. 두 번째 문제는 더욱 심각하다. 만약 '모니터링 시작'을 클릭한 녹음 대기 상태에서 녹음 버튼을 클릭하는 순간, Sforzando와 Audacity의 연결이 끊어져 버린다. 상식적으로 이해가 되지 않는 동작이다.

시행착오를 통해서 녹음을 진행해도 이 연결이 끊어지지 않는 조건을 찾았다. 다음 순서대로 하면 된다.

  1. '모니터링 시작'을 누르지 말고 일단 녹음 버튼을 눌렀다가 즉시 일시 정지를 누른다.
  2. QjackCtl - Graph에서 Sforzando의 출력과 Audacity의 입력을 연결한다.
  3. System(capture)와 Audacity의 입력은 필요하다면 끊어도 좋다.
  4. 일시 정지를 다시 클릭하여 실제 녹음을 진행한다.

녹음 버튼 대신 일시정지 버튼을 이용하여 녹음을 계속 진행한다. 연결 작업을 위해 준비하는 동안 트랙 앞부분에 신호 없이 녹음된 구간은 나중에 지우면 된다. '일시 정지'가 아니라 '정지' 버튼을 누르는 순간 Graph 창에서 Audacity는 싹 사라지게 되므로 다시 연결해야 한다.

Sforzando를 통해서 출력되는 피아노 소리를 녹음하는 모습.

Audacity에서 녹음한 트랙을 재생할 때에는 다음과 같이 그래프가 바뀐다. Audacity의 출력이 system playback으로 연결된다. 재생 버튼을 클릭하기 전까지 Audacity가 graph 화면에 나타나지 않는다는 것은 녹음 때와 같다.


실은 본격적인 DAW인 Tracktion Waveform FREE를 이용한다면 복잡한 JACK을 전혀 이용하지 않고도 가상 악기의 소리를 녹음하는데 아무런 문제가 없다. 그러나 훌륭한 소프트웨어인 Audacity를 제대로 이용해 보고 싶었고 - 직접 빌드하는 수고를 거치면서까지 - 아울러 JACK router에 대한 이해도를 더 높이고 싶었다. 종종 KXStudio를 이용하여 컴퓨터 안에서 가상적인 케이블을 자유자재로 연결해 가면서 녹음 작업을 하는 동영상을 볼 때가 있는데, 도저히 그 수준까지는 이를 자신이 없다. Catarina, Catia, Claudia... 이들은 KXStudio의 구성품 중에서 특별히 프로덕션에 특화된 도구 집합으로서 Cadence tool이라고도 부른다. JACK과 직접 관련된 것만 해도 이렇게 그 종류가 많고 어느 것 하나라도 그 방대한 기능을 이해하기는 너무 어렵다. 

난 그저 Waveform(Free)와 그 주변부의 몇몇 프로그램의 사용법을 철저히 익히면서 나만의 생태계에 익숙해지고 싶을 뿐이다. 예를 들어 Audacity에서는 MIDI와 관련된 기능도 있는데, 그것이 정확히 무엇을 하는 것인지 아직 알지 못한다. JACK 제어판의 트랜스포트 버튼들이 왜 필요한지도 아직 모른다. 만약 내가 인터넷 방송을 하면서 복수의 컴퓨터 응용프로그램에서 나는 소리와 마이크로폰 입력 등 다양한 소스를 선택하여 내보내고 싶다면 JACK router 또는 관련 프로그램에 대해 더 많은 것을 공부해야 할 것이다. 아직 그러한 단계에 도달하려면 갈 길이 멀다.

오늘 작성한 글의 주된 내용은 Windows 환경의 JACK router 활용이라고 보는 것이 타당하다. JACK과 같이 원래 리눅스 환경을 위해 만들어졌던 소프트웨어가 Windows 쪽으로도 확장되어 더 많은 사람들에 그 혜택을 누리게 되는 것이 무척 반갑다. 게다가 대부분 무료 소프트웨어이기도 하다. JACK Audio Connection Kit 공식 문서-FAQ 중에서  'Using JACK on Windows', 그리고 별도로 존재하는 'Demystifying JACK - A Beginners Guide to Getting Started with JACK'을 몇 번이고 반복해서 읽어보는 것이 좋다.


2023년 9월 8일 업데이트 - Sforzando의 오버더빙에 성공하다

오늘의 성과는 QjackCtl - Patchbay를 제대로 사용하는 방법을 알아낸 것이다. QjackCtl - Graph에서 매번 마우스로 연결을 하는 일이 귀찮게 느껴졌다. 한번 연결해 둔 profile을 Patchbay에 저장해 둔 뒤 다시 불러내면 된다는 글을 읽었던 일이 있어서 테스트를 해 보았다.

QjackCtl - Patchbay의 첫 활용. 키보드 컨트롤러와 Sforzando 사이의 MIDI 연결은 QjackCtl - Graph에서는 보이지 않는다. Sforzando에서 이미 연결했기 때문이다. 원한다면 Graph 또는 Patchbay에서 연결하도록 설정해도 될 것이다.

이렇게 간편할 수가 있나! 앞서 보인 노란 배경의 본문에서 기술한 문제가 말끔하게 해결되었다. JACK router와 ASIO를 사용하여 컴퓨터의 애플리케이션에서 나오는 소리를 깔끔하게 오버더빙할 수 있게 되었다. 실은 Waveform FREE(DAW)에서는 기본적으로 되는 일이다. 그러나 간편한 녹음 프로그램으로서 즐겨 사용하는 Audacity(built with ASIO support)를 이용하여 꼭 이 일을 해 보고 싶었다.

완벽하리라고 예상했던 LMMS(+Behringer ASIO)에서는 심각한 문제를 발견하였다. SF2 player로 사운드폰트를 로드하여 연주를 해 보니 피치가 온음 정도 높게 들리는 것이다. 사운드 드라이버를 WASAPI로 바꾸면 '틱-틱-'거리는 잡음 때문에 쓸 수가 없다. 샘플을 이용한 드럼 프로그래밍은 대충 입력하여 파일로 export를 하는 것이 가능할 터이나, 샘플 원본의 소리와는 분명히 차이가 날 것이다. WASAPI + USB CODEC으로 작동하면 좀 나을 수도 있겠지만... LMMS는 내장 사운드카드를 사용하여 드럼 프로그래밍을 하는 용도로만 쓰는 것이 좋을 것이다.


2023년 9월 10일 업데이트 - 음이 늘어지는 현상 발견!

ASIO를 사용하도록 Sforzando를 실행하여 SF2 파일을 로드하여 키보드 컨트롤러로 음악을 연주하다가 Audacity(+ASIO)를 실행하는 순간, 피치가 거의 온음 수준으로 떨어지는 것을 발견하였다. 내 귀도 어지간히 무딘 모양이다. 건반을 치는 도중에 Audacity를 실행하는 경우는 별로 없었으니 이러한 문제를 금방 발견하지 못하고 있었다.

비슷한 문제를 LMMS에서 겪은 일이 있다. SF2 player를 로드하여 MIDI 트랙을 입력한 뒤, .wav 파일로 export를 하여 들으면 피치가 낮은 상태로 녹음이 되었었다. LMMS 프로그램 내에서 재생할 때에는 그렇지 않았다.

반면 Tracktion Wavef FORM에서는 아직까지는 모든 것이 완벽하다.

무엇이 문제일까? 공식 다운로드 사이트에서 자취를 감춘 Behringer lower-end 모델 전용 ASIO 드라이버가 불완전한 것일까? Audacity를 별도로 빌드하고, JACK router(+Patchbay) 사용법을 익히는 등 Windows 환경에서 값싼 하드웨어와 소프트웨어로 녹음을 해 보려고 잡다한 방법을 알아 보았는데 결국은 아무런 소용이 없었다. ASIO4ALL은 잘 작동하지 않는다. 설정을 아무리 바꾸려 애를 써도 USB 오디오 인터페이스가 아닌 내장 오디오 장치가 굳건히 활성화되어 바뀌지를 않는다.

Audacity는 아날로그 입력과 Windows application의 루프백 녹음을 이용하는 데에만 사용하고, 오버더빙 등 중요한 음악 작업은 Waveform 단일 환경에서 실시하는 것으로 정착하는 수밖에는 다른 방법이 없다. 오디오 인터페이스를 더 좋은 것으로 바꾸지 않는 이상...


호스팅어의 웹사이트 빌더 'Zyro'가 어디로 갔는가?

호스팅어 내부에서 사용할 수 있었던 Zyro 웹사이트 빌더가 별도의 유료 서비스(https://zyro.com/)로 독립한 것 같다. 'By Hostinger'라는 표시가 달려 있어서 두 서비스 간에 밀접한 관계가 있음을 짐작할 수 있다. 

호스팅어 내에서 Zyro를 이용하여 몇 개의 사진으로 구성된 간단한 웹사이트(https://genoglobe.com/)를 만들어 오랫동안 사용해 왔고, 내 블로그위키 사이트로 연결되는 링크도 그 안에 걸어 두었다. DokuWiki를 사용한 개인 용도의 위키 사이트는 호스팅어 내에 설치한 상태이다.

아주 간단한 웹사이트 구성임에도 불구하고 이제는 호스팅어 내에서 Zyro를 불러서 편집을 하는 것이 불가능하다. 내부 메뉴에서는 이를 전혀 볼 수 없기 때문이다. 링크 하나를 고치기 위하여 텍스트 편집기로 기존의 PHP 소스 파일/CSS style sheet를 직접 수정해야 할까? 불가능한 일은 아니지만 그 번거로움이란 상상조차 하기 싫다. 이미지를 바꾸어 삽입하거나 텍스트를 편집하여 각각의 크기와 배치를 일일이 손으로 고쳐야 하는 굳이 그 어렵고 귀찮은 일에 대하여 의미를 부여한다면, CSS style sheet를 초급 수준으로 공부하는 좋은 계기가 된다는 것.

메일함을 찾아보니 2020년 3월에 'Our amazing website builder'라는 안내문을 받은 일이 있다. 그 이후로 호스팅어 안에서 웹사이트를 아주 드물게 수정하면서 웹사이트 빌더 서비스가 어떻게 변하였는지 전혀 모르고 있었다. 독립된 Zyro의 서비스를 어떻게 활용하고 대비해야 하는지 현재로서는 전혀 아이디어가 없다.

Zyro 웹사이트 빌더를 쓰려면 이제는 한 달에 2.59 달러를 내야 한다. 호스팅어에 이미 비용을 지불하고 있는데 말이다. 호스팅어 안에서 자동 설치 가능한 CMS(content management system, 콘텐츠 관리 시스템)를 택해서 사용해야 하는 것인지...


나는 대부분의 웹문서를 구글 블로그나 DokuWiki로 작성하기 때문에 Joomla나 WordPress와 같이 데이터베이스가 연동되는 복잡한 CMS를 따로 익혀서 쓰고 싶은 생각은 전혀 없다. Zyro의 유료 서비스로 굴복해 들어가야 할까? SSL도 이미 호스팅어쪽에서 전부 발급하여 잘 쓰고 있는 상황인데 말이다. 

기존 웹사이트의 소스 코드를 직접 고쳐서 꼭 필요한 업데이트를 적용해 두었다. 기존 것은 모바일 브라우저에 대한 배려가 전혀 없다는 것을 깨닫게 되었다. 다음 정보가 모바일 환경에서는 그대로 축소되어 좁은 디스플레이 안에 그대로 들어가게 된다. 사실은 그 반대로 모바일용 화면을 PC 웹브라우저에서 너무나 넉넉하게 보는 것도 짜증스럽다. 

웹사이트 빌더 없이 텍스트 편집만으로 오른쪽 상단 메뉴에 YouTube 링크 하나(빨간 타원)를 추가하는 것도 쉽지 않았다. https://genoglobe.com/

현재의 내 웹사이트는 모바일 브라우저에서도 PC 화면과 똑같은 것을 보여준다. 따라서 손가락을 확대를 하는 불편함이 따른다. '구글이 알려주는 모바일 친화적 사이트 만들기 - 반응형 웹 디자인'이라는 문서를 참고하여 PHP 코드 안에 다음과 같이 meta name = "viewport"를 삽입하였다. 일단은 이렇게라도 해서 접속자의 불편을 해소해 보고자 하였다. 이렇게 하면 모바일 환경에서 확대를 할 필요는 없지만 화면의 크기를 넘어가므로 적당히 스크롤을 해야 된다. 

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  • 반응형 웹 디자인: 감지된 화면 크기에 따라 자동으로 페이지가 재배치
  • 적응형 웹 디자인: 브라우저가 주어진 플랫폼에 맞춰 특별히 생성된 레이아웃을 불러옴

결국은 완벽한 해결방법은 아니었던 것이다. 궁극적으로는 적응형 웹 디자인이 필요하다. 웹사이트 디자이너가 할 일이 참 많다는 것을 느낀다. 

별도의 웹사이트 빌더를 사용할 수는 없으니, 오늘 했던 방법 그대로 PC에서 html 문서를 완전히 수작업으로 만들어서 호스팅어에 올리는 원초적인 방법도 고려하고 있다. 어려운 길이 될 것이다.

어라? SSH 접속 기능도 사라진 것 같다. 호스팅어의 공식 문서 'How to Enable SSH Access'도 이제는 더 이상 유요하지 않다. 정말 많은 변화가 있었구나... 이러다가 홧김에 데이터베이스에 의존하지 않는 Grav라는 CMS를 자동설치해서 사용할지도 모르겠다.


2023년 9월 6일 업데이트

호스팅어가 내부적으로 제공하던 Zyro 웹사이트 빌더 서비스를 조용히 닫았다는 것에 대한 글(2023년 1월 21일 게시)을 발견하여 여기 소개한다.

Hostinger quietly shutters Zyro to focus on Hostinger Website Builder service

호스팅어 웹사이트에 로그온 후 웹사이트 내부를 탐색하다가 별도의 'Hostinger Builder' 메뉴를 발견하였다. 기존에 호스팅어 서비스 내에서 기본적으로 포함되어 있던 Zyror가 별도의 유료 서비스로 독립하면서, 그것을 대체한 전용 웹사이트 빌더가 바로 여기에 위치하게 된 것이었다.

Hostinger Builder로 전환하는 방법. 그 과정을 설명하는 호스팅어의 공식 문서는 여기에 있다. 전환을 하였더라도 14일 이내에 기존의 웹사이트로 복구가 가능하다. 기존의 호스팅어 사용자도 추가 비용을 지불해야 하는지는 아직 명확하게 확인하지 못하였다.

Grav와 같은 CMS를 쓸 경우, 기존의 위키 사이트(업무용 문서 정리 용도인 https://genoglobe.com/kribb가 아니라 개인 용도인 https://wiki.genoglobe.com/를 말한다)와 실질적인 통합을 이룰 수 있을 것이다. 어차피 개인용 위키는 호스팅어에서 '호스팅'을 하고 있기 때문에 이렇게 하면 관리하기도 용이해 질 것이다. 반면 웹사이트 빌더를 사용하여 기존의 Zyro-based 웹사이트를 대체한다면 최소한의 이미지와 텍스트로 간단하게 만들 생각이다. 어느 방법을 택하든지 일장일단이 있다.

2023년 9월 4일 월요일

유튜브에 자작곡을 올릴 때에는 신중하게! 자작곡 September의 리마스터링

어제 연주하여 녹음한 자작곡 September의 길이가 2분 50초 정도로 너무 짧아서 새로운 소절을 넣고 약간의 반복을 추가하여 약 4분이 넘게 만들었다. 이를 너무 성급하게 export하여 유튜브에 올렸더니 음질이 매우 좋지 않았다(링크). 벨로시티가 너무 과하다는 것은 MIDI 키보드 컨트롤러의 탓으로 돌릴 수 있겠지만, 후처리 작업을 너무 부실하게 한 것 같다.

다시 Waveform Free에서 최대한 꼼꼼하게 작업을 하여 최종 파일을 만들었다. 다음은 작업 중의 화면 갈무리. Behringer의 초저가 오디오 인터페이스 + 전용 ASIO driver의 합작품이다.

1번 트랙에서 재생하는 MIDI 신호를 가상악기 플러그인으로 받아서 2번 트랙에서 오디오 입력으로 받아 녹음을 하는 모습. 녹음 중 화면 캡쳐를 하는 순간에도 음질이 열화되지는 않았다. 요즘 컴퓨터가 어떤 수준인데 그런 걱정을!

곡 끝부분의 여운이 너무 길어서 페이드 아웃 처리를 하였다. 처리 전후 별 차이가 느껴지지는 않는다.

악기가 하나뿐이니 믹싱이라고 할 것은 없다. 각 미디 클립에 대해서 벨로시티를 약간 내리고 컴프레서 플러그인을 건 뒤, 별도의 오디오 트랙으로 뽑아 녹음하면서 전체적인 레벨을 건드려 주었다. 이렇게 하는 것이 맞는지는 모르겠으나...

어제 녹음한 short version, 오늘의 long version, 그리고 다시 마스터링을 거친 최종본을 줄줄이 유튜브에 올리는 것은 민망한 노릇이다. 그래서 오늘의 최종본은 이 블로그에 올리기로 하였다.



과연 내가 "마스터링"이라는 낱말의 뜻을 제대로 알고나 쓰는 것인지? 마스터링이란, 유형 또는 무형의 매체에 대향으로 미디어를 복제 또는 전송하기 위한 master copy(원본)를 제작하는 과정을 뜻한다(홈레코딩 위키 링크). 이 링크를 클릭하면 상단에 홈레코딩 필독서 "모두의 홈레코딩" 구매 링크가 보인다. 이 모든 것은 베이스 연주자, 녹음 엔지니어인 동시에 음악 프로듀서인 정승환 씨가 마련한 것이고, 그는 마포구에서 리버사이드 재즈 스튜디오를 운영하고 있기도 있다. 서울에 근무하는 동안 가 봐야 할 곳이 또 하나 늘었다.

Windows에서 Audacity + ASIO support를 제대로 쓸 방법은 없는가?

9월의 시작은 <9월(September)>이라는 제목의 자작곡과 더불어 시작해 보자. Sforzando에서 Chateau Grand Piano 사운드 폰트('Dark Grand' 음색을 좋아한다)를 로드해 놓고 Tracktion Waveform 'Free'에서 후다닥 녹음한 뒤 약간의 편집을 거쳤다. 조만간 약간 분량을 늘인 긴 버전으로 고칠 예정.


DAW(예: Tracktion Waveform)를 작동하지 않고 SampleTank Free 또는 Sforzando에서 음원을 로드하여 MIDI 키보드 컨트롤러로 간단한 연주를 하는 것을 즐기는 편이다. 즉각적으로 떠오르는 악상을 기록해 두려면 이만큼 편한 일은 없다. DAW를 실행하려면 시간이 걸리고, 또 VSTi를 플러그인으로 로드하는 일을 거쳐야 하기 때문이다.

가상 악기를 최소의 레이턴시로 연주하려면 ASIO만 한 것이 없다. WASAPI가 많이 나아졌다고는 하나, Behringer의 "Lower-end" 오디오 인터페이스에 맞추어 설계된 Behringer ASIO driver가 내 작업 환경에서는 최적의 성능을 발휘하고 있으며, Waveform과도 잘 어울린다.

문제는 ASIO 지원이 되도록 Audacity를 직접 빌드하였으나(관련 글 링크) 그 기능을 제대로 쓰지 못하는 데 있다. 예를 들어 Sforzando를 통해서 음원을 연주하는 경우를 가정해 보자. WASAPI를 사용할 때에는 녹음용 디바이스를 'Behringer audio interface의 loopback'으로 맞추면 된다. 그런데 ASIO를 작동시키면 Audacity의 녹음 설정 창에서 루프백을 선택할 수 없다. 곧이곧대로 오디오 인터페이스의 아날로그 입력으로 들어오는 신호만 녹음해야 한다.

리눅스에서는 실행 중인 가상악기(예: FluidSynth)가 Audacity의 입력용 디바이스 목록에 분명히 보였었다. 물론 ASIO는 리눅스에서 필요하지 않으므로 상황은 매우 다르다.

Windows에서 JACK router를 잘 쓰면 해결이 될 것 같은데 그 방법이 상당히 복잡하여 이해하기 어렵고, 대안적인 ASIO 드라이버인 FlexASIO에서 오디오 디바이스 이름을 영문으로 바꾸면 FlexASIO_GUI를 통해서 어떻게 될 것도 같은데 실제로 적용해 보면 마음대로 잘 되지 않는다. Justin S. Barrett의 JACK and Audacity라는 글이 도움이 될지도 모르겠다. 문제는 Windows가 아니고 Mac 환경에서 작성된 글이라는 점이다.

ASIO는 루프백 녹음과는 상관이 없다는 글도 있고...

오스트레일리아 회사인 O Deus Audio의 ASIO Link Pro('The best driver level audio routing solution for Windows')라는 것이 이러한 상황에서 도움이 되지 않을까 싶다. KVR 웹사이트에도 약간의 설명이 나온다. 다음은 티스토리에서 발견한 글이다.

asio link pro로 studio one에서 daw 소리와 함께 다른 프로그램(유튜브나 미디어) 소리를 함께 재생하며, 믹스(mix) 작업도 할 수 있다.

GitHub의 ASIOLinkProFIX 웹페이지도 확인해 보도록 하자. Cakewalk 포럼에 의하면 개발자가 세상을 떠난 뒤 무료로 풀렸다고 한다. 그래서 공식 배포 웹사이트가 눈에 잘 뜨이지 않았던 것이다. 

JACK router와 ASIO Link Pro라는 두 개의 숙제를 2023년 가을부터 풀어 나가고자 한다. 아차, 하나 더! SAR(Synchronous Audio Router; 설치 파일 다운로드 및 동영상 설명)라는 것도 가능성이 있다.