Random

Network Walkman

실마리 2007. 5. 8. 08:42

네, 얼마전 무엇을 살까 고민하다가 결국 하나를 지르고야 말았습니다. 소니의 새로운 제품인 NW-E016 기종입니다. 먼저 즐거운 증명사진.

장점을 들어보면…

  • 보통 USB 메모리보다 약간 큰 크기에 4G의 용량
  • USB 접속 단자를 포함하고 있어 컴퓨터와 연결할 때 따로 연결선이 필요 하지 않고 실제 USB 메모리로 사용할 수도 있습니다.
  • 최대 30시간의 배터리 용량에 3분이면 3시간 용량의 배터리가 충전
  • 라디오 포함
  • DRM이 걸려있지 않은 AAC, WMA 플레이 가능

먼저 이야기 했다시피 마지막의 AAC 플레이 가능이 제게 가장 큰 플러스입니다. iTunes로 리핑해 놓은 CD 음악들을 공유해서 들을 수 있으니까요. 구입전에 sony의 iTunes와 같은 프로그램 sonic stage를 설치해서 리핑한 AAC 파일이 플레이 되는 것을 확인한 다음 주문했습니다.

다음은 단점… 거의 전부가 sonic stage와 관련된 것이네요.

  • 설치 CD에 들어있는 버젼 4.3을 인스톨하니까 플레이어와 연결중 프로그램이 죽어버립니다. 네, 적어도 제게는 그랬습니다. 소니의 홈페이지에서 4.2를 받아서 설치하니까 플레이어를 인식했습니다만… 아직까지 버젼의 문제때문인지는 잘 모르겠습니다.
  • 한국어 코드에서 지원하지 않는 파일이름을 가지는 파일은 import하지 못합니다. 아마도 unicode를 제대로 지원하지 않아서라고 생각합니다만…
  • iTunes에서 리핑한 파일중 일부는 제대로 import하지 못합니다. iTunes는 기본적으로 My Documents 이하의 My Music 아래에 리핑한 파일을 저장하도록 되어 있습니다. 그쪽의 파일들은 (일부 한국어 코드에 없는 문자를 제외하고는) 정상적으로 import합니다만 다른 디렉토리에 저장된 파일은 Artist, Album의 정보를 제대로 인식하지 못합니다.

Sony에서는 atrac이라는 자체적으로 만든 포맷을 밀고 있습니다. 이런 한 회사에서 개발한 포맷이 성공하려면 다른 포맷에 비해 압도적으로 성능이 뛰어나야 할 텐데 그렇지는 못하니 결국은 애플과 같이 MP4라고 불리우는 공개 AAC 포맷을 이용한 회사에게 쉐어를 뺏기는게 아닐까요. 하여튼 AAC 포맷을 지원하는것 까지는 좋은데 AAC에서는 artist, album과 같은 tag에 대해서는 정의해 놓은 것이 없고 애플, nero와 같은 회사들이 자체적으로 tag를 사용하고 있습니다. Sony에서 AAC를 지원할때 이들 tag까지 지원해 주었으면 좋았겠지만 그렇지는 않고 플레이만 가능하니 노래는 import되었지만 artist와 album이 제대로 표시되지 않는 현상이 나타나 버렸습니다.

왜 일부 노래는 제대로 import하면서 디렉토리를 벗어난 파일은 import 하지 못하는 지를 알아내 보려고 하던 중 iTunes의 뮤직 라이브러리가 XML 파일 형식으로 자료를 저장하고 Sonic Stage는 access 데이타베이스 형식인 mdb로 자료를 저장한다는 것을 알게 되었습니다. 따라서 XML을 읽어들여서 mdb로 필요한 자료를 만들면 되지 않을까… 라는 생각에 며칠 동안 계속 삽질을 한 결과. Sonic Stage에서 import한 것을 최대한 비슷하게 따라하려고 했지만 몇가지 필드는 값을 어떻게 만들어 낼지 알아내지 못해서 비워두었지만 적어도 동작하고 노래 이동도 가능합니다.

Ruby로 처음 프로그램을 짰습니다만 unicode 문제가 있어서 결국 C#으로 다시 짰습니다. iTunes로 AAC를 리핑했지만 기본 디렉토리가 아닌 디렉토리에 파일이 저장되어 있어서 Sonic Stage에서 import 할때 Album, Artist, 노래 길이 등의 정보가 보이지 않는 경우 가 저 이외에 있을지 모르겠지만 기왕 만든 프로그램 받을수 있도록 올려놓습니다. Sonic Stage를 실행시키지 않은 상태에서 실행시키면 iTunes에 들어있는 파일 정보를 Sonic Stage에서 이용할 수 있도록 데이타베이스 파일을 업데이트 해 줍니다. .NET 2.0이 설치되어 있어야 하고 실행시 Sonic Stage의 database file의 path에 @sonicstage@란 이름의 ODBC가 설정되어 있어야 합니다.