De klant van Altova, Recordare, ontwikkelt een oplossing gebaseerd op MusicXML

Recordare® is een technologiebedrijf dat zich richt op het leveren van software en diensten aan de muziekindustrie. Hun belangrijkste producten, de Dolet®-pluginfamilie, zijn platformonafhankelijke plugins voor populaire muzieknotatieprogramma's. Ze maken de naadloze uitwisseling en interactie van bladmuziekbestanden mogelijk door gebruik te maken van MusicXML. Dolet fungeert als een hoogwaardige vertaler tussen het MusicXML-gegevensformaat en andere applicaties, waardoor gebruikers met deze bestanden kunnen werken op elk denkbaar systeem, inclusief toonaangevende notatie- en compositieprogramma's zoals Finale® en Sibelius®. De lijst van organisaties en software die MusicXML ondersteunen, omvat ook optische scanprogramma's zoals SharpEye of capella-scan, muzieksequencers zoals Cubase, en nog veel meer. Dolet verbetert de ondersteuning van MusicXML in al deze programma's en bevordert de onderlinge compatibiliteit en het delen van muzieknotaties. Bij het ontwikkelen van de Dolet-plugins heeft Recordare gebruik gemaakt van Altova's XML-editor, XMLSpy, voor het bewerken en testen van de benodigde MusicXML XML-schema's en DTD's, en van het verschil- en merge-tool, DiffDog, voor regressietesten.
De uitdaging
Traditioneel vond de uitwisseling van muziek tussen applicaties plaats met behulp van het MIDI-bestandformaat (Musical Instrument Digital Interface), een protocol voor het overdragen van berichten dat zijn oorsprong heeft in de elektronische muziek. MIDI is geen ideaal formaat voor het overdragen van gedrukte muziek, omdat het niet rekening houdt met de vele notaties (bijvoorbeeld pauzes, herhalingen, dynamiek, teksten, legato's, tempovariaties, enz.) die een groot deel van de betekenis overbrengen. MusicXML is een open, XML-gebaseerd bestandformaat dat speciaal is ontwikkeld om muzikale notatie of digitale bladmuziekgegevens op te slaan. Het is gebaseerd op eerdere formaten, MuseData en Humdrum.
XML geeft MusicXML de kracht en flexibiliteit om eenvoudig te worden benaderd, verwerkt, weergegeven en op andere manieren te worden gemanipuleerd door een breed scala aan geautomatiseerde tools. Bovendien maakt de algemene acceptatie als standaard het een ideaal formaat voor het maken van partituren met behulp van computertechnologie. Sinds de oorspronkelijke release door Recordare in januari 2004 (versie 2.0 werd uitgebracht in juni 2007), heeft MusicXML erkenning gekregen in de muzieknotatie-industrie, met ondersteuning in meer dan 100 toonaangevende producten, en wordt het erkend als de de facto XML-standaard voor het uitwisselen van muzieknotatiegegevens. Deze producten zouden MusicXML niet hebben overgenomen als het niet kon worden gebruikt om gegevens uit te wisselen met toonaangevende toepassingen zoals Finale en Sibelius. Door geavanceerde plug-ins te ontwikkelen voor populaire muzieknotatieprogramma's, zou Recordare haar klanten alle voordelen kunnen bieden die XML kan bieden voor gegevensuitwisseling en standaardisatie.
De oplossing
De Dolet 4-plug-ins, gebaseerd op MusicXML, voor Finale en Sibelius bieden een nauwkeurigere en bruikbare weergave van bladmuziek dan standaard MIDI-conversie. Naast de native ondersteuning voor MusicXML, verbeteren de Dolet 4-plug-ins voor Finale en Sibelius de mogelijkheden van deze programma's door geavanceerde functies toe te voegen, zoals:
- Batchvertaling
- Nauwkeurigere en betrouwbaardere gegevensuitwisseling
- Meer controle over de opmaak
- Ondersteuning voor het MusicXML XML-schema (naast de DTD)
Bij de ontwikkeling van de plug-ins moest Recordare rekening houden met specifieke eisen die werden gesteld door de Sibelius- en Finale-applicaties. De Sibelius-plug-in is geprogrammeerd in ManuScript en is een van de grootste plug-ins die ooit in die programmeertaal zijn geschreven. Finale vereist daarentegen dat plug-ins een C-kern hebben, en Recordare heeft dit geïmplementeerd, met daarbovenop logica voor MusicXML in Java en een JNI-laag om de communicatie tussen Java en C in beide richtingen mogelijk te maken.
De Dolet-plugins van Recordare zijn tegenwoordig een cruciaal onderdeel van het proces van het voorbereiden van muziek voor veel televisiescores en films, evenals voor nieuwe muziekuitgaven. Fouten in de vertaling moeten worden opgelost in onderhoudsupdates, terwijl tegelijkertijd ervoor moet worden gezorgd dat er geen nieuwe fouten worden geïntroduceerd in deze complexe vertaalplugins. Het uitvoeren van regressietests op het MusicXML-bestand dat door de Dolet-plugins wordt geproduceerd, is dus een essentieel onderdeel van het kwaliteitsborgingsproces van Recordare.
Recordare heeft Altova's DiffDog gebruikt bij de ontwikkeling van de Dolet-plugins. XMLSpy werd gebruikt voor het testen en wijzig hun DTD's en XML-schema's, en DiffDog voor regressietests van de MusicXML-bestanden die door de software worden gegenereerd. Recordare heeft verschillende regressietestsuites die een breed scala aan muziekrepertoire bestrijken, van barok tot hiphop. DiffDog maakt het eenvoudig om verschillen te identificeren tussen meerdere uitvoeringen van deze testsuites, en biedt de mogelijkheid om verschillen in XML-metadata-elementen, zoals de softwareversie en de datum van aanmaak van het XML-bestand, te negeren, aangezien deze altijd veranderen tussen verschillende testgevallen.
Recordare heeft Altova's XMLSpy, een XML-editor, gebruikt om de MusicXML DTD's en XML-schema's te bewerken. Dit begon met het gebruik van XMLSpy 3.5 (uitgebracht in 2001) om de eerste alfa- en betaversies van de MusicXML DTD te creëren. Versie 2.0 van MusicXML voegde een gecomprimeerde zip-versie van het formaat toe, vergelijkbaar met wat wordt gebruikt in andere XML-toepassingen zoals Open Office en Open XML. De uitgebreide ondersteuning van XMLSpy 2008 Enterprise Edition voor gecomprimeerde XML-bestanden maakte het eenvoudig om deze nieuwe functie te testen, samen met de Dolet for Finale-plugin.
De ondersteuning van XMLSpy voor XQuery heeft ook bijgedragen aan de inspanningen van Recordare op het gebied van regressietesten. Als reactie op een verzoek van een klant, exporteert Recordare nu XML-verwerkingsinstructies vanuit de Dolet voor Sibelius-plugin wanneer deze een muzikaal element tegenkomt dat het niet correct kan omzetten. Een eenvoudige XQuery-uitvoering om alle verwerkingsinstructies in de XML-bestanden in een bepaalde map te zoeken, stelt Recordare in staat om te controleren of deze beperkingen aanwezig zijn binnen elke testsuite, en vervolgens de resulterende XML-bestanden te vergelijken met behulp van DiffDog tussen verschillende uitvoeringen van de testsuite.
Recentelijk heeft de vraag van klanten Recordare ertoe aangezet om een XSD-versie van het MusicXML-formaat te ontwikkelen. XMLSpy is gebruikt om de schema's te ontwikkelen en te testen. Met de functies van XMLSpy konden schemavalidatie, beperking en uitbreiding van schema's, en automatisch gegenereerde schemadocumentatie allemaal worden getest.
De resultaten
De Dolet-plug-ins zijn uitbreidingen voor gangbare software in de muziekindustrie die gebruikmaken van de ingebouwde mogelijkheden van het MusicXML-formaat om muzieknotaties daadwerkelijk uitwisselbaar te maken tussen verschillende systemen en tools. Deze plug-ins zijn in staat om nauwkeurige en betekenisvolle muzieknotatie te genereren op basis van de krachtige MusicXML-specificatie. De geavanceerde mogelijkheden voor XML-schema-bewerking in XMLSpy en de uitgebreide ondersteuning voor verschillen in XML-bestanden en mappen in DiffDog stelden Recordare in staat om de MusicXML-schema's te schrijven en te verfijnen, en regressietests uit te voeren op de Dolet-plug-ins. Het resulterende hoge kwaliteitsniveau van de schema's en software heeft ervoor gezorgd dat MusicXML en de Dolet-plug-ins een essentieel onderdeel zijn geworden van de toolkit voor componisten, arrangeurs, uitgevers, kopiëerders en grafici in de hele industrie, waar gebruik wordt gemaakt van gedrukte muziek.
Probeer XMLSpy, DiffDog en de andere tools uit de Altova MissionKit zelf met een gratis proefperiode van 30 dagen.