关于如何添加功能以在应用程序上导入Finale音乐文件的建议?
我正在开发一个音乐编写应用程序,并希望添加功能来导入Finale音乐文件。现在,我唯一知道的是它们是enigma二进制文件。
有人对我从哪里开始有什么建议,以便我可以解析这些类型的文件吗?
解决方案
获取一个好的十六进制编辑器,然后开始查找一些文件。寻找共同的结构。做一些侦探工作。在文件中查找可能是计数,大小或者偏移量的字段。在Finale中进行一些细微的更改,并观察文件中的更改。使用十六进制编辑器进行更改,然后将更改的文件重新加载到Finale中,看看更改是否达到了预期。
因此,这是一个完全无益的答案,但是反转文件格式的最佳方法是跳入并执行该操作。我们可能需要很长时间才能进行顺便说一句,但至少这很有趣。
哦,祈祷文件格式没有被压缩...
我不知道较旧的.mus文件,但此处部分描述了较新的.eft文件:
http://www.lilypond.org/web/devel/misc/etfformat。
我将研究MusicXml格式,http://www.recordare.com/xml.html。
结局应该能够导出到MusicXml。 (我认为它是与Finale的较新版本一起提供的插件提供的)。从那里开始,它毕竟应该相对简单,因为它是xml。
结局文件不仅是二进制文件,而且是压缩的加密二进制文件。 ETF文件是文本文件,并且在Finale插件开发人员工具包的较早版本中确实有一些文档。但是ETF导出已在数个版本的Finale中删除。
如先前所建议,最好的选择是导入MusicXML文件。这将在更少的开发时间内为我们提供更高质量的进口产品。自2006年以来就在Finale中内置了MusicXML支持,从2006年以来就在PrintMusic中提供了支持,从2007年开始就内置了对Allegro和Songwriter的支持,并将在2009年引入NotePad和Reader。在Mac OS X PPC上为2004,在Mac OS X Intel上为2007. 在Finale中对MusicXML的支持已经开发了将近10年,并提供将Finale文件几乎无损地导出为开放的,标准的,免版税的格式。
MusicXML受150多个程序支持,因此,通过添加MusicXML支持,我们不仅可以获得Finale文件支持,而且还支持最初使用Sibelius,capella,Encore或者(通过PDFtoMusic Pro)任何可以打印PDF版本的程序创建的文件乐谱。
在http://www.makemusic.com/musicxml上有许多有关MusicXML的信息。这包括MusicXML DTD和XSD,教程,示例文件等。在http://www.makemusic.com/musicxml/mailing-list上还有一个MusicXML开发人员邮件列表可供注册。
MusicXML具有很多功能,因此不要尝试立即解决所有问题。开始支持音调和节奏的基础知识,然后根据客户的需求随时间增加越来越多的功能。