问题标签 [musicxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 删除和替换 XML 文件中的特定节点
我一直在研究一个分析乐谱并从中删除特定音符的项目。因此,既然我已经获得了代码所需的信息,我现在需要使用我的新信息来编辑原始 XML 分数。我在 Python 中这样做并且已经使用过 Minidom,所以我显然想坚持下去(我知道这可能是一个愚蠢的选择,因为这里的很多帖子都推荐了不同的 XML 解析方法,因为界面不太友好存在于 Minidom 中)。
所以说,在我的原始 XML 文件中,我有一首仅由 10 个音符组成的乐曲。笔记的 XML 格式如下所示:
因此,对于每个音符值,这将重复 10 次。现在我已经完成了分析,我想删除其中的 5 个注释。删除是指用休止符替换(因为它毕竟是乐谱并且它具有符合的形状)。因此,XML 文件中的 rest 格式如下所示:
所以我所要做的就是删除音高标签并用休息标签替换它。但是我不确定如何解决这个问题,从我的搜索中并没有真正找到任何看起来相似的东西。
我不太担心找到要删除的注释在哪里,因为我已经编写了一个快速测试工具来展示我将如何在 Python 中进行下面的操作(xml_format 本质上只是一个包含我的新信息的字典列表)。它包含与原始 XML 文件相同数量的注释,唯一的区别是其中一些现在被标记为删除。所以原始文件可能有如下注释:G、Bb、D、C、G、F、G、D、Bb 和 xml_format 将有 G、Bb、D、REMOVE、G、REMOVE、G、D、Bb 等。
我刚刚返回了一个,以确保删除了正确数量的笔记。
所以基本上我只是在寻找一些语法或代码的帮助,可用于在特定点删除特定节点,然后用新节点替换,然后再写入新文件。非常感谢您的帮助,我希望这是可能的(逻辑似乎并不复杂,但谁知道什么是可能的)!
python - 从 musicxml 生成 pdf 和 midi
我一直在尝试加载一个 MusicXML 文件,对其进行编辑(删除几个部分),并创建一个 PDF 表单文档 + midi/mp3,所有这些都使用 Python。
我首先看了一下music21
,这将正确加载我的 MusicXML 文件,但据我所知,不会输出正确的文件(输出文件中的所有细节都消失了,剩下的就是注释和标题)
然后我发现abjad
哪个看起来很有希望。它确实输出了高质量的 ly/pdf 文件,但没有导入 musicxml。
然后,我发现 Lilypond 带有一个musicxml2ly
脚本。我能够调用它并使用sh
(great lib!)在python中获取结果lilypond文件,但是abjad
lilypond
解析器不会解析它(文档说它解析了lilypond的“大子集”,没有更多的精度)。
最后,我发现music21
有一个导出器到 abjad python 对象,但它似乎不再存在于代码库中,并且导出器的源代码显然只是导出了注释。
我有点别无选择,我能做些什么来实现这些目标?
(补充一点:我仍然不知道我将如何做第二部分,使用声音字体进入 midi/mp3,但这可能不是最难的部分。有什么建议吗?)
c# - 在反序列化之前如何区分 XML 文件的类型?
我正在将 MusicXML 文件加载到我的程序中。问题:有两种“方言”,timewise和partwise,它们有不同的根节点(和不同的结构):
和
到目前为止,我反序列化部分分数的代码是:
区分这两种方言的最佳方法是什么?
java - Jfugue:不正确的 MusicXML 格式
我正在使用 Java 开发一个个人项目,我正在使用 JFugue 来简化音乐的生成和播放。我正在尝试为我保存的每个 MIDI 文件输出一个 MusicXML 文件,以便可以在 Finale NotePad 中查看它们,但输出的 MusicXML 文件似乎没有正确格式化。它们突然像这样结束:“...<type>/0.0</type></note><note><”。
这是我用来编写文件的代码:
security - MusicXML-File:重定向 URI 的 WebPermission 需求失败
我有一个 MusicXML 文件,以
该文件是使用 museScore 生成的,并且似乎是有效的 XML。在 MS VS pro 2013 中打开此文件时出现九个错误,其中包括:“Fehler bei WebPermission-Anforderung für Umleitungs-URI”。
而以前的事件并没有打扰编译器。
我不知道这种行为的根本原因是什么?
xml - 在 musicXML 中查找音符开始
我正在尝试使用 java 和 jSoup 在 musicXML 文件中解析每个分区正在播放哪些音高类的列表。输出应如下所示(每个分区一行):
考虑到乐曲中的分割数,我可以根据音符时长填充这个数组。但我似乎找不到笔记的开始时间。有没有简单的解析方法?
musicXML规范有一个持续时间和一个音高(我可以解析),但我对音符的开始时间感到困惑。
musicxml - MusicXML 中的分段标记
我正在寻找一种将分段标记放入 musicXML 文件的方法,该文件可以通过 musescore 等软件读取。
也许是一条大的垂直线或音符上方的标签?
关于如何以简单的方式标记笔记的任何想法?
我可以写歌词。但是像这样标记它会很棒:
java - 迭代不同的元素并更改 JSoup 中的特定元素
我需要更改一些嵌套在 musicxml 文件中的元素。我使用 jSoup 来解析文档并执行我的计算。
现在我想了解一下 jsoup 文档并先进行一些修改。问题是,在 xml 文件中,元素没有唯一标识符(例如,有很多注释和小节,注释没有编号)。
我像这样循环浏览文档。在满足某些条件后,我想更改特定的注释。在 java 中使用这个迭代器使用一个副本,因此修改元素不会对原始文档产生影响。我可以使用 i = 0; 我 < ?? 或者其他的东西?这是否会以相同的顺序遍历元素(对于检查标准很重要)。
java - 在元素周围不添加空格和换行符的输出 JSoup
我正在使用 JSoup 解析和输出一个 xml 文件(当然还有修改其间的元素)。
输出文件有一些额外的空格和换行符。我想知道我是否可以以原始格式打印它。
原来的:
新的:
关于如何从元素中删除空格/输入的任何想法?
我目前阅读并打印这样的文档:
c# - 为什么我在使用 Manufaktura 库时出现命名空间错误
我正在尝试使用这个库 Manufaktura 在 WPF 应用程序中绘制音乐符号。
我在 Visual Studio 的解决方案资源管理器中也引用了适当的 dll。
当我使用代码示例时,我遇到了两个错误(三个但两个基本相同)。
指令中的代码:
错误:
错误 1 找不到类型或命名空间名称“Score”(您是否缺少 using 指令或程序集引用?)
和
错误 3 无法从用法中推断方法“Manufaktura.Model.MVVM.ViewModel.OnPropertyChanged(System.Linq.Expressions.Expression>)”的类型参数。尝试明确指定类型参数。
我错过了什么吗?