如何从 musicxml 文件中获取 wav?我试过这个javascript 包。
我收到各种错误,每个文件都不同,但主要是
“无法读取未定义的属性 'score-partwise'”
. 我似乎找不到其他任何东西。
你知道一些可靠的东西吗?
musicXML 是一种描述乐谱(乐谱)的格式。(不是播放某些东西时产生的实际声波,例如 *.wav 文件中的波形录音)
xml 大部分可以转换为 MIDI 符号,并且给定一个 MIDI 合成器,合成乐器可以播放乐谱,这可以生成在 wav 文件中找到的声波。
几乎所有的转换器都经过这个过程 XML->midi->wav
有很多 xml->midi 转换器。wav 文件的质量很大程度上取决于 midi->wav 转换器部分。
我只玩过这些东西,从未真正制作过文件,但从未遇到任何问题,使用http://www.programfabriken.com/
只是为了在此处快速添加此信息:
MusicXML 只是注释。要将其转换为 WAV,您需要实际“播放”它。
由于您需要一种字体来显示文本,因此您需要一种使这些音符播放声音的方法。还有其他方法,但到目前为止,通常被称为 soundfonts 的东西对我来说质量最好。由于字体包含每个字符的表示,声音字体包含以变体(正常、断奏等)演奏的每种乐器的录音。由于乐器及其演奏者的声音不同,因此也有各种各样的声音字体。如果您想要非常好的质量,我想您将不得不购买Apple 的Logic Pro X之类的套件,该套件目前包含Over 2700 instrument and effect Patches
. 尽管如此,也有一些不错的免费替代品可用。以下是我在快速研究中发现的一些内容:
当你拿到它们时,你只需要一个支持导入它们的符号程序,比如免费的 MuseScore:https ://musescore.org/en/handbook-sound-and-playback/soundfonts
但 MuseScore 似乎是一项手工工作。也许你可以自动化它,或者你必须看看另一个程序/库。
Ubuntu 20.04 上的 Rosegarden 19.12 可以导入 MusicXML 和导出 MIDI。我还没有让它在 Ubuntu 上运行,可能是因为:https ://askubuntu.com/questions/510052/how-do-you-get-rosegarden-to-play-sound-when-playing-a -midi-in-it然后你可以将 MIDI 转换为任何胆小的 + ffmpeg: Convert midi to mp3