问题标签 [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.
python - 在music21中将钢琴卷曲转换为MIDI?
我正在使用 music21 处理 MIDI 和 mXML 文件并将它们转换为我在项目中使用的钢琴卷。
我的钢琴卷由 88 维向量序列组成,其中向量中的每个元素代表一个音高。一个向量是一个时间步长,可以是第 16、第 8、第 4 等等。元素可以获得三个值 {0, 1, 2}。0 表示音符关闭。1 表示音符打开。2 也表示音符已打开,但它始终跟随 1 - 这就是我区分同一音符的多个按键的方式。例如,让时间步长为第 8 个,这两个音高为 C 和 E:
我们看到 C 和 E 同时演奏四分音符,然后再次演奏四分音符,我们以持续四分音符的 C 结尾。
现在,我正在Stream()
为每个笔记创建并在笔记到来时填写它。这给了我 88 个流,当我将其转换为 MIDI,并使用 MuseScore 打开那个 MIDI 时,这给我留下了无法阅读的混乱。
我的问题是,有没有更好的方法可以将这种钢琴卷轴转换为 MIDI?一些我可以使用的算法或想法将不胜感激。
ipython - 如何在 ipython/python 中使用 music21 显示乐谱,每次调用 .show() 时都不会重新打开 MuseScore?
我在 ipython 笔记本中使用 music21 和 MuseScore。它工作得很好,唯一的问题是每次我创建一个 Stream 然后运行 my_stream.show() 时,它需要一个永远,因为它等待打开 MuseScore 应用程序。即使 MuseScore 已经打开,也会发生这种情况(它会打开应用程序的第二个副本,然后在打印图像后自行关闭)。
如何防止music21每次重新打开MuseScore并让它使用已经打开的应用程序?
编辑:添加版本/操作系统信息
我在使用 MuseScore 版本 2.1.0 的 mac (OSX 10.10.4) 上
我也尝试过这里概述的方法在 ipython 笔记本中打印乐谱,但同样的事情发生了。
至少对于第二种方法,问题似乎出在music21/converter/subConverter.py中。
在下面
有这个部分:
我相信尤其是这条线
每次都独立打开 MuseScore,但我不知道用什么替换它可以让 music21 找到已经运行的 MuseScore 实例。
python - 遍历 Music21 中的所有音符
我正在尝试为每个注释获取如下信息表:
对于流中的每个音符(可以包含声音等)。有没有一种简单的方法来遍历所有的 notes,所以我可以只调用一个属性?
我一直在尝试:
这样做的问题是缺少关键信息(持续时间等)。
ps:理想情况下,我可以对流进行预处理,因此 Ties 被视为完整的音符持续时间。我相信 Stream.stripTies 可以做到这一点。
我正在测试的 musicXML 文件是:
python - 是否可以使用 music21 分析 mp3 文件?
我正在寻找 python 库来找出以 MP3 格式录制的歌曲的键和节奏。我找到了允许这样做的 music21 库。但它似乎只适用于 MIDI 文件。有人知道如何使用 music21 解析 MP3 文件并获得所需的声音特性吗?如果不可能,请建议另一个库。
music21 - 如何在 Music21 中将 ChordSymbols 与音符一起移调?
我正在尝试转调爵士乐谱。当我转置 Music21 流时,只有音符被转置。ChordSymbols 保持不变。
这是我所看到的微小注释的示例。注意:我没有在我的实际用例中使用 TinyNotation,但它在这里提供了一个示例。
这是输出。
我正在使用音乐 21-4.1.0。
python - 如何使用 music21 显示空谱表?
我正在尝试对一些有关音乐的教育材料进行快速修改,以 展示它如何能够使用 Pythonmusic21
包从 Jupyter 笔记本中的“代码”创建相关的媒体资产(图像、音频文件)。
似乎最简单的步骤是最难的。例如,我如何创建一个空的人员:
还是一个由音符组成但开头没有谱号的五线谱?
如果我这样做:
我得到以下?
python - Music21 操纵特定乐器
我在 Python 中使用 Music21 从 MIDI 文件中读取,我只想处理使用某种乐器的轨道。例如,如果在我的 MIDI 文件中有两个使用钢琴的音轨,我希望能够打印音符、更换乐器等。
现在我有一个包含多个音轨(鼓、小号等)的文件,我只是在搞乱它,试图用另一种乐器替换某种乐器。但是,当我这样做时,我得到一个错误,尽管仪器已成功更改(假设它不是已删除的曲目之一),但某些曲目已完全删除。
这是我当前的代码:
这是我得到的错误:
time - Music21 获取 txt 或 csv 中的时间和频率样本
我正在熟悉 python,但我刚刚发现了music21,即使我目前正在尽可能多地阅读文档,我也很难找到简单问题的简单答案:
如何以特定速率采样一段音乐(例如从 .wav 或 .aup 文件)以获得时间和频率(或 log2),最终使用music21?
这里的想法是指定速率(比如每 0.1 秒)并获取线条。
我猜music21.audioSearch.autocorrelationFunction 工具应该没问题,但不确定我是否完全理解它的作用......
如果有帮助的话——我的目标是通过计算分析对这些音乐片段进行分析,以了解频率波动相对于来自表演和表演者的几个因素。
所以我需要在某个时候将其打印到 .csv 或 .txt 以保存数据。
预先感谢您为我提供的任何线索;-)
list - 使用 music21 从 .mxl 文件中提取音符数据
我对 python 很满意,但最近开始尝试一些音乐分析。我遇到了 music21,我想知道如何提取音乐 .mxl 文件中每个音符的基本音符数据(音高和持续时间)。我已经阅读了文档,但一直在努力消化所有内容并找到可以满足我需要的东西。由于我对 .mxl 文件和音乐 21 的经验有限,我无法提供迄今为止我尝试过的任何真实示例。
但是,我收集到的是可以通过使用来获得音乐的情节
其中,对于我使用的特定作品,看起来像
这清楚地表明,在第一小节中,音符 C4、Eb 和 G 被演奏,其中小节的长度代表音符的持续时间。最终我想要一个列表格式的数据。
通过做,
我可以得到一个播放的音符列表,它们的节拍在位置上,但它的打印内容类似于
但这仍然需要按摩:1)获得与图表显示相同的信息,2)将其转换为我想要的列表格式。
对此的任何帮助将不胜感激。同时,我将继续阅读文档。提前致谢!