음악 감상 환경 = Ruark r4 mk3 + raspberry pi 3 + raspbian

지금의 음악 감상 환경은 제목과 같다.

Ruark r4 mk3: 이 녀석은 이른바 올인원 오디오이다. 네트워크 플레이어는 아니지만 웬만한 입력은 다 받을 수 있고, CD 트레이가 있으며 좋은 디자인을 가지고 있는 것이 특징이다. 아무리 디지털 환경으로 변화된다고 해도, 아직까지는 물리적으로 CD를 넣어서 음악을 들어야 하는 일도 꽤 있기 때문데 (특히 아이들의 공부를 위해서) 좋은 CD 트레이가 있다는 것이 가장 큰 장점.

라즈베리파이 3: 사실 이건 큰 아들을 위해 산 물건이다. 이걸로 Scratch를 공부할 수 있는 환경을 만들어주고 아이가 직접 관리 운영하면서 사용하기를 바라는 마음으로 구매를 했고, 며칠 정도는 유지가 되었지만 그 이후로는 사실 시들해지면서 용도가 애매해져 버렸다. 그러다가 루악 오디오를 들여놓고 나서 이 물건을 다시 살릴 계획을 세우게 되었다.

Raspbian: 학위과정부터 시작해서 온갖 리눅스를 다 섭렵해온 나지만, 최근에는 회사에서 CentOS 머신 두 대를 사용하는 것을 제외하면 리눅스를 사용하고 있지는 않다. 그래도 슬랙웨어부터 시작해서 젠투 (이틀 동안 컴파일을 했던 기억…) 그리고 데비안과 우분투 정도까지는 업데이트가 되어 있고 특히 데비안은 오랫 동안 가장 만족하면서 써 왔던 터라 라즈베리파이에도 당연히 raspbian을 설치했다. 그러다가 음악과 관련해서는 여러 인터넷 글을 통해 volumio, runeaudio, moOde, pimusicbox 같은 다양한 종류의 선택이 있다는 것을 알게 되었다. 그래서 하루 정도 이 선택지들을 시험해 보았다.

우선 volumio는 최근에 많은 사람들이 사용하고 있는 것 같고 화면이 가장 세련되어 보였다. 설치 방법이야 어려울 것이 없는데, 초기 화면에서 다음 화면으로 넘어 가지를 않아서 초기 설정을 아예 할 수가 없었다. 시간이 많으면 해결 방법을 좀 찾아보겠는데, 이제는 이런거 찾아보는 시간이 좀 아깝게 느껴지는 터라 그냥 포기했다.

runeaudio 역시 많은 사람들이 추천도 하고 사용하고 있는 것 같은데, 파일이 sourceforge에서 관리되고 있고, 가장 최근 활동이 3년 정도 된 것으로 되어 있어서 좀 꺼려지는 마음이었다. 그래서 아예 시험해보지도 않고 그냥 패스.

moOde는 쓰여있는대로 제대로 동작을 하기만 한다면 가장 풍부한 기능을 가진 것으로 보인다. 아마도 유료화를 했다가 어려움을 당하고 다시 무료로 돌아선 역사가 있는 듯 하고. 설정을 자체 UI에서 하도록 하고 있는데, 내 경우에는 무선랜 설정이 뭔가 잘 안되는 듯 하여 AP 모드에서만 잘 작동을 하고 WiFi로는 작동이 안되어서 포기했다. 나중에 뭔가 깔끔한 화면을 원하는 순간이 생기면 다시 시도해 볼 듯 하다.

pimusicbox는 mopidy라는 프로그램을 이용해 만들어진 것이고 아마도 라즈비안 위에 이 프로그램을 얹어서 여러 기능을 하도록 한 것 같다. 설치와 구동에 어려움은 없었는데, mopidy를 사용해서인지 몰라도 버그가 있고 (스포티파이 앱에서 다른 곡을 재생해도 이전 플레이하던 곡을 처음부터 다시 재생한다. 이 때는 디바이스를 변경한 후에 다시 연결을 해 주어야 다른 곡 재생이 가능하다), 웹 인터페이스들이 뭔가 옛스러운 아니 촌스러운 느낌이 있어서 잘 쓰게 될 것 같지 않았다.

결국 돌아 돌아 보았지만 구관이 명관이라고 그냥 라즈비안에 정착하기로 결정했다. 그리고는 내가 해야 하는 일을 잘 정리해 놓은 글을 발견했다. 간단하게 말하면
https://github.com/nicokaiser/rpi-audio-receiver 설치 후에 제공되는 쉘 스크립트를 이용해서 블루투스 수신, 에어플레이 서버, 그리고 UPnP 기능을 설치하는 것이다. 여기서 제공하는 스포티파이 connect는 PiMusicbox에서와 동일한 버그가 있으므로 쓰지 않았다. 대신에 Raspotify라는 것을 설치하면 문제없이 spotify connect가 작동한다.

이로서 작은 라즈베리파이가 루악 r4를 에어플레이, spotify connect 그리고 UPnP를 지원하는 네트워크 플레이어로 변신시켜 주었다.

악보 그리기는 MuseScore로!

음악을 좋아하다보니 악보를 그릴 일이 많이 있다. 특히 교회 성가대 지휘를 하고 있다보니 피아노와 합창이 함께 들어간 악보를 만들고 싶은 경우가 왕왕 있다. 오래되거나 여러번 복사를 해서 다시 복사를 하기 어려운 악보들이나 너무 오래되어서 가사를 수정해야 할 필요가 있다고 생각되는 악보들을 만났을 때, 악보를 다시 깔끔하게 그릴 수 있다면 좋겠다는 생각을 많이 했었다.

이전에는 Lilypond라는 툴을 사용했었다. Tex같은 느낌인데 텍스트만으로 악보 소스를 만들고 이걸 컴파일해서 pdf 형식의 악보를 뽑아내는 방식이다. 단선 악보를 그릴 때는 이 것으로도 그렇게 복잡하지 않게 작업을 할 수 있었기 때문에 심지어는 이 블로그에 lilypond를 이용한 악보 그리기에 대한 글을 두 개나 연재한 적이 있다.

문제는 합창과 피아노 반주가 들어있는 조금은 복잡한 형식의 악보를 그릴 때 소스가 상당히 복잡해진다는 것, 그리고 소스를 만들 때 바로 악보를 보는 것이 불편하다는 점이었다. 그리고 이런 문제들을 모두 한 방에 해결해 버리는 프로그램이 바로 MuseScore이다. 그냥 일반적인 악보 그리는 프로그램과 별다를 바가 없어 보이는 WYSWYG 형식의 프로그램이다. 그리고 이 프로그램의 강력함은 기본적인 악보 입력이 키보드 상에서 해결될 수 있다는 점이다! 물론 상세한 표현과 각종 기호 등은 마우스의 도움을 받지 않을 수 없지만, 기본적으로 악보에 들어가는 음표와 가사 정도는 키보드 상에서 빠르게 입력을 해서 완성을 할 수 있다. 대여섯 페이지 정도 되는 4부 합창곡이라면 약 2~30분 이내에 완전한 조판을 마칠 수 있을 정도이니 얼마나 입력이 효율적인지를 알 수 있다.

이제는 입력에 대해서는 어느 정도 익숙해졌고, 적절한 악보의 크기나 글꼴 또는 spacing 같은 것을 조절해 가면서 가장 좋은 출력물을 만드는 세팅을 정하는 일 정도가 남아있다고 볼 수 있는데, 이 정도의 시간 투자로 이 정도의 출력물을 낼 수 있다는건 정말 대단한 일이 아닐 수 없다!

도쿠위키에 대해 알게 된 몇 가지 (2)

오늘 도쿠위키에 대해 알게 된 점 몇 가지 추가

  1. 스팸을 막으려면 captcha 플러그인을 쓰자.
    ACL을 설정했음에도 불구하고 많은 위키스팸이 달린 것으로 보아 사용자 권한 관리만으로는 안되는 것 같다.

  2. 키보드 단축키를 쓰자.
    사용하는 브라우저에 따라 어떤 modifier 키를 쓰는지 외워두고 (윈도우즈 FF와 크롬은 alt+shift, 맥용 FF와 크롬은 ctrl+opt, 인터넷 익스플로러는 alt 키) h는 홈페이지, e는 편집 모드 진입, s는 편집 저장, x는 인덱스 페이지 정도 외워두면 좋고, 편집 모드에서 b는 bold, i는 italic, u는 underline 같은 것도 예상대로 작동한다.

  3. 스팸단어차단 기능은 좋지 않다.
    사이트에서 추천하는대로 chonqed.org 사이트에서 conf/wordblock.conf 파일을 저장하면, 글 저장할 때 정규식 관련 에러가 난다. 인터넷으로 대충 찾아보니 해당 파일의 크기가 너무 커서 생기는 에러 같은데, 위에 언급한 captcha 플러그인이 잘 동작한다면 굳이 이런 걸 쓸 필요는 없을 것이다. 만약 꼭 써야 하는 경우가 있다면 wordblock.local.conf 파일을 편집하는 것으로 하자.

윈도우에서 스크롤 방향 바꾸기 (2)

윈도우에서 스크롤 방향 바꾸기에 대해서는, 왜 이렇게 하려는지, 그리고 어떻게 하는지를 이미 포스팅한 적이 있다. 이 포스팅에서 사용한 AutoHotKey는 매우 강력한 프로그램이니 이걸 쓰고 있는 사람들에게는 꽤 좋은 방법이라 생각된다.

그러나 스크롤 방향 바꾸기 하나를 위해 이 프로그램을 깔고 로그인할 때마다 실행하는 것이 불편하게 느껴진다면 X-Mouse Button Control이라는 소프트웨어를 설치하는 것도 좋은 생각이다.

이 프로그램은 마우스의 버튼을 재정의하고 다양한 기능을 할 수 있도록 도와주는 무료 프로그램이다. 버튼이 여러 개인 마우스를 사용하고 있다면 각각의 버튼에 다양한 기능을 부여할 수 있는 이 프로그램을 꼭 사용하는 것이 좋겠다.

레이어 기능이 있어서 각각의 레이어에서 서로 다른 기능을 정의할 수도 있다. 예를 들어 문서 작업 레이어와 인터넷 레이어를 만들어서 같은 버튼이 두 상황에서 서로 다른 기능을 하도록 정의해 놓을 수 있다는 것이다. 물론 실행되고 있는 프로그램의 종류에 따라 서로 다른 기능을 하도록 하는 것도 가능하다. (홈페이지에 있는 스크린샷을 보면 어떻게 하는지 바로 알 수 있을 것이다)

꽤 오래전부터 지속적으로 개발되고 있다는 것은 또 다른 장점이다.

나는 단순히 휠 방향을 반대로 설정하고, 두 개의 버튼에 각각 복사(Ctrl+C), 붙여넣기(Ctrl+V) 기능을 할당하는데만 사용하고 있지만, AutoHotKey를 수동으로 실행해야 하는 불편함이 없는 것만으로도 꽤 요긴한 프로그램이다.

Dokuwiki에 대해 알게 된 몇 가지

오늘 dokuwiki에 대해 알게 된 점들.

  • Timezone 설정
    내 서버가 미국에 있다 보니 timezone 설정이 필요하다. 여기에 잘 나와 있는 대로,이 설정은 웹 상에서 하는 것이 아니라 서버의 파일에서 해 주는 것이었다. conf/local.protected.php 파일 안에 다음과 같은 내용을 넣어주면 된다.

  • 마지막으로 수정된 시간
    이 것은 lastmod 플러그인을 쓰면 된다. 이 플러그인을 설치한 후에 다음과 같이 위키 본문에 넣어주면 된다.

    이 페이지는 ~~LASTMOD~~ 에 마지막으로 편집되었습니다.
  • Pubchem 플러그인
    사실 이전에 이 플러그인을 깔아두고 있었지만, 홈페이지에 사용법이 없어서 어떻게 쓰는지를 모르고 있었다. 그런데 가만히 보니 이게 pubmed 플러그인이랑 같은 사람이 만든 것이다. 그렇다면 사용법도 같을 것이라고 예측하고 시도를 해 보았는데 단숨에 성공. CID를 넣으면 해당 화합물에 대한 링크 혹은 구조 그림과 링크를 주는 두 가지 기능이 있다.

    {{pubchem>link:68827}}

    {{pubchem>structure:68827}}

    위의 것은 링크만, 아래 것은 구조 그림과 링크를 주게 된다.
  • 페이지 삭제하기
    이게 가장 허무했다. 그냥 페이지 내용을 모두 지운 후 저장하면 페이지가 삭제된다. 쩝…