标签: music21

如何从Music21制作的音乐中产生实时音频输出?

如何从Music21制作的音乐中产生实时音频输出.如果做不到这一点,我如何通过开源软件从Music21制作的音乐中产生任何音频输出?谢谢您的帮助.

python audio music21

5
推荐指数
2
解决办法
2909
查看次数

使用iPython Notebook / Enthought Canopy显示music21,musicXML PNG对象

我正在尝试music21库,以准备一个涉及类型分类和分类的机器学习项目。我和以下可用一些教程在这里。我将MuseScore用作我的MusicXML程序,并且试图从iPython运行整个程序。

尽管我可以从终端运行一些教程,但是某些元素在iPython内部似乎运行不佳。例如:

In [3]: sBach.show()
Out[3]: <music21.ipython21.objects.IPythonPNGObject at 0x10da0aa10>
Run Code Online (Sandbox Code Playgroud)

上面的行显示已创建PNG对象,但未显示。上面3的预期输出如下:

在此处输入图片说明 通过尝试以下iPython命令,我获得了图像的占位符,但没有图像。

In [6]: %load_ext music21.ipython21.ipExtension
In [7]: sBach.show()
Run Code Online (Sandbox Code Playgroud)

我的MusicXMLPath找不到任何问题。本教程涉及在Anaconda中使用musc21,但是我的所有开发工作都是通过Enthought完成的,因此,我不希望运行其他虚拟环境来在iPython中使用music21。

有什么方法可以在Enthought / iPython笔记本中运行music21吗?

在此处输入图片说明

png ipython enthought musicxml music21

5
推荐指数
1
解决办法
1842
查看次数

在音乐中创建音符图像21

运行时出错:

from music21 import *

n1 = note.Note('C4', quarterLength=1)
n2 = note.Note('A4', quarterLength=1)
s = stream.Stream()
s.append(n1)
s.append(n2)
s.show('lily.svg')

Traceback (most recent call last):
  File "C:\Python34\test.py", line 7, in <module>
    s.show('lily.svg')
  File "C:\Python34\lib\site-packages\music21\base.py", line 2206, in show
    return formatWriter.show(self, regularizedConverterFormat, app=app, subformats=subformats, **keywords)
  File "C:\Python34\lib\site-packages\music21\converter\subConverters.py", line 277, in show
    returnedFilePath = self.write(obj, fmt, subformats=subformats, **keywords)
  File "C:\Python34\lib\site-packages\music21\converter\subConverters.py", line 245, in write
    conv = lily.translate.LilypondConverter()
  File "C:\Python34\lib\site-packages\music21\lily\translate.py", line 147, in __init__
    self.setupTools()
  File "C:\Python34\lib\site-packages\music21\lily\translate.py", line 177, in setupTools
    versionString = versionString.split()[-1] …
Run Code Online (Sandbox Code Playgroud)

python music21

5
推荐指数
1
解决办法
2544
查看次数

Music21 Midi错误:类型对象'_io.StringIO'没有属性'StringIO'.怎么解决?

所以,我已经按照这个问题来播放Music21的声音了,这里是代码:

from music21 import *
import random

def main():

#  Set up a detuned piano 
#  (where each key has a random 
#  but consistent detuning from 30 cents flat to sharp)
#  and play a Bach Chorale on it in real time.


    keyDetune = []
    for i in range(0, 127):
        keyDetune.append(random.randint(-30, 30))

    b = corpus.parse('bach/bwv66.6')
    for n in b.flat.notes:
        n.microtone = keyDetune[n.midi]
    sp = midi.realtime.StreamPlayer(b)
    sp.play()

    return 0

if __name__ == '__main__':

    main()
Run Code Online (Sandbox Code Playgroud)

这是追溯:

Traceback …
Run Code Online (Sandbox Code Playgroud)

python python-3.x music21

4
推荐指数
1
解决办法
6841
查看次数

无法在 MIDI 文件中写入“其余”对象

我有一个包含多个 ' notes'、' chords' 和 ' rest' 对象的列表,并尝试将它们写入 MIDI 文件。我正在尝试使用以下代码

midi_stream = stream.Stream(output_notes)
midi_stream.write('midi', fp='test_output.mid')
Run Code Online (Sandbox Code Playgroud)

在读取创建的 midi 文件时,我发现restmidi 文件中没有附加“ ”对象。

output_notes 变量的内容是:

 <music21.note.Rest rest> <music21.chord.Chord A1 E2>
 <music21.chord.Chord A1 E2> <music21.chord.Chord A1 E2>
 <music21.note.Rest rest> <music21.chord.Chord A1 E2>
 <music21.note.Rest rest> <music21.note.Rest rest>
 <music21.chord.Chord A1 E2> <music21.chord.Chord A1 E2>
 <music21.note.Rest rest> <music21.note.Rest rest>
 <music21.note.Rest rest> <music21.note.Note A> <music21.note.Rest rest>
 <music21.note.Rest rest> <music21.note.Note A> <music21.note.Rest rest>
 <music21.note.Rest rest> <music21.note.Rest rest> <music21.note.Note G>
 <music21.note.Note G> <music21.note.Note G> <music21.note.Note …
Run Code Online (Sandbox Code Playgroud)

python deep-learning music21

4
推荐指数
1
解决办法
1080
查看次数

如何在 Python 中将 ABC 表示法的音乐文件转换为 midi 或 mp3

我有 abc 表示法文件,我想将其转换为 midi 或 mp3 格式。

我确实找到了music21 (docs) 库,它说它可以将 abc 转换为 midi,但我不知道如何操作。

我还发现了一个网站mandolintab可以将下面的文件转换为 midi。我希望在 python 中做同样的事情。

有人可以帮忙吗?

p6
  E  (G/A/) \
| eAFE ~Ez | D2 zB AG | E2  EE        ED   |
        EE   E2   | (EA) A2   | Ac          ef   | g2 fe         | (e3 d) ec |
d2 BA Bd | c2 BA ^c/d/ | e2 A/A/ cA/A/ | Ad     c2  ||
((3c/d/e/)) | f2 ff e2 dc | d^c de f2 (gf/e/) | …
Run Code Online (Sandbox Code Playgroud)

python midi mp3 music21

4
推荐指数
1
解决办法
2999
查看次数

如何将music21中的输出保存为MIDI文件?

如何使用music21模块在Python中保存音频输出?我已阅读所述模块的整个[用户指南](http://music21.readthedocs.org/en/latest/usersGuide/index.html),但我找不到任何有关将输出保存为音频文件的信息可以通过Windows识别,无需任何其他软件(例如MIDI).

python audio midi music21

3
推荐指数
2
解决办法
3268
查看次数

是否可以使用music21分析mp3文件?

我正在寻找 python 库来找出以 MP3 格式录制的歌曲的键和节奏。我找到了 music21 库,允许这样做。但它似乎只适用于 MIDI 文件。有人知道如何使用 music21 解析 MP3 文件并获得所需的声音特征吗?如果不可能,请建议另一个库。

python mp3 music21

3
推荐指数
1
解决办法
1299
查看次数

如何替换 music21 乐谱中的音高

我正在尝试用另一个音高替换乐谱中的一个音高(最终目标是产生和声部分)。

>>> from music21 import *
>>> score = converter.parse('test.mid')
>>> type(score)
<class 'music21.stream.Score'>

>>> p0 = score.parts[0].pitches[0]
>>> p0sharp = p0.transpose(1)
>>> print p0
A3
>>> print p0sharp
B-3
>>> score.replace(p0, p0sharp)
>>> print score.parts[0].pitches[0]
A3
Run Code Online (Sandbox Code Playgroud)

我该怎么办?


更新:我在这里发布了我的“test.mid”文件。

music21

2
推荐指数
1
解决办法
932
查看次数

Music21:获取音符的曲目索引

我有一个多轨 MIDI 文件,正在用 music21 读取:

import music21

f = music21.midi.MidiFile()
f.open('1079-02.mid')
f.read()
stream = music21.midi.translate.midiFileToStream(f).flat
note_filter = music21.stream.filters.ClassFilter('Note')
for n in stream.recurse().addFilter(note_filter):
  offset = n.offset # offset from song start in beats
  note = n.pitch # letter of the note, e.g. C4, F5
  midi_note = n.pitch.midi # midi number of the pitch, e.g. 60, 72
  duration = n.duration # duration of the note in beats
  instrument = n.activeSite.getInstrument() # instrument voice
Run Code Online (Sandbox Code Playgroud)

我想弄清楚该流中的每个音符属于哪个轨道。例如,当我在 GarageBand 中打开文件时,音符会组织成曲目:

在此输入图像描述

在 中mido,每个轨道 …

python midi music21 mido

2
推荐指数
1
解决办法
460
查看次数

如何使用python获取midi轨道乐器名称?

我发现的唯一方法是使用music21

m = converter.parse(path)
for m in m.parts:
    print(m[0])
Run Code Online (Sandbox Code Playgroud)

但它的输出不正确:

Piano


Piano
Run Code Online (Sandbox Code Playgroud)

空位也是一个乐器名称,它只是无法读取它,但问题不在文件中,因为我可以将其正确导入到tuxguitar 中。此外,music21 无法传递大的 MIDI 文件并卡住。我尝试了 mido 库,但没有办法获得 track instrument,我找到了一个属性,但不知道如何使用它。

如何用python解析midi曲目的乐器?

python midi midi-instrument music21

0
推荐指数
1
解决办法
1779
查看次数