2016년 10월 14일 금요일

스피커통 개조 계획

스피커 드라이버(유닛)의 구경을 키우면 내가 지금 겪고 있는 문제가 해결될 것만 같은 착각이 빠진 상태이다. 비싼 유닛을 쓸 생각은 별로 없다. 국산 삼미의 6.5인치급 중에서 골라 보련다. (1) PA 스피커로 구분되는 천장용 스피커 유닛인 HA-165B60과 (2) 음악용 우퍼인 CWR-165B50AT가 고려의 대상이다. 두 스피커의 SPL 곡선 특성을 비교해 보았다.

설계 개념, 가격, 자석의 무게(다른 중요한 파라미터는 잊어버리자) 등등을 고려하면 당연히 (2)가 더 좋은 선택이다. 그러나 이것은 진정한 우퍼이므로 트위터를 달아야 한다. 그럼에도 불구하고 (2)에 자꾸 눈길이 가는 것은 작년에 사다 놓은 놀고있는 유닛이 하나 있다는 것이고, 심각한 크로스오버 네트워크 없이 달랑 콘덴서 하나를 연결해 놓은 저가 트위터도 한 조를 이미 갖고 있다는 것이다.

풀레인지 스피커에 고음을 보충하기 위한 트위터를 콘덴서 하나만 이용한 네트워크로 연결하는 경우는 종종 있다. 그런데 우퍼에 트위터를 달아서 2-way를 만들 때에도 이렇게 해도 괜찮을까? 사실 나도 자신은 없다. 하지만 10만원 내외 혹은 그 이하에서 팔리는 2-way 스피커는 십중팔구 이러한 구성인 것으로 알고 있다.

스피커통의 전면 배플 구멍은 실톱으로 더 크게 도려내면 된다. 대신 스피커 유닛은 바깥쪽에서 고정해야 보기에 좋을 것이다. CNC를 이용하여 배플면을 턱이 지게 가공하여 스피커를 매립하면 얼마나 좋을까? 이미 상자의 형태가 다 짜여진 상황이니 꿈과 같은 소리이다. 

집에서 사용하는 TDA7265 앰프의 볼륨 폿(동네 부품점에서 파는 개당 500원짜리 B형)이 말썽이라서 알리익스프레스에서 몇 개를 주문하였다. 미니 4각 A형 제품으로 PCB가 같이 달린 것이다. 손쉬운 연결을 위해 JST-XH 3P 커넥터가 달린 케이블과 RCA 단자도 몇 개 주문하였다. 비록 스테레오 실드선이 연결된 것은 아니나 실용상 큰 문제는 없을 것이다.


자작 스피커의 흡음재 튜닝은 무위로 돌아가다

스폰지까지 구입하여 자작 스피커통 내부에 바르는 수고를 하였지만 역시 크게 달라진 것은 없다. 어딘가 치밀하지 못한 소리, 그리고 '동굴 속'에서 울려나오는 듯한 소리... 첼로나 피아노 소나타 정도를 듣는다면 그 나름대로 귀를 즐겁게하는 통울림으로 참을 만하겠지만, 일반적인 용도의 음악 감상에는 영 적합하지 못하다.

고민 끝에 스피커를 바꾸어 버렸다. 거실에 있던 아이와 마이크로콤포넌트 오디오의 스피커를 방으로 들고 와서 연결하였다. 임피던스가 6옴이라서 진공관 앰프의 4옴과 8옴 출력 단자 어디든 연결 가능하다. 8옴에 연결하는 것이 좀 더 차분하고 단정한 소리를 낸다.


적당히 통을 만들어서 스피커 유닛을 넣는 것은 누구나 할 수 있다. 보급형 오디오에 딸려오는 스피커 시스템의 유닛보다 훨씬 좋은 제품을 쓰는 것도 가능하다. 그러나 결국은 좋은 소리를 내기 위한 최종 튜닝이 문제다. 왜 나의 '풀레인지' 자작 스피커는 좋은 소리를 내지 못하는 것일까? 유닛 자체가 아이와 스피커 시스템보다 못하다고는 생각하지 않는다. 최적화를 끝내 이루지 못한 가장 큰 변수는 통의 체적이라고 생각한다. 5인치급의 유닛을 달기에는 너무 큰 통이 아닐까?

자작 스피커를 치워버리고 깡그리 잊어버리느냐, 아니면 조금 더 큰 구경의 유닛을 가지고 계속 도전을 계속하느냐, 그것이 문제이다.

2016년 10월 9일 일요일

Upgrade plugin을 이용한 도쿠위키의 손쉬운 업그레이드

도쿠위키를 쓰다보면 새 버전이 나왔다는 메시지를 가끔 만나게 된다. 호스팅 서버에서 지금 돌리고 있는 도쿠위키 버전은 Detrirus(2015-08-10a)인데 지난 6월에 Elenor of Tsort가 나왔고 뒤이어서 hotfix release 버전이 등장하였다.

도쿠위키 공식 문서에 나온 업그레이드 방법은 shell 환경을 쓰는 것을 전제로 한다. 내가 사용하는 호스팅 서버는 웹브라우저에서 돌아가는 FTP기능만을 제공하므로 업그레이드를 하려면 약간의 트릭을 써야 될 것 같았다. 좀 더 쉬운 방법이 없을까? 도쿠위키 문서를 뒤지니 upgrade plugin을 쓰면 된다고 하였다.

Admin 메뉴로 들어가면 Extension Manager가 있다. 여기를 클릭한다.


Search and install 탭을 선택하고 검색창에 upgrade를 입력한다.


그러면 upgrade plugin이 나타날 것이다.


Install 버튼을 클릭하여 설치를 진행한다. 다시 Admin 메뉴로 돌아오면 Additional Plugins라는 새로운 메뉴가 생기고 그 하위에 Start upgrade가 보일 것이다. 


이제 업그레이드를 위한 모든 준비가 끝났다. 이제 클릭만 반복적으로 하면 자동으로 도쿠위키의 업그레이드가 간편하게 이루어진다. 약간의 시간이 흐른 뒤 도쿠위키의 첫 화면으로 돌아왔다. 이제는 성가신 새 버전 업그레이드 알림이 더 이상 보이지 않는다. 이렇게 간단하게 업그레이드가 될줄은 정말 몰랐다. 매번 남이 만들어놓은 서비스만 이용하면서 이렇게 경이로움을 느낀다.

genoglobe.kr 도메인 만료 기한이 다가오다

오늘은 한글날이다. 요즘 망가지는 국어의 실태를 보고 있노라면 정말 가슴이 아프다.
점심시간이 되어 자주 찾아가던 식당을 일부 찾아갔는데 낯선 이름의 가게로 업종이 바 있었다. 이젠 밥 먹으 어딜 가지?
요즘 매우 흔히 보이는 잘못된 맞춤법이다. 심지어 뉴스 기사에서도 이렇게 잘못된 맞춤법을 종종 보게된다. 글씨를 틀리게 쓰는 것 말고도 표현법 자체도 번역투를 따라서 많이 변질되었다. 생각해보니 나도 문장 자체를 블로그의 제목으로 쓰는 경우가 제법 많다. 이는 영어 문화권의 논문 제목에서 대단히 흔하게 나타나고, 또 그렇게 쓰기를 권장한다. 인터넷 매체에서는 허핑턴포스트코리아가 대표적이다. 이것을 번역투 문체의 침투로 보아야 하는지는 좀 더 고민해 보아야 되겠지만, 전통적인 우리말의 표현법과는 거리가 있다. 그래서 오늘의 제목도 평소의 버릇대로 문장체인 "genoglobe.kr 도메인 만료 기한이 다가오다"로 정하였다.

'~로부터 자유롭지 못하다'는 표현도 왠지 보기 좋지 않다. 마치 영어의 be free from(of)를 그대로 번역한듯한 어투이다. '~가 전혀 없다' 또는 '~로부터 벗어날 수 없다' 정도가 더욱 자연스럽지 않을까?

나는 개인적인 용도로 사용하기 위해서 genoglobe.com과 genoglobe.kr의 두 개 도메인을 운용하고 있다. 무료 웹사이트 호스팅을 표방하는 외국의 서비스 업체를 통해서 DokuWiki를 설치한 메인 페이지를 돌리는데, 사이트 남용을 이유로 종종 차단되는 일이 생긴다. 많은 트래픽을 유발하지도 않고 정보 업데이트를 위해서 하루에 몇차례 접속을 할뿐인데 어째서 이것이 사이트 남용이라는 것인지... 궁극적인 해결 방법은 유료 서비스로 전환하는 것이었다.

도메인 유지 비용도 부담이 되어서 좀 더 싼 기관으로 옮겨보려고 알아보는 중이다. 어쩌면 일년쯤 후에는 두 개 도메인 중 하나는 해지할지도 모른다. .kr을 살릴 것인가, .com을 살릴 것인가? 만약 genoglobe.kr만을 살리게 되면 이 블로그의 주소도 blog.genoglobe.com에서 blog.genoglobe.kr로 바뀔 것이다.

인터넷 기술 덕분에 개인 저작물을 세상에 널리 알리는 것은 정말 쉬워졌다. 하지만 나는 정말 쓸모가 있는 저작물을 체계적으로 만들고 있는가? 두 개의 도메인으로 나뉘어진 몇 개의 사이트가 정말 잘 돌아가고 있는가? 일부 사이트는 이미 부실해지고 있지 않은가? 2015년이 끝나기 전에 좀더 체계적인 운용 계획을 세운 뒤 필요하다면 정비를 해야 되겠다.



2016년 10월 8일 토요일

2년째로 접어드는 자작 스피커의 튜닝 - 내부 흡음재 바꾸기

나무로 적당히 상자를 짜서 스피커 유닛을 고정하고 단자를 연결했다고해서 스피커의 제작이 다 끝나는 것이 아니다. 풀레인지 성향의 단일 유닛을 사용했기에 네트워크 튜닝이라는 대단히 어려운 과정을 생략할 수 있었지만 이제는 흡음재 튜닝이라는 고비가 남아 있다.

중음이 다소 과장되고, 마치 동굴 속에서 울려나오는듯한 소리를 흡음재로 잡을 수 있다고 생각해왔다. 설계 자체가 잘못되었는지도 모르지만 말이다. 그동안 다양한 재료를 흡음재로 사용해 보았다. 합성 솜, 헌 옷, 낡은 라텍스 베겟속... 심지어는 인클로저의 내부 용적이 너무 큰 것일지도 모른다는 생각에 부피를 줄여보고자 나무토막을 넣기도 했다.

이론에 바탕한 체계적인 접근은 하나도 없었다. 흡음재를 넣는다는 것은 스피커 인클로저의 실효 용적을 키우는 효과가 있다고 한다. 그런데 용적을 줄이자고 나무토막을 넣고 흡음재를 같이 넣는 것은 말이 되지 않는다.

인터넷으로 자료를 찾아보니 인클로저 내벽에 붙이는 흡음재와 내부에 뭉텅이 솜을 넣는 방식의 흡음재로 나누어서 생각해야 한다는 정보가 있었다. 용적이 작은 인클로저는 내벽에 붙이는 흡음재를 생략하기도 한다는 것이다. 과연 나의 어설픈 풀레인지 스피커통에 어울리는 흡음재 재료와 설치 방식은 무엇일까?

일단은 인클로저 내벽에 일정한 두께의 흡음재를 붙여보기로 하였다. 선택한 재료는 두께 10 mm의 마블 스폰지이다. 이름이 좋아서 마블 스폰지이지 자투리 스폰지를 잘라서 압축하여 붙인 것이다. 가격이 저렴하고 강도가 좋아서 주로 업소 등에 들어가는 소파의 쿠션으로 쓰인다. 아마도 이것을 가지고 스피커 인클로저의 흡음재로 쓰는 사람은 별로 없을 것이다. 단일 재료로 마들어진 판재 모양의 스폰지와 계란판 형태의 스폰지 등 여러가지 형태를 놓고 고민하다가 이것을 택한 것이다.


가위로 재단하여 인클로저 내벽에 고루 붙였다. 접착제로는 목공용 본드에 약간 물을 타서 묽게 만든 것을 사용하였다. 배플면 쪽에는 붙이지 않았다. 


하룻밤 동안 두어서 본드를 말린 뒤 단자를 연결하였다. 사진에는 보이지 않았지만 뒷뚜껑을 닫기 전에 마블 스폰지를 70~80 cm 정도 잘라서 스피커 주변을 감싸듯이 큰 원형으로 둘둘 말아서 넣었다.

자, 그럼 소리는? 약간 좋아진 느낌이 들지만 이것이 흡음재 튜닝 때문인지 혹은 플라시보 효과 때문인지는 모르겠다. 이제 이 자작 스피커 시스템에 대해서 더 이상 정성을 들일 필요가 없다고 생각한다. 만약 귀가 약간 더 고급이 되어 이 스피커가 불만스럽다면, 이제는 기성 제품을 구입하는 것이 나으리라고 본다.


2016년 10월 6일 목요일

CD 플레이어의 반복 재생 기능을 활용해 보기


베토벤 피아노 협주곡 5번 "황제"의 3악장 중 악 1분 정도의 특정 구간이 반복적으로 재생되는 모습이다. 약 20분 넘게 이 짓을 하고 있었다.

픽업을 직접 교체한지 얼마 되지 않은 CD 플레이어가 CD의 특정 부분(65분쯤)에서만 높은 빈도로 튀는 현상 때문에 늘 고민을 하고 있었다. 이제는 정녕 CD 플레이어를 새로 장만해야 할 것인가? 그런데 이 현상을 반복적으로 관찰해보니 튀는 위치가 1초의 오차도 없이 똑같다. CD 자체는 아무리 눈으로 들여다 보아도 긁히거나 오물이 묻은 흔적이 없다.

그래서 내가 내린 가정은 이러하다. CD의 픽업이 레일을 따라 이동하면서 평소에는 잘 가지 않는 부분, 즉 재생시간이 긴 CD의 끝부분에 이르렀을때 뭔가 움직임이 원활하지 않게 된 이유가 있을 것이다. 만약 기기의 노후로 인하여 픽업의 이동을 제어하는 회로나 메카니즘 자체에 문제가 생겼다면 CD에 상처가 생기지 않고서는 매번 정확히 동일한 위치에서 1초도 틀리지 않고 튄다는 것은 상상하기 어렵다. 어쩌면 픽업이 왕복하는 레일에 미세하게 무엇인가가 들러붙어서 운동을 방해하는 것은 아닐까? 그렇다면 그 부분에서 반복 재생을 하면 들러붙은 그 무엇인가를 제거할 수 있지 않을까?

그래서 반복 재생을 실시하게 된 것이다. 처음 한 두번은 튀더니 그 이후로는 매끄럽게 재생이 되었다. 아침에 출근을 준비하면서 문제의 부분을 다시 들어보았다. 전혀 튐이 없다. 아직은 섣부른 결론일지도 모르나 이렇게 하여 문제를 해결했다고 자화자찬하는 중이다.

나의 낡은 CD 플레이어는 롯데 LCD-7500이다. 아마 1990년대 초반에 제조되었을 것이다.

2016년 10월 4일 화요일

Roary와 더불어 배운 것

새로운 프로그램의 이름에는 대개 그런 이름을 붙인 이유가 있다. 가장 흔한 것은 acronym이다. 예를 들어 BLAST는 Basic Local Alignment Search Tool에서 각 단어의 앞글자를 딴 것이다. 요즘 내가 감염균의 pan genome 분석을 하면서 아주 많이 빚을 지고 있는 Roary: rapid large-scale prokaryote pan genome analysis(웹사이트)는 어떻게 해서 이런 이름을 갖게 되었을까? 논문이나 웹사이트에는 별다른 설명이 없다. 구글에서 Roary를 치면 가장 위에 나오는 것은 Roary The Racing Car라는 영국에서 제작된 어린이용 애니메이션이 나온다. 실행 속도가 빠르다는 의미에서 재미로 이런 이름을 프로그램에 붙인 것이 아닐까 추축해 본다. 등장 차량(등장 인물?) 중에서 Roary는 영국을 대표한다. Roary 프로그램은 Sanger Institute에서 개발한 것이니 더욱 그럴만도 하겠다.

위키피디아에서 가져온 그림.
올해 중반까지 내가 몰두하고 있었던 것은 (meta)genome 분석용 소프트웨어인 MetAMOS였다. 가장 핵심적인 개발 환경(GCC)와 파이썬 버전이 모두 낮은 CentOS 6.7에서 설치를 하려니 보통 고역이 아니었다. 그러다가 Roary를 알게 되면서 필연적으로 거쳐가야하는 Linuxbrew가 내 리눅스 활용 역사를 발칵 뒤집어 놓았다 해도 과언이 아니다.

만약 내가 CentOS 7.x이나 우분투 16.04를 선택했다면 이 모든 수고가 필요없는 일이 되었을까? 그건 잘 모르겠지만, 아직은 사용자 지원이 이루어지고 있는 리눅스 배포판에 집착하는 것이 더 많은 도전과 공부 기회를 제공하는 것이 분명한 사실이다. 사실 어제 아침(개천절 아침; 출근하여 일을 했다는 이야기)까지는 사용 중인 20 core짜리 리눅스 머신을 우분투로 바꾸는 것을 심각하게 고민하고 있었다. 그러나 한번만 더 삽질을 하자는 신념으로 Roary 재설치 및 실행에 성공하였다. Linuxbrew가 매력적인 이유는 사용자 계정을 하나 더 만들면 아예 처음부터 새로운 환경에서 테스트를 할 수 있다는 것이다. 다만 한가지 주의할 것은 시스템 환경이 복잡해진다는 것. 펄 모듈만 하더라도 시스템 라이브러리 공간에 설치한 것과 사용자 공간에 설치한 것이 뒤죽박죽이 된 상태에서 Linuxbrew까지 한 식구로 들어오게 되어 기억과 기록을 잘 더듬어야 한다는 것이다. R 패키지를 하나 내려받아서 설치하는 일만 예를 들어도 선택 가능한 GCC가 이제는 세 가지나 된다. CentOS 6.x에 원래 있는 것(4.4.7), devtoolset으로 설치한 것, 그리고 linuxbrew가 제공하는 5.3.0까지 있으니 말이다.

Perl의 환경은 어떻게 되는 것일까

brew install perl로 5.10 버전이던 Perl을 업그레이드하면, 설치 맨 마지막 단계에 다음과 같은 메시지가 나온다.
By default non-brewed cpan modules are installed to the Cellar. If you wishfor your modules to persist across updates we recommend using `local::lib`.
You can set that up like this:PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::libecho 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bash_profile
local::lib은 사용자 홈 디렉토리 하의 공간에 펄 모듈을 설치하고 쓰게 해 주는 것으로 알고있다. 그러면 예전에 관리자 권한으로 설치한 모듈들은 계속해서 사용할 수 있는 것인지? 이제는 펄 인터프리터 바이너리가 ~/.linuxbrew/bin/perl라는 이름으로 존재하는데, 앞으로 만들어질 펄 스크립트 첫줄에는 뭐라고 써야 되는지? 아마도 #!/usr/bin/env perl라고 적는 것이 맞을 것이다. 그러나 여전히 궁금한 것 투성이이다. bp_genbank2gff3.pl를 실행하면 펄 모듈들을 전혀 찾지 못하는 것으로 보아서 Linuxbrew에서 펄을 설치하면 일단은 새로 시작하는 것으로 생각해야 될 것 같다. 펄 자체의 버전이 달라진 상태이니 모듈도 새로 설치하는 것이 맞겠다. 어쩌면 linuxbrew를 이용한 펄 업그레이드는 매우 신중하게 해야 될지도 모르겠다.