问题标签 [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:挑选旋律音轨
我正在处理大量使用music21 为现有流行歌曲制作的midi 文件。
虽然通道 10 是为打击乐保留的,但旋律轨道遍布不同的通道,所以我想知道是否有一种有效的方法来挑选主旋律(人声)轨道。
我猜一种方法是选择由单个音符而不是重叠谐波(和弦)组成的曲目,以及在整首歌曲中播放的曲目,但还有其他有效的方法吗?
python - 使用music21库从midi文件中提取原声低音鼓
我从这里下载了 midi 文件:Taylor Swift - You Belong With Me.mid
然后我只想提取原声低音鼓部分,这意味着我想要这首歌的输出原声低音鼓.mid。
我使用music21库来解析midi文件,下面是我的代码:
然后输出是
我不知道哪个是打击乐...在我知道哪个部分是打击乐之后,我想提取该部分中的原声大鼓并将其输出为原声大鼓.mid文件。谁能告诉我该怎么做?谢谢
[编辑] 我用下面的代码,
那么输出是14,也就是说mf.tracks[14]是打击乐器,那么我需要提取音高为35或者36的部分。
然后我使用了下面的代码:
然后有很多输出。我正在考虑下一步我应该做什么。
python - music21:按音符位置将音符写入 MIDI 文件
我正在使用 music21 从音符值写入 MIDI 文件。
以下代码顺序写入三个音符。
但是,如何在注释之间插入“空白”空间?
如果我可以通过它们的“位置”插入音符,那将非常容易,这样我就不必计算每个无声间隔的位置/长度。用music21可以吗?
python - music21:读取 MIDI 文件的 BPM 和乐器信息并将其写回文件
我正在尝试实现一个读取 MIDI 文件并将其写回的代码。
我有以下代码来解析持续时间、音高和位置。
然后我进行一些转换并将其写回文件,如果音高为-1('isRest')则扩展 t(所有音符的速度设置为 90):
但是,读取部分不包含 MIDI 文件的整体速度/BPM 或特定乐器源(“bestName”似乎只是猜测),因此,写入部分不强制执行任何 BPM 或乐器源信息。
有没有办法为新的 midi 文件读取/解析和写入/执行相同的速度和乐器?
我查看了文档 ( http://web.mit.edu/music21/doc/moduleReference/moduleMidi.html#midifile ) 中的 MidiFile 和 MidiTrack 部分,但只能找到有关频道或 ticksPerQuarterNote 的信息,这与我不太一样正在寻找。
**************编辑**********
我找到了一种获得曲目 BPM 的方法,尽管这是一种非常笨拙的方法。
除了最初的问题,我还需要弄清楚每个轨道的通道号,这样我就可以区分打击乐和非打击乐轨道。
ironpython - IronPython - KeyNotFoundException
我正在尝试从 C# 运行 Python 脚本。这个 Python 脚本需要使用 music21 模块。单独运行脚本(将分数设置为某个值)工作正常,但我从 IronPython 获得 KeyNotFoundException 消息 = "abcFormat" 和 StackTrace =
这是 C# 代码:
这是 Python 脚本 getkey.py:
music21文件夹的目录布局为:
python - Music21:从 MIDI 文件中获取每个乐器的所有音符
我正在按照此处的说明解析 MIDI 文件。我的代码如下所示:
该components
列表现在包含如下数据:
我的目标是根据标签中列出的每种乐器来分隔音符,<music21.instrument.Instrument Electric Guitar>
例如. 我如何实现这一目标?
xml - music21 格式流为 ABC+ 并保存为文件
我正在尝试将整个巴赫语料库(mxl 文件)转换为 abc 文件。这在music21中可能吗?
谢谢!v
python - 如何使用 python 获取 midi 轨道乐器名称?
我发现的唯一方法是使用music21:
但它的输出不正确:
空的地方也是一个乐器名称,它只是无法读取它,但问题不在文件中,因为我可以将它正确导入到tuxguitar。此外,music21 无法粘贴大的 MIDI 文件并卡住。我尝试了 mido 库,但没有办法获取轨道乐器,我找到了一个属性,但不知道如何使用它。
如何使用 python 解析 midi 轨道乐器?
python - Python——如何重命名music21包中的Musescore路径?
我尝试安装 Python 包 music21,但在 Windows 中运行它时遇到问题。基本上,当我尝试运行他们作为示例给出的简单命令时
我有一个错误
这是因为 Musescore.exe 不再存储在文件夹“MuseScore 2”中,而是现在位于名为“bin”的子文件夹中。因此需要将路径设置为“C:\Program Files (x86)\MuseScore 2\bin\MuseScore.exe”才能访问Musescore。
我该如何改变?
完全错误