알토바(Altova)의 고객사인 레코다레(Recordare)가 MusicXML 기반 솔루션을 개발했습니다

Recordare®는 음악 커뮤니티에 소프트웨어 및 서비스를 제공하는 기술 회사입니다. 이 회사의 주요 제품인 Dolet® 플러그인 제품군은 인기 있는 음악 표기 프로그램용으로 개발된 플랫폼 독립적인 플러그인으로, MusicXML 기술을 활용하여 악보 데이터 파일의 원활한 교환과 상호 작용을 지원합니다. Dolet은 MusicXML 데이터 형식과 다른 응용 프로그램 간의 고품질 번역기 역할을 하며, 사용자가 Finale® 및 Sibelius®와 같은 업계 최고의 표기 및 작곡 프로그램은 물론, 모든 시스템에서 이러한 파일을 사용할 수 있도록 합니다. MusicXML을 지원하는 프로그램 목록에는 SharpEye 또는 capella-scan과 같은 광학 스캔 유틸리티, Cubase와 같은 음악 시퀀서 등이 포함됩니다. Dolet은 이러한 프로그램들의 MusicXML 지원 기능을 향상시키고, 프로그램 간의 상호 운용성을 높여 악보 공유를 촉진합니다. Recordare는 Dolet 플러그인을 개발하면서 Altova의 XML 편집기, XMLSpy를 사용하여 필요한 MusicXML XML 스키마 및 DTD를 편집하고 테스트했으며, 차이 분석/병합 도구, DiffDog를 사용하여 회귀 테스트를 수행했습니다.

도전 과제

과거에는 애플리케이션 간 음악 데이터 교환이 주로 MIDI(Musical Instrument Digital Interface) 파일 형식을 통해 이루어졌습니다. MIDI는 전자 음악의 기반 위에 구축된 메시지 전송 프로토콜입니다. 그러나 MIDI는 악보에 포함된 다양한 표기(예: 쉼표, 반복, 강약 기호, 가사, 연결 기호, 템포 표시 등)를 제대로 반영하지 못하기 때문에 인쇄된 악보를 위한 이상적인 전송 형식이 아닙니다. MusicXML은 기존의 MuseData 및 Humdrum 형식을 기반으로 개발된, 개방형 XML 기반 파일 형식으로, 악보 표기 또는 디지털 악보 데이터를 담는 데 특화되어 있습니다.

XML 기술은 MusicXML이 다양한 자동화 도구에 의해 쉽게 접근, 분석, 표현 및 조작될 수 있도록 강력하고 유연한 기능을 제공합니다. 또한, MusicXML은 업계 표준으로 널리 인정받고 있어, 컴퓨터 기술을 활용한 악보 작곡에 이상적인 형식입니다. Recordare에서 2004년 1월에 처음 출시된 이후 (2.0 버전은 2007년 6월에 출시), MusicXML은 100개 이상의 주요 제품에서 지원을 받으며 음악 표기 산업에서 널리 사용되고 있으며, 음악 표기 데이터 교환을 위한 사실상의 XML 표준으로 인정받고 있습니다. 만약 MusicXML이 Finale 및 Sibelius와 같은 업계 최고의 응용 프로그램과의 데이터 교환이 불가능했다면, 이러한 제품들은 MusicXML을 채택하지 않았을 것입니다. Recordare는 인기 있는 음악 표기 소프트웨어에 고급 플러그인을 개발함으로써, 고객에게 XML이 데이터 교환 및 표준화에 제공할 수 있는 모든 이점을 제공할 수 있습니다.

해결책

MusicXML 기반의 Dolet 4 플러그인은 Finale 및 Sibelius에서 표준 MIDI 변환 방식보다 더욱 정확하고 실용적인 악보 표현을 제공합니다. Dolet 4 플러그인은 Finale 및 Sibelius에서 MusicXML을 기본적으로 지원하며, 다음과 같은 고급 기능들을 추가하여 이 프로그램들의 기능을 향상시킵니다

  • 일괄 번역
  • 더 정확하고 신뢰할 수 있는 데이터 교환
  • 더욱 세밀한 서식 설정 기능
  • MusicXML XML 스키마(DTD 외) 지원

Recordare는 플러그인을 개발하면서 Sibelius 및 Finale 애플리케이션에서 요구하는 특정 조건들을 준수해야 했습니다. Sibelius 플러그인은 ManuScript 언어로 개발되었으며, 해당 언어로 작성된 가장 큰 플러그인 중 하나입니다. 반면, Finale는 플러그인이 C++ 코어를 가져야 하며, Recordare는 이를 구현하여 Java로 MusicXML 로직을 추가하고, Java와 C++ 간의 양방향 통신을 위한 JNI(Java Native Interface) 레이어를 추가했습니다.

Recordare의 Dolet 플러그인은 현재 많은 TV 및 영화 음악 작품뿐만 아니라 새로운 음악 출판물 제작 과정에서 중요한 역할을 수행하고 있습니다. 번역 과정에서 발생하는 오류는 유지 보수 업데이트를 통해 수정되어야 하며, 동시에 이러한 복잡한 번역 플러그인에 새로운 오류가 발생하지 않도록 주의해야 합니다. 따라서 Dolet 플러그인이 생성하는 MusicXML 파일에 대한 회귀 테스트는 Recordare의 품질 보증 프로세스에서 필수적인 부분입니다.

Recordare사는 Dolet 플러그인 개발 과정에서 Altova의 DiffDog를 사용했으며, XMLSpy는 테스트에 활용되었습니다 DTD(Document Type Definition)를 수정합니다 그리고 XML 스키마를 지원하며, 소프트웨어가 생성하는 MusicXML 파일을 회귀 테스트하기 위한 DiffDog를 제공합니다. Recordare는 바로크 시대부터 힙합에 이르기까지 다양한 음악 레퍼토리를 포괄하는 여러 회귀 테스트 모음을 제공합니다. DiffDog는 이러한 테스트 모음의 여러 실행 결과를 쉽게 비교할 수 있으며, 소프트웨어 버전이나 XML 생성 날짜와 같이 테스트 케이스마다 항상 변경되는 XML 메타데이터 요소의 차이는 무시할 수 있습니다.

Recordare는 Altova의 XMLSpy XML 편집기를 사용하여 MusicXML DTD와 XML 스키마를 편집해 왔습니다. 처음에는 XMLSpy 3.5 (2001년에 출시)를 사용하여 MusicXML DTD의 초기 알파 및 베타 버전을 만들었습니다. MusicXML 2.0 버전에서는 Open Office나 Open XML과 같은 다른 XML 응용 프로그램에서 사용되는 방식과 유사하게, 압축된 ZIP 형식의 버전을 추가했습니다. XMLSpy 2008 Enterprise Edition의 압축된 XML 파일에 대한 포괄적인 지원 덕분에, Dolet for Finale 플러그인과 함께 이 새로운 기능을 쉽게 테스트할 수 있었습니다.

XMLSpy의 XQuery 지원 기능 또한 Recordare의 회귀 테스트 노력에 기여했습니다. 고객의 요청에 따라, Recordare는 이제 Sibelius용 Dolet 플러그인을 사용할 때, 정확하게 번역할 수 없는 음악적 특징을 발견하면 해당 XML 처리 지침을 내보냅니다. 특정 폴더 내의 XML 파일에서 모든 처리 지침을 검색하기 위해 간단한 XQuery를 실행하면, Recordare는 각 테스트 세트 내에서 이러한 제한 사항이 존재하는지 확인할 수 있습니다. 그런 다음, 테스트 세트 실행 간에 DiffDog를 사용하여 결과 XML 파일을 비교합니다.

최근 고객의 요구에 따라 Recordare는 MusicXML 형식의 XSD 버전을 개발했습니다. XMLSpy는 이 스키마를 개발하고 테스트하는 데 사용되었습니다. 스키마 검증, 스키마 제한 및 확장, 그리고 자동으로 생성되는 스키마 문서화 기능은 모두 XMLSpy의 기능을 활용하여 테스트할 수 있었습니다.

결과입니다

Dolet 플러그인은 업계에서 널리 사용되는 소프트웨어의 확장 기능으로, MusicXML 형식의 내장 기능을 활용하여 다양한 시스템과 도구 환경에서도 악보를 완벽하게 호환되도록 만들어줍니다. 이러한 플러그인은 강력한 MusicXML 사양을 기반으로 정확하고 의미 있는 악보를 생성할 수 있습니다. 주요 기능은 다음과 같습니다 XML 스키마 편집 XMLSpy의 강력한 기능과 뛰어난 성능 XML 데이터와 디렉토리 비교 DiffDog의 지원 덕분에 Recordare는 MusicXML 스키마를 작성하고 개선했으며, Dolet 플러그인에 대한 회귀 테스트를 수행할 수 있었습니다. 그 결과, 높은 품질의 스키마와 소프트웨어가 개발되었고, 이는 MusicXML과 Dolet 플러그인을 업계 전반에 걸쳐 작곡가, 편곡가, 출판사, 복사 전문가, 그리고 악보 제작자들에게 필수적인 도구로 만들었습니다. 특히 악보가 활용되는 모든 분야에서 중요한 역할을 하고 있습니다.

XMLSpy, DiffDog 및 기타 Altova MissionKit 도구를 직접 사용해 보시고, 다음 링크를 통해 무료 평가판을 이용해 보세요 30일 무료 체험 기간.