将 musicxml 转换为 wav?

Convert musicxml to wav?

如何从 musicxml 文件中获取 wav?我尝试了 this javascript 包。

我收到各种错误,每个文件都不同,但主要是

"Cannot read property 'score-partwise' of undefined"

。我似乎找不到其他任何东西。

你知道靠谱的吗?

音乐XML是一种描述乐谱(乐谱)的格式。 (不是播放某些东西时产生的实际声波,例如 *.wav 文件中的波形记录)

xml 大部分可以转换为 MIDI 符号,并且给定 MIDI 合成器合成乐器可以播放乐谱,这可以生成 wav 文件中的声波。

几乎所有的转换器都经过这个过程 XML->midi->wav

有很多 xml->midi 转换器。 wav 文件的质量在很大程度上取决于 midi->wav 转换器部分。

我只玩过这些东西,从来没有真正制作过文件,但从来没有遇到过任何问题,使用http://www.programfabriken.com/

只是为了在此处快速添加此信息:

MusicXML 只是音符。要将其转换为 WAV,您实际上需要 "play" 它。

正如您需要一种字体来显示文本一样,您需要一种方法让这些音符发出声音。还有其他方法,但到目前为止,通常被称为 soundfonts 的方法对我来说质量最好。由于字体包含每个字符的表示,因此声音字体包含以变体(正常、断音等)演奏的每种乐器的录音。由于乐器及其演奏者的声音不同,因此音色也多种多样。如果你想要非常好的质量,我想你必须购买像 Apple 的 Logic Pro X 这样的软件包,它目前包含 Over 2700 instrument and effect Patches 的库。尽管如此,也有一些不错的免费替代品可用。以下是我在快速研究中发现的一些内容:

当你接触到它们时,你只需要一个支持导入它们的记谱程序,比如免费的 MuseScore:https://musescore.org/en/handbook-sound-and-playback/soundfonts

不过MuseScore好像是个手工活。也许您可以将其自动化,或者您必须再寻找一个 program/library.

Rosegarden 19.12 on Ubuntu 20.04 可以导入 MusicXML 并导出 MIDI。我还没有让它在 Ubuntu 上运行,可能是因为:https://askubuntu.com/questions/510052/how-do-you-get-rosegarden-to-play-sound-when-playing-a-midi-in-it Then you can convert MIDI to anything with timidity + ffmpeg: Convert midi to mp3