2020년 7월 31일 금요일

컴팩 프리자리오 CQ61-304TU에 윈도우 7 + 우분투 스튜디오 16.04 설치하기

두 OS를 동시에 설치하여 무난히 작동하는 것을 확인하였으나 리눅스쪽에서 파티션을 잘못 건드리는 바람에 부팅 불능 상태에 빠졌다. 윈도우와 리눅스 파티션 영역에 500 MB 정도의 작은 파티션이 두 개 있길래 별 생각 없지 지웠더니 이런 일이 벌어진 것이다.

다시 처음부터 설치 작업에 돌입하였다. 이번에는 하드디스크 전체에 대하여 윈도우 7을 설치한 다음, 첫 부팅에서 파티션을 줄여서 할당하지 않은 공간을 뒷쪽에 마련하고, 이어서 우분투 스튜디오를 설치할 때 이 공간을 쓰게 하였다. 이렇게 하니 파티션이 지저분하지 않게 잘 정돈되었다.

윈도우 7의 지원은 올해 초에 종료되었지만 주요 업데이트는 아직도 다운로드를 할 수 있다는 점이 고마울 뿐이다. Cakewalk 제품군의 저가형 버전이었던 Music Creator 5의 설치파일(2009년 구매)을 깔아 보니 외견상 에러는 발생하지 않는다. 아직 소리는 내 보지 못했다. Cakewalk by BandLab은 윈도우 8부터 설치된다.

우분투 스튜디오는 최신 버전 혹은 우분투 설치 후 Ubuntu Studio Installer를 쓰는 등 한 두 차례 시도를 해 보았는데 최종적으로 우분투 스튜디오 16.04를 쓰기로 했다. 왜냐하면 우분투 스튜디오 오디오 핸드북이 이 버전을 기반으로 작성되었기 때문이다. 이 자료는 Ted's Linux MIDI Guide와 더불이 중요한 길잡이가 될 것으로 믿어 의심치 않는다.

Ubuntu Studio Audio Handbook

최신판에서는 Xfce 데스크탑을 마치 버리는 것처럼 보이지만, 우분투 스튜디오 16.04의 인터페이스는 가볍고 매우 직관적이었다.

우분투는 설치하고 나서 한글 입력이 되게 하는 방법은 아직도 영 혼동스러운데, 우분투 스튜디오 16.04(Xfce 데스크탑) 가볍고 직관적이면서 단순해서 마음에 들었다. 예전에 KDE를 한참 사용하던 당시의 깔끔함이라고나 할까?

두 개의 OS를 전부 설치하고 업데이트까지 전부 완료한 상태이다. 휴가 기간 동안에는 우분트 스튜디오에 포함된 음악 관련 소프트웨어의 무궁무진한 가능성을 맛보기부터 할 생각이다. 다소 복잡한 리눅스의 사운드·음악·MIDI 설정에 관한 정확한 지식을 쌓는 일이 시급하다. 도대체 소리가 나야 말이지, 원! 오디오 파일 재생은 잘 되는데 FluidSynth로 MIDI 파일을 재생하는 것부터가 이렇게 힘들어서야 되겠는가.

2020년 7월 29일 수요일

컴팩 프리자리오 CQ61-304TU에 윈도우 7 설치하기

제품 출고 당시에 설치되어 있었던 운영체제로 되돌아가 보았다. 중간에 리눅스를 설치하느라 복구 파티션을 전부 삭제했었다. 마이크로소프트 홈페이지의 Windows 7 디스크 이미지(ISO 파일) 다운로드 웹페이지에서는 본체 밑바닥에 붙은 스티커에 인쇄된 제품키를 이용하여 다운로드를 할 수 없었다. 왜냐하면 다음과 같은 오류 메시지가 나오기 때문이다.
입력한 제품 키가 장치 제조업체에서 미리 설치한 소프트웨어용인 것 같습니다. 소프트웨어 복구 옵션은 장치 제조업체에 문의하세요.
윈도우 10 ISO 파일 다운로드 사이트에서는 제품키를 입력하지 않고도 다운로드가 가능하다.

윈도우 7 ISO 파일을 '적당한 방법'을 써서 구한 뒤 USB 드라이브에 넣은 다음 노트북 컴퓨터에 설치를 완료하였다. 처음에는 마이크로소프트의 Windows 7 USB/DVD Download Tool을 사용하였는데 종료 단계에서 부팅 가능한 USB 매체를 쓰지 못한다는 에러가 발생하였다. 검색을 해 보니 32비트 운영체제가 설치된 컴퓨터에서 64비트 윈도우 ISO 파일을 USB에 넣을 때 발생하는 버그라고 한다. 그래서 다른 설치용 유틸리티를 사용했다. Universal USB Installer와 Rufus 어느 하나를 고집해서는 안될 것 같다. 이것들도 상황에 따라 동작이 한결같지 않으니.

설치 과정에 제품키를 넣었을 때에는 문제가 없었다. 당연한 것이겠지만... 설치를 무사히 마친 후 첫 부팅을 하니 별도의 드라이버를 설치하지 않고도 모든 장치가 다 잘 인식되어 작동하는 상태였다. 윈도우 7을 지우고 리눅스를 설치하기 전의 상태에서는 HP에서 제공하는 유틸리티가 항상 화면에 떠 있어서 여간 성가신 것이 아니었다.

업데이트가 더 이상 이루어지지 않는 운영체제이므로 인터넷에 연결할 때에는 아주 조심스러워야 한다. 무료 백신 프로그램을 깔고, 웹브라우저는 파이어폭스로 바꾸었다. 첫 프로그램으로서 Cakewalk by BandLab을 설치해 보았다. 그런데 윈도우 8.1부터 지원한다는 경고 메시지가 나왔다. 이를 무시하고 오랜 시간을 걸려 다운로드를 한 후 설치를 해 보았는데, 마지막 과정에서 결국 완결되지가 않았다. 허, 이런.

하드디스크 파티션을 새로 설정하여 우분투 스튜디오를 설치할 예정이다. 사실 이것도 어제 저녁에 시도를 해 보았는데 설치 시작 단계에서 kernel panic이 발생하여 실패하고 대신 우분투 16.04LTS를 깔아 놓은 상태이다. 원하는 데스크탑을 미리 설치한 다음 명령행에서 installer를 실행하여 우분투 스튜디오로 전환하는 것도 가능하다고 한다. 기본적으로 제공하던 Xfce 데스크탑 환경을 모두가 반기는 것은 아니기 때문이다.

Ubuntu Studio Installer

고물 컴퓨터 두 대(컴팩 프리자리오 CQ61, 델 인스피론 660s)를 놓고 정말 애를 쓰고 있다.

2020년 7월 28일 화요일

고물 컴퓨터에 윈도우 XP/8.1을 동시 설치하면서 느낀 점

내가 정말로 컴퓨터에 무지하다는 것을 뼈저리게 느꼈다.

  • UEFI(Unified Extensible Firmware Interface)
  • Secure boot
  • Mini PCI Express
  • 이지드라이버팩(WanDrv)
이런 용어가 존재한다는 것을 바로 어제까지 몰랐으니 말이다. 주로 CD/DVD-ROM에 리눅스 배포판 이미지를 구워서 설치하는데 사용했었고, Universal USB Installer를 써서 USB 드라이브로 부팅하여 리눅스를 설치하기도 했었다. 이때에는 UEFI니 secure boot니 하는 것에 일절 신경을 쓸 필요가 없었다. 

아주 최근에는 Rufus를 써서 노트북 컴퓨터에 우분투를 설치하기도 하였다. 이 프로그램을 쓰게 된 것은 다음의 문구 때문일지도 모른다.
그리고 Rufus는 빠릅니다. ISO 이미지에서 Windows 7 설치 USB 드라이브를 만들 때 UNetbootin, Universal USB Installer, Windows USB download tool 보다 약 두 배 빠릅니다. 또, ISO 이미지에서 부팅 가능한 리눅스 USB 드라이브를 만들 때에도 더 빠르게 작동합니다.
그런데 윈도우 8.1 이미지를 USB 드라이브로 넣어서 Dell Inspiron 660s에서 설치를 하려는데 부팅이 안되는 것이었다. 윈도우 XP의 설치는 잘 되었는데 말이다. 어제 로켓배송으로 구입한 SanDisk USB 드라이브에 문제가 있나? 왜 윈도우 XP에서 인식이 안되지? 윈도우 XP에서 USB 드라이브를 NTFS 파일 시스템으로 포맷을 하는 것이 이렇게 복잡했던가? Rufus에서 파티션 방식/대상 시스템/파일 시스템을 건드려야 하는 이유를 알았다. 나는 아직까지 MBR 방식이 편하다.

윈도우 XP를 설치해 놓으니 제어판에는 노랑 물음표가 하나 가득이다. Driver Scape에서 윈도우 XP용 Dell Inspiron 660s용 드라이버를 제공하지만 이를 일일이 설치하고 점검하려니 보통 일이 아니다. 그런데 검색을 해 보니 이지드라이버팩이라는 것이 있었다. 드라이버 설치가 이렇게 편할 줄이야! 처음에는 호환 드라이버까지 몽땅 깔았더니 동작이 이상해져서 [전용]으로 표시된 것만 설치하였다.

같은 컴퓨터에 윈도우 8.1을 설치해 보았다. 다른 하드디스크 드라이브에 설치하여 듀얼 부팅이 되게 하였다. 기본적으로 드라이버가 알아서 설치되었지만 'PCI 단순 통신 컨트롤러'라는 것에는 노랑 화살표가 남았다. 이것이 도대체 무슨 장치일까? 인터넷에서 드라이버를 자동으로 내려받게 해 보았다. 시간이 좀 걸렸지만 결국 성공적으로 설치하고 보니 Intel Management Engine Interface라는 디바이스였다.

오늘의 목표는 컴팩 프리자리오 CQ61 노트북 컴퓨터에 윈도우 7을 설치하는 것이다. 여기에 리눅스를 설치하면서 복구용 파티션을 지워버린 것을 뼈저리게 후회하였다. 어렵사리 윈도우 ISO 파일을 구했으니 본체에 바닥에 붙어있는 제품키를 참조하여 설치하면 잘 되리라 믿는다. 그 다음에는 새 파티션을 마련하여 우분투 스튜디오를 설치할 예정이다. Dell Inspiron 660s는 윈도우 XP/8.1/우분투가 공존하게 만들 것이다.

몇 만월을 주고 윈도우 XP가 설치된 중고 컴퓨터를 구할 수도 있다. 그러나 그렇게 되면 배우는 것이 없다. 어려운 상황에 닥쳐서 직접 해결하는 것이 비로소 남는 경험이 된다.

2020년 7월 25일 토요일

Dell Inspiron 660s에 윈도우 XP를 설치할 수 있을까?

2012년 10월 구입하여 잘 사용해 오다가 2017년 9월 인스피론 3668에게 자리를 내어 준 인스피론 660s의 엉뚱한 재활용 방향을 구상하게 되었다. 하드웨어 사양은 다음과 같다.

  • 2세대 인텔® 코어TM i3-2120 프로세서(3.30GHz, 1333, 3MB, 2C) 1
  • 4GB DDR3 SDRAM, 1600MHz-1X4GB 1
  • 통합 8-in-1 미디어 카드 판독기 1
  • 3.5" 500GB 7200RPM SATA 하드 드라이브, 1X500GB 1 -> 나중에 1.8TB로 교체
  • HH SATA 트레이 로드 DVD+/-RW 1
  • NVIDIA® GeForce® 620 1G DDR3 (ML117N) 1
  • Dell Wireless 1506 (802.11 b/g/n) WLAN Half 미니 카드 1
구입 당시 설치된 OS는 윈도우 7이었다. 지금은 우분투를 설치하여 넷플릭스로 영화를 보는데 가끔 사용할 뿐이다. 여기에 윈도우 XP를 설치할 수 있을까? 원래 이 모델은 Dell에서 공식적으로 윈도우 7용 드라이버만을 제공한다. 그런데 흥미롭게도 Driver Scape라는 곳에 가면 윈도우 XP용 드라이버를 다운로드할 수 있다.

윈도우 XP가 설치된 컴퓨터를 마련하려는 데에는 대단히 절박한 사연이 있는 것은 아니다. Korg X2 Music Workstation의 내부 배터리를 교체했을 때 설정 상태를 되돌리려면 SysEx 파일을 컴퓨터에서 전송해야 하는데, X2가 워낙 오래 전 악기라서 요즘 컴퓨터 + USB MIDI interface로 전송을 하면 제대로 인식을 하지 못한다. 가장 무난한 것은 윈도우 XP + 조이스틱 포트가 달린 구형 사운드 카드 + 조이스틱 포트에 연결하는 MIDI interface였다.

내가 보유하고 있는 가장 오래된 컴퓨터인 Dell Inspiron 660s라면 윈도우 XP가 설치될지도 모른다는 가정 하에 다이소에서 공CD를 구입하여 Windows XP 32비트 iso 파일을 구워 넣은 다음 부팅을 시도하여 보았다. 비디오 출력은 본체에 달린 HDMI 단자를 이용하였다.


아주 잘 알려진 0x0000007B 에러가 난다. 구글을 뒤져보니 BIOS 셋업에서 SATA 모드를 바꾸면 될 수도 있다고 한다.


설정을 바꾸니 에러는 사라지고 디스크 파티션 메뉴까지 진행이 되었다. 윈도우 XP에서 AHCI 모드를 쓰려면 드라이버를 별도로 준비해야 한다고 한다(참고 SATA 컨트롤 모드 AHCI란?).

얼마만에 보는 윈도우 XP 설치 화면인가!
우분투가 설치된 상태이니 파티션을 적당히 조절하여 듀얼 부팅이 되게 만든 다음 본격적으로 윈도우 XP 설치를 시도해 볼 생각이다.

윈도우 XP가 설치된다 하여도 남은 문제가 있다. 조이스틱 포트가 있는 중고 PCI 사운드 카드를 구했다 치자. 알리익스프레스에서는 아직도 이런 사운드 카드를 판매하니 매우 반갑다. 그러나 인스피론 660s에는 PCI 슬롯이 없다.

인스피론 660s 메인보드의 구조. PCI Express x16과 x1 슬롯이 각각 하나씩 있다. 출처 링크.
PCI 카드를 PCI Express 슬롯에 꽂게 해 주는 어댑터가 존재하는 것은 다행이다(링크). 그러나 이를 쓰게 되면 컴퓨터 케이스를 닫지 못한다.  너무 귀찮은 일이 아닐까? 차라리 네이버 중고나라 카페에서 윈도우 XP가 설치된 중고 PC(슬림 케이스가 아닌)를 구해서 쓰는 것이 고생길에서 나를 구원하는 방법일지도 모른다.

즐거운 고생은 더 많은 경험을 남긴다. 기를 쓰고 이 길로 한번 가 보고 싶다!

2020년 7월 24일 금요일

네이버 블로그(2005-2015) 백업본에서 젊은 날의 추억을 불러내다

2005년 10월부터 2015년 3월까지 열심히 운영했던 네이버 블로그(http://blog.naver.com/jeong_0449 또는 http://jeong0449.blog.me)의 PDF 백업본은 자료 보관용 SATA HDD에 잘 저장된 상태였다. 몇몇 첨부 파일(동영상이나 다른 종류의 데이터)은 PDF 파일이라는 저장 방식 때문에 유실되었지만 사진은 그대로 존재한다. PDF 파일은 총 14개인데 작게는 6MB에서 큰 것은 75MB에 이르는 것도 있다. 개별 파일과 이를 합쳐서 손실 압축을 한 전체 파일을 일단 구글 드라이브에 올렸다.

2006년 미국 장기 출장 중에 주말을 이용하여 뉴욕을 여행했었다.

온갖 잡스런 취미에 몰두했었던 나의 30-40대가 여기에 고스란히 남아있었다. 독서 기록도 꽤 많다. 도서관에서 한번 대여한 책을 또 빌리지 않기 위해 간단한 기록을 하게 되었는데, 지금 파일을 확인하니 '내가 정말 이런 책을 읽은 적이 있었던가'싶은 생각이 드는 것이 대부분이었다. 정말이지 사람에게 기억이란 약하디 약한 능력이다.

백업본을 저장한 구글 드라이브 폴더를 아예 통째로 공개를 해 버릴지 고민하는 중이다. 네이버 블로그 상태였을 때에는 어차피 완전 공개 상태였지만, 화면을 하나씩 넘겨서 열람하는 것과 내용물 전체를 PDF 파일로 담아서 가져가는 것은 매우 다른 차원의 일이다. 만일 공개할 경우 가족들의 사진이 담긴 파일 자체가 여기저기 돌아다니게 될까 신경이 쓰인다. 저작권 같은 것을 강하게 주장할 생각은 없다. 내용은 누구나 열어보되 다운로드를 제한할 방법이 없을까? 검색을 해 보았더니 해결 방안이 나온다(링크)!

지금은 장성한 아이들이 어린 시절의 사진을 공개하는 것이 싫다고 한다면? 그러면 전면적으로 재검토를 해야 한다. 요즘 무척 많이 벌어지는 일 아니던가? 부모가 미성년 자녀의 모습을 찍어서 소셜 미디어에 올리는데 자녀에게 초상권에 대해 묻고 허락을 받는 사람은 없을 것이다. 그러나 성인이 된 자녀가 이를 내려달라고 법적 분쟁을 일으킨 외국 사례가 있지 않았던가? 심지어 이상한 취향을 가진 사람이 비정상적인 목적으로 아이들의 사진을 모으는 사례도 있다고 한다. 2019년 경향신문에 실린 관련 기사를 하나 소개한다.

[SNS와 초상권③]내 아이 사진 올리는데 뭐 어때? 초상권, 해외선 다르다
"지난 여름에 내가 직장을 구하려고 할 때는 나의 변호인이 부모가 올린 사진들이 고용에 방해가 될 수 있다고 조언했다"
내용은 누구나 열어보되 다운로드를 제한할 방법이 없을까? 검색을 해 보았더니 해결 방안이 나온다(링크)! 이렇게 해도 웹브라우저의 PDF 뷰어로 열린 화면을 캡쳐해서 가져간다면 그것까지 막을 생각은 없다. 어차피 과거 네이버 블로그 시절에도 공개를 했었던 것이니...

구글 드라이브의 파일 공유 시 다운로드 제한하기

구글 드라이브에서 공유할 파일을 선택하고 마우스 오른쪽 버튼을 눌러서 '공유'를 클릭한다. 이때 나타나는 메뉴에서 오른쪽 위의 톱니바퀴를 클릭하여 고급 설정으로 들어간다.


그러면 다음과 같은 창이 나올 것이다.


여기에서 아랫줄에 표시된 '뷰어 및 댓글 작성자에게 다운로드, 인쇄, 복사 옵션 표시'의 선택을 해제하면 원하는 바를 이룰 수 있을 것으로 생각한다. 물론 그 전에 가족들에게 과거 블로그 자료를 공개하는 것을 동의하는지 먼저 물어봐야 되겠다.

2020년 7월 22일 수요일

커피를 끊다

누군가 이런 말을 했었다.
"담배 끊는거 정말 쉬워. 지금까지 열 번도 더 끊었거든."
마지막이라고 주장하는 담배를 피우고 나서 다음번에 다시 담배를 꺼내 들기까지의 기간을 '끊음'이라 정의한다면 이러한 주장도 틀린 말은 아니다. 그러면 하루에 한 갑을 피우는 사람은  스무 번 끊는 셈이 된다. 중요한 것은 그 사이의 기간이 매우 길고, 다시 담배를 피우겠다는 생각이 들지 않아야 한다.

커피도 마찬가지가 아닐까? 나도 지금까지 여러 차례 커피를 끊었었다. 길게는 연 단위로 커피를 마시지 않아서 주변에 커피를 마시지 않는 사람으로 알려진 적도 있었다. 약 열흘 전까지는 종류를 가리지 않고 커피를 마셨다. 사무실에서는 주로 인스턴트 믹스커피를 즐겼다. 아침에 출근을 하면 맑은 정신을 차리기 위해, 식후에는 입가심을 위해, 오후에는 졸음을 쫒고 업무 능률을 올리기 위해, 주말에 아내와 같이 카페를 가면 조각 케익을 곁들여 먹기 위해... 커피를 마시고 나면 속이 더부룩하게 느껴지는 것은 중년 남자라면 누구나 겪는 일이라고 생각했다. 한때는 볶은 커피 원두를 사다가 집에서 갈아서 핸드 드립을 내리기도 하였고, 가정용 에스프레소 머신을 쓰기도 했었다.

지난 7월 11일 토요일에 대학 병원에서 정기 건강 검진을 하였다. 언제나 변함없이 내시경 카메라에 잡히는 위축성 위염의 소견을 보았다. 역류성 식도염은 자국만 남은 채 깨끗이 다 나았다고 했다. 그렇다면 위축성 위염도 잘 관리하면 나을 수 있지 않겠는가? 혹시 커피를 마시지 않으면 호전될지도 모른다는 생각이 들었다.

주말을 보내고 나서 즉시 모든 커피를 끊었다. 아침에 출근을 하자마자 탕비실에서 커피믹스를 찾던 버릇을 없애는 것은 쉽지가 않았다. 그런데 놀랍게도 바로 그날부터 속이 편안한 것이 아닌가? 커피를 마심으로 인해서 잠깐 동안 입 안과 뇌가 느끼는 즐거움보다, 속이 편안한 것이 훨씬 중요한 가치임을 금세 깨달았다. 그리고 편의점에서 생수 말고는 건강하게 마시기 좋은 음료가 의외로 적다는 것도 알았다. 녹차를 가장한 음료가 있었으나 너무나 달았다.

오늘로써 커피를 끊은지 열흘이 지났다. 오후 세 시, 평소 같으면 커피가 생각날만한 시간이다. 그러나 정수기에서 뽑은 물을 마시며 잘 견디고 있다. 속은 정말 편안하다. 소화기관이 제 일을 하면서 나에게는 아무런 불편한 신호를 보내지 않는 것이다. 이게 정말 얼마만이었던가? 그리고 밤에 잠을 잘 자게 된 것도 더불어 얻게 된 잇점이다.

모든 사람이 나처럼 카페인에 민감한 것도 아니다. 아침마다 카누 두 개를 뜨거운 물에 타서 마시는 딸아이를 보면서 좀 줄여서 마시라고 하고 싶지만, 위가 튼튼하다면 즐겨서 나쁠 것이 무엇이겠는가? 세상은 원래 공평하지 않은 법이다.

네이버 시절의 블로그 자료를 되살릴 것인가?

jeong_0449라는 이름으로 네이버에 가입하여 블로그를 운영하던 일이 있었다. 개인정보가 털려 나간 것 같다는 생각에 자료를 백업한 뒤 탈퇴를 하고 이곳 구글 블로그만 작성해 오다가 비교적 최근에 genoglobe라는 이름으로 네이버에 다시 가입하였다. 네이버의 블로그는 활성화하지 않은 상태이며, 단지 몇몇 카페에 가입하여 주로 정보를 읽기만 하고 있다.

과거 네이버에서 사용하던 블로그 주소는 'http://jeong_0449.blog.me/'였다. 지금도 구글을 뒤져보면 내 블로그의 자료를 링크하거나 인용한 웹 문서가 아직도 존재함을 확인할 수 있었다. 원본이 없으니 이제는 무의미한 정보가 되고 말았다.

가족들과 남긴 사진, 그리고 취미와 관련한 많은 자료들이 있었는데 지금 생각하니 이렇게 허무하게 폐쇄해버릴 성질의 것은 아니었다. 거기에는 Korg X2 음원 디스크(플로피!)를 로드하여 SysEx로 덤프한 파일 등 첨부된 자료도 몇 가지 있었다. 이렇게 올렸던 원본 파일은 백업용 하드 디스크 드라이브에 존재함을 지난 주말에 확인하였다.

과거의 네이버 블로그 전체를 PDF로 백업해 둔 것이 어디에 있을까? 아마 백업 매체 어딘가에 들어 있을 것이다. 이를 다시 찾아서 일단 구글 드라이브에 올려 놓아야 되겠다. 만약 관리 소홀로 사라져 버렸다면 너무 아깝다!

Korg X2에 SysEx를 보내기 위한 윈도우9x/XP 컴퓨터를 하나 구해 볼 생각도 요즘 조금씩 하고 있다. 만약 내장 리튬 배터리가 소모되어 교체를 하게 되면, 재설정 작업이 필요하기 때문이다. 투알라틴 셀러론 CPU를 써서 조립했던 집 컴퓨터가 기억이 난다. 그걸 지금까지 갖고 있었더라면 좋았을 것을... 며칠 전에는 기록과 물건을 남기지 말자는 글을 쓰고서는 이제 와서는 '버림'을 후회하고 있다.

2020년 7월 14일 화요일

우분투 스튜디오에서 rosegarden 작동시키기(MIDI 및 오디오 녹음 작업)

우분투 20.04 LTS에 바탕을 두고 있는 우분투 스튜디오에서 rosegarden을 이용하여 미디 기기를 제어하고 녹음을 하는 방법을 기록하고자 한다. Xfce 데스크탑에서 한글 입력기인 fcitx를 설정하는데 서툴러서 애를 먹었다. 터미널에서는 한/영 전환이 자유롭지만, 파이어폭스에서 한/영 전환을 하고자 오른쪽 [Alt] 키를 누르면 메뉴가 튀어나와서 도저히 한글을 입력할 수가 없었다. 구글을 뒤지니 이 불편함의 해결 방안을 묻는 질문과 답이 많이 있는 것을 발견하였다. 사람들을 아주 곤란하게 만드는 파이어폭스의 고유 기능이었다.

How to disable menu popping up when I press ALT key

fcitx는 한자 입력에 치중한 입력기이다. 한글을 치면 작은 창이 열리면서 음절 혹은 단어 단위로 변환 가능한 한자가 보인다. 이 상태에서 그대로 엔터를 치면 한자가 입력된다. 스페이스바를 쳐야 비로소 한글 형태로 남는다. 구글 검색창에서 한글 단어만 입력하고 엔터를 치던 버릇을 고치지 않으면 한자가 입력되니 주의해야 한다!


오늘의 작업 환경은 ICON 미디 키보드(5Nano)와 사운드캔버스 SC-D70을 USB로 연결한 것이다. 모니터를 위한 헤드폰은 SC-D70에 연결하였다. 터미널에서 lsusb를 실행하면 "iCON"과 "Roland Corp. SC-D70"가 잘 나타난다. Ubuntu Studio Controls의 Audio Setup에서 USB 디바이스(SC-D70)이 제대로 설정되어 있는지 확인하면 더욱 안심이다.

우선 간단히 MID 파일을 명령행에서 재생해 보자. 소프트웨어 synth인 Qsynth를 구동하고 포트 번호를 확인한 뒤 aplaymidi로 재생을 한다.

$ aplaymidi -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 20:0    SC-D70                           SC-D70 Part A
 20:1    SC-D70                           SC-D70 Part B
 20:2    SC-D70                           SC-D70 MIDI
 24:0    iCON iKeyboard 5 Nano V1.06      iCON iKeyboard 5 Nano V1.06 MID
129:0    FLUID Synth (3185)               Synth input port (3185:0)
$ ls *mid
Flourish.mid  canyon.mid  deb_prel.mid
$ aplaymidi -p 129:0 deb_prel.mid 

이때 SC-D70은 외장 사운드카드(또는 오디오 인터페이스) 역할을 한다. 포트번호(-p or --port)를 20:0으로 바꾸면 SC-D70의 화려한(? Qsynth에 비해서는...) 연주를 들을 수 있다. 아직까지는 QjackCtl에 신경을 쓰지 않아도 된다.

키보드로 SC-D70을 연주하고 싶은가? 두 기기를 직접 미디 케이블로 연결하고, INST LEVEL 버튼을 누른 상태에서 SC-D70의 전원을 넣어서 MIDI 모드로 작동하게 만들면 된다. 그러나 지금 상태처럼 두 기기가 전부 컴퓨터에 연결된 상태라면, QjackCtl을 실행하여 ALSA 탭에서 두 장비를 연결하면 그만이다. iCON 키보드는 MIDI IN과 OUT 모두에 대응하니 주의해야 한다.

스크린샷 이미지를 크롭하여 올리는 것이 정답이겠으나 우분투 스튜디오에서 이런 용도로 간단하게 쓸 수 있는 프로그램(그림판에 해당하는)이 뭔지를 아직 찾지 못했다.

자, 그러면 rosegarden을 실행해 보자. Flourish.mid 파일을 임포트한 뒤 이를 SC-D70으로 재생하면서 오디오 트랙에 녹음을 하는 것이 목표이다. Rosegarden을 실행하기 전에 QjackCtl의 Connect를 클릭하여 나타나는 창에서 Audio 패널의 상태는 다음과 같을 것이다. Audio 패널에서는 SC-D70이 보이지 않는다(ALSA에는 당연히 있다).


Rosegarden을 실행한 뒤 다시 Connect 창을 살펴보자. 이렇게 바뀌어 있을 것이다. System의 capture에서 Rosegarden의 record 1로 신호가 들어감을 확인하라. 이 연결 상태를 건드리지 말아라!

이 화면을 이해하는 것이 정말 어려웠다. 솔직하게 말하자면 아직도 제대로 이해하지 못했다. 단지 이 연결 상태를 바꾸면 rosegarden에서 녹음이 제대로 되지 않는다는 것을 알았을 뿐이다.

MIDI 파일을 rosegarden으로 임포트한 상태에서 재생 버튼을 눌러서SC-D70에서 소리가 제대로 나는지 확인한다. 그렇지 않으면 Studio->Manage MIDI Devices에서 MIDI Playback에 SC-D70이 나타나도록 조정하면 된다. 다음으로 녹음할 오디오 트랙을 설정해야 한다. Rosegarden에서 1-16번 트랙은 MIDI, 17-32 트랙은 오디오에 해당한다. 미디 파일을 재생과 동시에 오디오 파일로 녹음을 하려면, SC-D70의 REC SOURCE 버튼을 반복하여 눌러서 INST+WAVE를 선택해야 한다.

맨 왼쪽의 INST+WAVE에 불이 들어와 있어야 한다. 다른 소스와 조합이 되어 있는 것은 상관이 없다.

새로운 트랙(17번)을 만든 뒤, 입력을 Audio #1로 설정한다. 이 트랙의 arm을 켠 뒤, 빨강 버튼을 눌러서 녹음을 시작하면 레벨 미터가 움직이는 것이 보일 것이다. 만약 메트로놈 소리까지 녹음이 된다면, Studio -> Manage Metronome에서 적절히 손을 대서 소리가 나지 않게 한다.

미디 파일을 SC-D70으로 재생하면서 rosegarden 안에서 녹음하는 방법을 겨우 알아냈고, 이를 바탕으로 직접 키보드를 두드려서 드럼과 베이스, 오르간으로 구성된 아주 간단한 네 마디 짜리 곡을 녹음해 보았다. 중학생 실습 수준도 안되는 것이라서 여기에 올릴 형편은 되지 못한다. 리눅스에서 rosegarden을 이용하여 녹음하는 방법을 이제 겨우 알아냈으니 아주 조금씩 익혀 나가면 되리라.

내장 사운드 카드를 쓰는 경우

노트북 컴퓨터에 우분투를 설치하여 음악 재생을 하다 보면 불편한 점이 하나 있다. 내장 스피커로 음악을 듣다가 헤드폰을 연결하면 즉시 전환이 이루어지지 않는다는 점이다. 반대의 경우도 마찬가지이다. 구글을 검색하면 터미널 창에서 alsactl restore를 입력하면 된다고 한다. 왜 번거롭게 이렇게까지 해야 하는지 잘 모르겠다.

USB 단자에 오디오 인터페이스이자 음원인 SC-D70을 연결하지 않은 상태에서 rosegarden을 통해 녹음을 하는 경우를 생각해 보자. 대신 Qsynth를 음원으로 한다면, rosegarden을 실행한 상태의 QjackCtl은 다음 그림과 같이 조정을 해야 한다. 원래 rosegarden의 녹음 입력은 system의 capture에 연결된 상태였다. 이를 끊고 나서 Qsynth와 연결을 해야 rosegarden에서 Qsynth로 재생되는 미디 파일을 오디오 트랙에서 녹음할 수 있다. 

USB 단자로 연결한 음원 모듈은 Audio 패널에 보이지 않지만, 소프트웨어 음원인 Qsynth는 보인다.

PulseAudio...

Pulse in/out은 도대체 무엇을 하는 녀석들인지 아직도 이해하지 못하였다. Jack과 PulseAudio의 위험한(?) 공존이 계속되도록 그 균형을 깨지 않는 것이 중요하다. 언젠가는 둘 사이의 관계와 기능을 완벽하게 이해할 날이 올 것을 기대한다. 우분투 스튜디오의 다음 버전에서는 Jack이 PulseAudio를 완전히 밀어낼지도 모르지만 말이다. 일단 확실한 것은, 다음 버전에서는 Xcfe 데스크탑을 더 이상 사용하지 않는다는 것이다(No More Xcfe! Ubuntu Studio Ditches Xfce for KDE).

Ask Ubuntu의 How can I tell if I'm using alsa or pulse-audio by default도 기본 개념을 잡는데 도움이 된다.

다음은 Jack의 입장에서 작성된 글이다.

How to use PulseAudio and JACK? (4 options available)
  1. Don't use PulseAudio with JACK
  2. Use two different soundcards
  3. Route PulseAudio to JACK while JACK is running
  4. Suspend PulseAudio while JACK is running
이 웹문서에서 소개한 WalkThrough User PulseOnJack도 읽어볼 가치가 있다. 마지막으로 PulseAudio를 이용한 loopback 설정에 관한 글을 몇 개 소개한다. 오디오와 관련하여 루프백이 무엇인지, 그리고 이것이 나에게 필요한 것인지는 아직도 모른다.
국문 웹사이트를 검색한 결과 루프백이란 컴퓨터에서 나는 모든 소리를 입력 채널로 돌려주는 기능으로, 과거 윈도우 XP 사운드카드에서 그러한 루프백 기능이 있는 채널 이름이 스테레오믹스 채널이었다고 한다(쿠오넷 관련 글).

한동안 진공관 앰프를 만드느라 납땜질에 그렇게 열을 올리더니 이제는 그 관심이 엉뚱한 곳으로 흘러가고 있다. 전혀 새로운 취미는 아니다. 20년쯤 전에 열을 올리던 분야였으니 말이다. 두 취미 사이에 '음악'이라는 공통점은 분명히 존재한다. 다시 자전거나 망원경, 사진에 관심을 갖게 될 날이 올지도 모른다.

기록과 물건을 남기지 않기

별로 쓸모도 없으면서 자리만 차지하는 물건을 버리게 되는 가장 중요한 계기는 바로 '이사'다. 짐을 싸려면 내가 소유한 모든 물건을 전부 꺼내야 하고, 이에 대한 재평가를 하게 된다. 쓸모가 있을 것으로 생각하여 짐을 꾸리고, 이 물건들은 새로운 장소에 가서 다시 펼쳐져서 계속 쓰이게 된다면 매우 다행스러운 일이다. 하지만 어떤 물건들은 그대로 수납공간에 들어가서 다음번 이사를 갈 때까지 햇볕도 한번 쐬지 못한 상태로 잊혀지게 된다. 이런 물건은 첫 이사를 하면서 짐을 꾸릴 때 과감히 버렸어야 한다.

헐리우드 영화에서 퇴사 통고를 받은 직장인이 종이상자 하나에 주섬주섬 짐을 챙겨서 사무실을 나서는 장면을 흔히 보게 된다. 그만큼 업무 공간에 개인 짐을 많이 부려놓지 않았다는 뜻이 된다. 나도 사무실을 비교적 자주 옮기는 편이라 짐을 조금씩 줄이는 습관을 갖고 있었다. 작년 4월, 파견근무지로 오면서 업무에 꼭 필요할 것으로 생각했던 책과 논문 인쇄본을 약간 들고 왔다. 논문 인쇄본은 일년이 넘도록 수납장 속에서 잠들어 있고, 가져온 책 중에서 가끔이라도 펼쳐보는 것은 손가락에 꼽을 정도이다. 이럴 줄 알았으면 짐을 좀 더 줄여서 가져오는 것이 나을 뻔하였다.

아이들도 장성하여 집에 머무는 시간이 적어져서 원래 올해쯤에 집을 수리할 계획을 갖고 있었다. 그러면 이사를 하는 것과 마찬가지로 잡동사니들을 자연스럽게 정리하게 될 것이라 생각했었다. 그러나 코로나-19로 인하여 경제를 비롯한 모든 활동이 위축되면서 집 수리 계획은 내년으로 미루기로 했다. 집은 좁고, 책이나 취미 등을 위해 사들인 물건들이 발 디딜 틈 없이 쌓이는 현실을 타개할 아주 좋은 기회였는데 말이다.

우리집에는 그렇게 책이 많다고는 생각하지 않는다. 그러면서 정리를 논하는 것이 좀 우습다. 거실에서 남쪽을 향해 자리잡은 책장에 꽃인 책들은 점점 변색이 되는 중이다. 꼭 소장하고 싶은 책만 100권 이내로 줄이고, 새로운 책을 들이는 만큼 흥미가 떨어진 책을 처분하는 방식을 택할 것인가? 이런 방식을 택할만큼 집이 책으로 넘쳐나지는 않지만 말이다. 정말 없애고 싶은 책은, 제출하고 남은 학위 논문과 이를 만들기 위해 사용한 원고이다. 학문이 뭔지도 잘 모르는 철없던 시절에 어설프게 쓴 것이라서 갖고 있기가 너무 부끄럽다. 이제는 새 직장에 지원하기 위해 학위논문 책자를 제출할 일도 없고, 이를 소장함으로 인해서 세상의 지식에 더 기여하는 바도 없다. 후대에 기억될만한 과학자가 되어 박물관에 전시할 유물이 될 가능성은 전혀 없다.

디지털화한 '기록'을 계속 갖고 있는 것이 정말 필요한가? 내가 기억하지 못한 순간에 동의 버튼을 클릭하면서 저절로 생성된 갖가지 기록이 거대 IT 서비스 업체로 흘러들어가는 것은 어떻게 할 것인가? 디지털화된 기록은 당장 나에게는 공간을 차지한다는 생각이 들지 않지만, 기록 남기기에 너무 몰두하면서 정작 그 순간을 즐기지 못하게 한다. 사진 기록을 통해 추억을 더욱 선명하게 되살릴 수 있다는 것은 분명한 순기능이나, 정작 현장에 있었던 과거 그 순간에는 휴대폰을 매만지느라 당시를 즐기지 못했을 수도 있는 것이다.

빅데이터와 인공지능이 세상의 모든 문제를 해결해 줄 것만 같은 시대를 살고 있다. 어떠한 형태의 기록물이든(즉, '데이터') 일단 버리지 말고 저장해 두면 컴퓨터가 이를 해석하여 으미 있는 결론을 만들 수 있다는 기대에 부풀어 있다. 그렇다면 내가 지금 버릴까 말까를 고민하는 물건이나 기록들을 결국 폐기한다는 것은 결코 미덕이 아니라는 뜻도 된다. 무엇이 정말 옳은 일일까.

2020년 7월 8일 수요일

우분투 스튜디오로 분위기를 바꾸어 보다

낡은 노트북 컴퓨터에 우분투를 설치하여 Rosegarden을 이용한 MIDI + 녹음 작업을 좀 해보려 하였었다. 왜 까다로운 우분투를 선택하였나? 그것은 내가 장난감처럼 사적인 용도로 마구 굴려도 되는 노트북 컴퓨터는 이것 뿐이고, 너무 오래된 제품이라 윈도우로는 도저히 쓸만한 속도가 나지 않기 때문이었다.

ALSA나 PulseAudio, JACK 같은 생소한 것들(드라이버와 일반 application까지 그 레벨은 전부 다르다)을 매만지면서 소리가 났다 안났다하는 상황이 반복되었다. 구글을 검색하여 해결 방안을 계속 찾아보았지만 현재 수준으로는 내가 온전히 믿고 따를 수 있는 일관된 방법을 수립하기가 너무 어려웠다.

그래서 그래픽 및 멀티미디어 작업에 특화된 리눅스 배포판인 우분투 스튜디오(Ubuntu Studio)를 설치해 보기로 하였다. ISO 파일을 다운로드한 후 우분투에서 기본 제공하는 시동 디스크 만들기(Startup Disk Creator)를 이용, USB 스틱에 써 넣은 다음 부팅을 하였다. 휴대폰으로 찍은 설치 화면은 다음과 같다.






리눅스용 최고의 DAW 소프트웨어로 소개된 Ardour, Audacity 및 LMMS가 기본적으로 포함되어 있다(엇, LMMS는 아닌가? 나중에 확인 요망). Rosegarden만이 유일한 해결책이라고 생각했었던 것은 성급한 판단이었다. 인터페이스나 간결함은 우분투 스튜디오가 '표준' 우분투보다는 나아 보였다. Xfce 데스크탑을 탑재하여 우분투가 기본으로 제공하는 ubuntu-desktop(Unity)보다는 가벼운 느낌이다. 화면에 표시되는 글꼴도 기본 데스크탑보다는 적당히 작아서 노트북을 쓰는 불편함을 많이 덜어 주었다. 한글화는 꽤 잘 되어 있었다. 그러나 한글을 화면에 표시하는 것과 입력하는 것은 별개의 문제이다. 우분투에서 한글 입력이 가능하게 하는 방법은 늘 헷갈린다. 어떻게 하다 보면 원하는 것을 결국 이루기는 하는데 다른 사람에게 설명을 하거나 글로 적으려면 어떤 규칙에 의해서 했었는지 도무지 기억이 나질 않는다.

우분투에서는 USB 포트에 꽂은 장비가 QjackCtl에서 보였다 안보였다를 반복하며 인내심을 시험하였었는데, 우분투 스튜디오에서는 그렇지 않았다. Ted's Linux Midi Guide에서는 최신의 ALSA가 필요한 일을 다 해주고 있으니 pulseaudio를 되도록 쓰지 말라고 하였지만(아래 인용문 참고), 우분투 스튜디오에서는 PulseAudio Volume Control(pavucontrol 명령어)을 비롯하여 굳건히 서비스를 하고 있다.
pulseaudio sits on top of ALSA and, in theory, adds some sort of value. I'm guessing that a long time ago, ALSA didn't offer support for multiple applications accessing a soundcard at the same time (multiplexing). pulseaudio does this. However, ALSA has since added multiplexing, and pulseaudio seems rather useless to me. So, for our purposes, pulseaudio is simply something that gets in our way.
내가 지금 하려는 작업이 QjackCtl이 필요한 상황인지를 빨리 파악하는 것이 관건이다. 단지 컴퓨터에 저장된 음원 파일을 듣거나 웹브라우저에서 유튜브를 감상하기를 원한다면 QjackCtl과 Qsynth가 필요하지 않다.
<= 엄밀히 따지자면 이 생각은 틀렸다. QjackCtl을 직접 건드리지 않아도 뒤에서 JACK은 돌아간다. 우분투 스튜디오의 사운드 제어는 [Ubuntu Studio Controls]를 건드려서 하는 것이 기본이다.

USB 포트도 정비가 필요하다. 노트북 컴퓨터에 있는 3개의 USB 포트 중 하나가 접속 핀이 내부에서 구부러져서 쓸 수 없는 상태이다. 무전원 USB 허브를 써서 마스터키보드를 연결하면 인식이 불량해진다. 마스터키보드에 전원 어댑터를 연결하든, 유전원 USB 허브를 쓰든, 아니면 마우스를 블루투스 접속이 되는 것으로 바꾸든 해야 된다.

어른 장난감의 세계에 너무 깊게 빠져드는 것은 아닐까...

2020년 7월 6일 월요일

Circlator fixstart 작업의 실수 - 모든 contig를 대상으로 fixstart를 해서는 안된다!

Circlator all 명령으로 circlator의 모든 과정을 일괄적으로 실시하는 것이 아니라 개별 task를 실행할 때가 있다. 특히 fixstart를 할 일이 많다. 요즘 nanopore에서 시퀀싱한 long read와 같은 샘플에서 유래한 일루미나 read를 같이 다루면서 circlator를 다시금 열심히 사용하고 있는데, contig가 여러 개인 경우 circlator fixstart를 함부로 하면 안된다는 평범한 사실을 이제 깨달았다.

생각해 보라. 원형 구조임이 확인되지 않은 contig에 대한 fixstart란 무슨 소용이 있단 말인가? 이를 대비하여 fixstart를 건너뛸 contig의 목록을 미리 만들어 둔 다음, cicrlator fixstart --ignore FILENMAE으로 처리해야 하는 것이었다.

너무나 당연한 것을 이제 깨달았다. 혹시 그동안 NCBI에 이미 등록하여 공개한 세균 유전체 서열 중에서 이런 실수를 한 것이 있지 않았을까?

Flye assembler가 만들어 내는 assembly_info.txt 파일을 열어보면 circular 구조 여부가 이미 포함되어 있다. Canu assembler는 circular 구조임을 제안했다 하여도 circularization까지는 해 놓지 않는다. 그러나 flye는 circularization을 해 놓은 상태이다. 따라서 circ. = N으로 표시된 contig를 circlator fixstart를 할 때 제외하도록 만들면 된다. 제외한 contig의 목록 파일은 awk 명령어를 쓰면 assembly_info.txt에서 간단히 만들 수 있다.

다음은 flye의 GitHub 웹사이트에서 인용한 것이다(Question about circular sequence output).
The sequence should be circularized already. Some people reported that Flye might delete a few (~10) bases at the contig's breakpoint. We are planning to fix this in the future. See the Ryan Wick's evaluation for the details (https://github.com/rrwick/Long-read-assembler-comparison).

Rosegarden에서 녹음한 미디 파일(FluidSynth)

iCON 키보드로 실시간 입력을 하여 녹음을 한 뒤 인터넷에 공개할 수준은 아직 전혀 되지 못한다. 오늘의 목표는 리눅스 환경의 Rosegarden에서 미디 파일을 재생하면서 오디오 트랙으로 녹음을 하고, 이를 mp3로 전환하는 것이었다. 펌웨어를 V1.06으로 업그레이드한 iCON 5Nano는 Rosegarden에서 FluidSynth를 잘 울려 주었다. 별도의 USB audio interface는 쓰지 않고 컴퓨터의 내장 사운드 카드를 그대로 이용하였다.

QJackCtl에서 입출력 연결을 제대로 해야 오디오 트랙에 제대로 녹음이 된다. 아래는 기본 상태로서 이대로 녹음을 하면 노트북 컴퓨터의 내장 마이크로 들어오는 신호가 녹음이 되어 버린다. 드뷔시의 피아노 곡 미디 파일을 오픈하여 사용하고 있다.


아래 스크린샷에서 보인 것처럼 fluidsynth의 출력을 rosegarden의 녹음 입력으로 보내야 한다.


오디오 녹음을 위한 트랙을 새로 만들고 arming을 한뒤 'T'를 입력하여 Transpose 창을 열고 빨간 버튼을 눌러 녹음을 개시한다. 메트로놈 사운드는 꺼 버렸다. 녹음 시 모니터 출력으로는 메트로놈이 들리지만 녹음용 트랙으로는 들어가지 않게 하는 방법이 당연히 있을 것이다. 아래 이미지는 녹음 중의 모습이다.


녹음이 정상적으로 끝나면 오디오 트랙에 파형이 보인다.


녹음 결과물은 .wav로 기록된다. 이를 audacity에서 mp3로 전환하였다. 그 결과물을 아래에 링크하였다.



Audacity에서 아무런 수정을 하지 않고 그대로 전환을 한 것이라서 듣기에 어떠한지는 나도 잘 모르겠다.

리눅스에서 Rosegarden을 쓰는 방법은 Demonic Sweaters(Justin Wierbonski LinkedIn)의 유튜브 동영상을 많이 참조하였다. 아직까지 매우 기본적인 기능만을 쓰는 중이다. 아래에 소개한 동영상 중에서 마지막 세 개는 리눅스 컴퓨터에서 음악 작업을 하는데 매우 중요한 개념을 잘 설명하고 있다. 노트북 컴퓨터의 내장 스피커로 모니터링을 하다가 헤드폰을 연결하면 소리가 즉시 헤드폰으로 전환되어 나오지 않는 사소한 문제는 아직 해결하지 못했다.






다음 목표는 USB audio interface를 Rosegarden에서 쓰는 것이다. 노트북 컴퓨터의 USB 포트가 두 개뿐이라서 키보드(타자를 위한 키보드가 아니라 MIDI keyboard controller)와 마우스까지 연결하려면 아마도 USB 허브를 써야 될 것이다. 유전원 USB 허브가 필요할까? 아직 잘 모르겠다. USB audio interface는 Behringer UCA200일 수도 있고, 사운드캔버스 SC-D70이 될 수도 있다. NanoPiano의 소리를 녹음하려면 오디오 인터페이스를 반드시 써야만 한다.

장난감의 범위가 점점 넓어진다!

2020년 7월 5일 일요일

iCON iKEYBOARD 5NANO를 구입하다


낙원상가 3층에 자리잡은 (주)엠앤에스. 306이라는 호실 표시가 선명하다. 
우연히 구하게 된 사운드캔버스 SC-D70와 나노피아노의 화려한 부활을 위해 마스터 키보드를 구입하게 되었다. 요즘은 마스터 키보드에서 5핀 DIN 커넥터가 점점 사라지고 USB로 컴퓨터에 연결하여 DAW 소프트웨어를 구동하게 만드는 추세라서 구식 사운드 모듈에 MIDI 케이블을 연결하여 쓸 키보드를 낮은 가격대에서는 구하기가 쉽지는 않다.

토요일 오후, 낙원악기상가 3층 306호에 위치한 (주)엠앤에스를 찾아서 Korg의 microKEY와 iCON의 iKEYBOARD 5NANO를 놓고 휴대성과 편의성 사이에서 고민하다가 결국 iCON의 것을 골랐다. USB 연결만 지원되는 키보드는 아이패드와 유전원 USB 허브, 그리고 USB MIDI 케이블을 이용하면 어떻게 해서든 구식 사운드 모듈을 연결할 수 있을 것 같았으나 아무래도 사용이 번거로울 것 같았다. iCON 5NANO는 디자인도 깔끔하고 생각보다 그렇게 무겁지 않았다(3.87 kg). 크기는 806 x 189 x 72 mm이다. 파견 근무지 숙소의 작은 책상 위에 가까스로 올라간다. 키 터치 느낌은 그런대로 합격점이다. 

출처: ICON Pro Audio. 현재 iCON 제품의 공식 수입처는 HDC영창이다. 

MIDI 케이블로 외장 모듈을 연결하면 아주 잘 작동한다. 그러나 컴퓨터에 연결하여 쓰는 것은 아직 익숙하지가 않다. 상자에는 BITWIG 8 track 제품이 번들되었다는 스티커가 붙어 있는데, 동봉된 CD-ROM과 인쇄물을 아무리 뒤져봐도 시리얼 번호를 찾을 수가 없어서 설치를 제대로 할 수 없었다. 이게 아니더라도 무료로 풀린 Cakewalk이 있으니 별 문제는 없을 것이다. 설정 변경 프로그램인 iMap을 버전 1.17로 바꾸고 펌웨어도 1.06베타로 업그레이드를 하였다. iMap을 업그레이드하니 펌웨어를 미리 다운로드하지 않아도 되는 것 같다. 펌웨어 업그레이드와 관련하여 자잘한 일들이 있었지만 일일이 블로그에 기록할 수준의 것은 아니다.


ASIO4ALL을 설치하고 일단 Cakewalk에서 이 키보드를 건드려서 Cakewalk TTS-1의 소리가 잘 나는 것을 확인하였다. 리눅스에서는 펌웨어 버전에 따라서 동작 상황이 조금 다른 것 같다. 리눅스에서 Rosegarden을 이용하여 녹음 작업이 되게 만드는 것이 당장의 목표이다.

대충 마련한 방구석 스튜디오.


2020년 7월 1일 수요일

Long read용 de novo assembler는 왜 이렇게 많은지...

일루미나 데이터의 조립에는 전적으로 CLC Genomics Workbench에 의존하면서 가끔 SPAdes를 사용하는데 반하여 long read sequencing data의 조립용 도구는 종류가 더 많아서 선택이 어렵다. 현재까지는 Canu 2.0을 신뢰하는 편이고 UniCycler도 비슷한 정도로 사용한다. UniCycler는 hybrid assembler이지만, long read만 제공하여 조립을 할 수도 있다. 내부적으로 돌아가는 것은 miniasm/racon이다. UniCycler를 miniasm/racon용 wrapper로 사용하려는 생각을 며칠 전부터 하고 있다.

F1000Research에 UniCycler의 개발자인 Ryan R. Wick이 여러 long read assembler를 prokaryote genome 조립용으로 벤치마킹한 논문을 실었다. 여기에서는 무려 일곱 가지의 de novo assembler -  Canu, Flye, Miniasm/Minipolish, NECAT, Raven, Redbean and Shasta - 를 비교하였다.

Benchmarking of long-read assemblers for prokaryote whole genome sequencing [version 2; peer review: 4 approved]

F1000Research는 일종의 개방형 저널로서 투고와 리뷰 과정이 전부 공개되는 것으로 알고 있다. 이러한 저널에 IF를 붙이는 것이 옳은지는 모르겠으나 2019년도 IF는 2.64이다. 연구뿐만이 아니라 의견이나 네거티브 데이터에 관한 논문도 받는다니 여러모로 혁신적인 학술지라 할 수 있겠다.

Ryan R. Wick의 이번 논문에 의하면, Flye와 Miniasm/Minipolish에 가장 높은 점수를 주었다고 한다. 하지만 조립과 관련된 모든 수치를 만족시키는 최고의 assembler는 없었다고 한다. 상황이 이러하니 canu만 편식할 것이 아니라 flye에도 관심을 갖지 아니할 수가 없다. Flye라는 assembler가 나왔다는 것을 작년쯤 알게 되었을 때에는 '무슨 이름이 이렇지?'하고 그냥 지나갔는데, 논문은 무려 Nature Biotechnology(2019)에 실렸다! 사람이란 참 간사해서 논문 정보에 눈히 확 뜨이면서 비로소 관심을 더 갖게 되었다... 논문의 저자 Mikhail Kolmogorov, Jeffrey Yuan, Yu Lin & Pavel A. Pevzner 중 교신저자는 바로 그 유명한 Pevzner였다. 위키피디아를 찾아보니 Pevzner의 지도교수는 Michael Waterman이었다. 유명한 사람은 다 나오는구나...

Assembly of long, error-prone reads using repeat graphs (Flye 논문)

Conda 환경에 설치를 해 놓은 뒤 테스트할 궁리를 하는 중이다. 옵션 중에서 특히 흥미를 끄는 것은 --plasmids와 --asm-coverage-option이다. 거대 유전체를 조립할 때에는 메모리 사용량을 줄이기 위하여 longest read의 subset을 선택하여 사용하는 것이 좋은데, 이때 쓰이는 것이 --asm-coverage-option이라 한다. 30x면 good initial contig를 만들 수 있고, 보통 40x 정도면 'good disjointig(unitig와 비슷한 용어인가?)'를 만드는데 충분하다고 한다. 하지만 최종 단계에서는 모든 read가 전부 다 쓰인다고 한다. 대단히 현명하다.

어떤 결과가 나올지 당장 테스트를 해 보고 싶은데 지금은 6개 샘플의 UniCycler(long reads only) 조립 중이라서 몇 시간은 더 기다려야 한다.