【问题标题】:How to save output in music21 as a MIDI file?如何将 music21 中的输出保存为 MIDI 文件?
【发布时间】:2015-12-20 14:49:46
【问题描述】:

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

【问题讨论】:

    标签: python audio midi music21


    【解决方案1】:

    如果s 是您的Stream,请致电:

    fp = s.write('midi', fp='pathToWhereYouWantToWriteIt')

    或立即听到

    s.show('midi')

    【讨论】:

      【解决方案2】:

      在本用户指南第 8 章的某处,有一些关于以多种格式打开和保存文件的重要信息: http://web.mit.edu/music21/doc/usersGuide/usersGuide_08_installingMusicXML.html

      如果您自己制作了名为“stream1”的音乐,您可以轻松地将其保存为 MIDI 文件,如下所示:

      stream1.write("midi", "blah.mid")
      

      我还是新手,但我认为这比打开文件等更简单。

      【讨论】:

        【解决方案3】:

        有一个MidiFile 对象,它知道如何write a midi file

        但是没有关于如何使用它的文档。

        但是,在它的source 中有一个testBasicExport 测试,可能这是一个好的开始,它做了这样的事情:

        mt = MidiTrack(1)
        
        # duration, pitch, velocity
        data = [[1024, 60, 90], [1024, 50, 70], [1024, 51, 120],[1024, 62, 80], ]
        
        # Omit this part here, but full code in the links above
        populateTrackFromData(mt, data)
        
        mf = MidiFile()
        mf.ticksPerQuarterNote = 1024 # cannot use: 10080
        mf.tracks.append(mt)
        
        mf.open('/src/music21/music21/midi/out.mid', 'wb')
        mf.write()
        mf.close()
        

        【讨论】:

        • 使用 stream.write('midi') 代替如下。 MidiFile主要是内部使用函数。
        猜你喜欢
        • 2023-04-05
        • 2019-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多