gpt4 book ai didi

Python music21 库从流创建 png

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:48 27 4
gpt4 key购买 nike

我在从 music21 中的 stream 对象生成 png 文件时遇到问题。我阅读文档并使用 ConverterLilypond 来执行此操作。

  chords = stream.Stream()

d7 = chord.Chord(['D4', 'F4', 'A4', 'C5'])
dmin7 = chord.Chord(['D4', 'F-4', 'A4', 'C5'])
dmaj7 = chord.Chord(['D4', 'F#4', 'A4', 'C#5'])
chords.append(d7)
chords.append(dmin7)
chords.append(dmaj7)
conv = converter.subConverters.ConverterLilypond()
conv.write(chords, fmt='lilypond', fp='file', subformats=['png'])

此代码将生成 png 文件、eps 文件计数文件、tex 和 texi 文件。为什么?如何只生成一个文件,PNG 文件?

当我尝试在 jupyter 中运行这段代码时,我会使用 chords.show() 来显示图像,但通常在脚本中 show 会生成一个文件,不是图形。

编辑:

带有环境变量的代码

from music21 import *

us = environment.UserSettings()
us['lilypondPath'] = 'C:/Program Files (x86)/LilyPond/usr/bin/lilypond.exe'
us['musescoreDirectPNGPath'] = 'C:/Program Files (x86)/MuseScore 2/bin/MuseScore.exe'
us['musicxmlPath'] = 'C:/Program Files (x86)/MuseScore 2/bin/MuseScore.exe'

d7 = chord.Chord(['D4', 'F4', 'A4', 'C5'])

stream = stream.Stream()
stream.show('musicxml.png')

最佳答案

最好的接口(interface)是调用:

chords.show('lily.png')

这将运行一切。但是 Lilypond 接口(interface)不是那么强大,所以最好安装 MuseScore 并将 .music21rc 中的 MusescoreDirectPNGPath 设置为指向 mscore 可执行文件,然后调用 chords.show('musicxml.png') 它将通过 MusicXML 进行更好的翻译。

关于Python music21 库从流创建 png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com