问题标签 [music21]

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.

0 投票
0 回答
612 浏览

python - 从midi文件usign music21中提取所有信息

我正在尝试使用 10 种乐器从 MIDI 文件中提取音符、和弦和休止符music21,在这篇文章之后,我可以为每种乐器获取这些:

这是每个乐器的音符、和弦和休止符的数量

如您所见,它们非常不同,这是因为我没有提取所有可用信息。如何认证这个结果以同步和弦、音符和其他几种乐器?

0 投票
3 回答
4649 浏览

python - 默认情况下,在 Python 中安装“可选”依赖项(setuptools)

有没有办法为 Python 包指定可选依赖项,默认情况下应该从中安装,pip如果无法安装,安装不应被视为失败?

我知道我可以指定install_requires以便为 90% 使用可以轻松安装某些可选依赖项的操作系统的用户安装软件包,而且我也知道我可以指定extra_require指定用户可以声明他们想要完整安装来获得这些功能,但我还没有找到一种方法来进行默认pip安装尝试安装软件包,但如果无法安装它们也不会抱怨。

(我想更新的特定包setuptoolssetup.py称为music2195% 的工具可以在没有 matplotlib、IPython、scipy、pygame、一些晦涩的音频工具等的情况下运行,但如果这些包获得额外的能力和速度软件包已安装,我宁愿让人们默认拥有这些能力,但如果无法安装则不报告错误)

0 投票
2 回答
521 浏览

python - 从 Music21 保存图像文件

我已经下载了一堆 .krn 文件,我想使用 music21 将它们转换为图像 - png 或 jpg。我试过这个:

当我这样做时:

我在正在使用的 Jupyter Notebook 中看到了一个很棒的图像文件,但是当我尝试像这样以编程方式保存该文件时:

它说:

这似乎有点奇怪,因为它显然设法在笔记本中显示图像。

看起来也许我可以LilypondConverter.createPNG(fileName=None)从中使用,但是需要安装 Lilypond 吗?我已经安装了 MuseScore2,当我调用s.show().

非常感谢!亚历克斯

0 投票
3 回答
1351 浏览

music21 - 无法在 Music21 中显示乐谱

我在 Jupyter Notebook 工作。我已经安装了music21,musescore,设置xml路径如下:

我还运行了配置,发现musescore 正在被music21 检测到。但是,当我使用 show 方法时,出现以下错误:

任何帮助表示赞赏。谢谢!

0 投票
0 回答
251 浏览

python - Music21 乐器对象未按预期工作

我正在尝试使用 RNN 神经网络预测 python 中的下一个乐器音符对。但是,我无法解释我目前所在部分的 music21 文档。

在下面的代码中,我试图提取乐器。

  1. 为什么我会得到多种乐器?例如:乐器.钢琴.钢琴。

    • 我目前的理论是每个流部分都返回不同的内存地址,或者 music21 具有这些不同乐器的多个变体。如果第二个陈述成立,是否有办法获得每个仪器变体的唯一性?
  2. 为什么有些乐器没有任何名称?

    • 我对为什么会这样有一些想法,但我想与社区确认,以确保我仍然神志清醒。


我的文件输出:

我的文件输出

0 投票
1 回答
385 浏览

python - 只分析 Pretty_Midi Instruments

试图找出解决此问题的好方法,但想寻求最好的方法。

在我的项目中,我正在查看神经网络的多个乐器音符对。唯一的问题是有多个具有相同名称的仪器,仅仅因为它们具有相同的名称并不意味着它们 100% 的时间都是相同的仪器。(应该是,但我想确定。)

我个人想分析乐器本身(例如有关乐器的元数据),而不是与之相关的音符。那可能吗?

我还应该提到我正在使用 pretty-midi 来收集乐器。

0 投票
1 回答
227 浏览

python - Music 21 在没有时长 1/3 时找到音符

我编写了一个 python 脚本来从一个 midi 文件中提取所有的音符、它们的偏移量和持续时间。我已经做到了这一点,但是我对四分音符(四分音符的持续时间)有疑问。我得到许多持续时间为 1/3 或其他一些三分之一的音符。然而,据我所知,没有一个音符有任何 1/3 的持续时间,因为它们都是四分音符、二分音符或十六分音符。这些持续时间来自哪里?

我尝试过使用具有不同时间签名的乐曲,但 4/4 乐曲、3/4 乐曲和 3/2 乐曲都为某些音符提供了 1/3 的四分之一长度。这是我的参考代码:

其中 bwv525-1.mid 是我正在阅读的文件

0 投票
1 回答
28 浏览

python - 如何(自动)区分 Opus 和 Score 对象?

我正在使用 1850 O'Neills Folksong 语料库,因为它来自于 music21 语料库。我需要遍历所有歌曲。

我尝试使用以下代码

...然后迭代数字。在大多数情况下,每个op变量都是一个 Opus 对象,它的每个数字都与一个分数相关联。

问题是这并不总是正确的。例如,第 15 个元素songs(即索引 14)是一个 Score 对象本身,而不是 Opus。所以我的代码在尝试使用 getNumbers 时崩溃。

我想,解决方案应该事先检查是否op是 Opus(在这种情况下使用 getNumbers,就像我之前所做的那样)或 Score(在这种情况下跳过第二次迭代部分)。但我找不到如何做到这一点,或任何其他解决我问题的方法。

0 投票
1 回答
271 浏览

midi - 无法使用 music21 库在 Python 中解析 MIDI 文件

我正在尝试解析一些 MIDI 文件,但没有任何反应。这很奇怪,因为有些文件的解析没有任何问题,而且速度非常快,而有些则卡住了。我不知道是什么问题,因为它没有显示任何错误,程序只是卡住了。MIDI 文件之间有什么区别?为什么有些文件无法解析?

0 投票
1 回答
710 浏览

python - 如何使用 Python 中的长笛乐器从音符制作 MIDI 文件(music21 库)

我有一些笔记,我想要的是用长笛乐器创建 MIDI 文件。但是会发生的是输出的 MIDI 文件播放的是钢琴,而不是长笛。我尝试了其他乐器,但总是一样,钢琴。到底是怎么回事?