프로젝트 소개

Verovio는 MEI(Music Encoding Initiative) 디지털 악보를 SVG 이미지로 조판하는 빠르고, 이식성이 뛰어나며, 가벼운 라이브러리입니다. 표준 C++20으로 작성되었으며, 독립 실행형 명령줄 도구로 컴파일하거나 애플리케이션에 음악 렌더링 라이브러리로 내장할 수 있습니다. MEI 외에도 Verovio는 Plaine & Easie Code, Humdrum, MuseData, MusicXML, EsAC, ABC 디지털 악보를 렌더링할 수 있는 즉석 변환기를 포함합니다. 출력은 SMuFL(Standard Music Font Layout) 사양을 사용하며, 글꼴을 변경하여 조판 결과를 개인화할 수 있습니다. 언어 바인딩은 JavaScript, Python, Java, Swift, Go에서 사용할 수 있습니다. JavaScript 툴킷은 Verovio 온라인 편집기/뷰어를 구동하며, 튜토리얼은 웹 통합 및 사용자 상호작용을 다룹니다. 최소 샘플 애플리케이션은 Qt를 사용한 C++, Android에서의 Java 바인딩, iOS에서의 Swift 바인딩을 보여줍니다. 내부적으로 Verovio는 여러 라이브러리를 포함합니다: Humdrum 가져오기/내보내기를 위한 humlib, JSON 파싱을 위한 JSON++, 표준 MIDI 파일 내보내기를 위한 MidiFile, XML 파싱을 위한 pugixml, ZIP 읽기/쓰기를 위한 MINIZ-CPP, 그리고 Surge Synth Team 튜닝 라이브러리입니다. 속성 클래스는 수정된 LibMEI를 통해 MEI 스키마에서 생성되며, 생성된 코드는 저장소에 포함됩니다. Verovio는 LGPL 라이선스로 배포됩니다. 각 환경에 대한 빌드 및 사용 지침은 프로젝트 참조 문서에 제공되며, 기여 지침도 함께 문서화되어 있습니다.