首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >朱莉娅PyCall运行Music21模块的困难

朱莉娅PyCall运行Music21模块的困难
EN

Stack Overflow用户
提问于 2018-09-06 04:06:25
回答 1查看 426关注 0票数 2

我是一个初学者,很难使用朱莉娅的PyCall与麻省理工学院的Python音乐模块music21接口。

根据Music21 21的网站,为了用音乐符号显示一段简短的旋律,可以在Python中输入以下内容:

代码语言:javascript
复制
converter.parse("tinynotation: 3/4 c4 d8 f g16 a g f#").show()

下面是我在Julia中尝试执行这段代码时所做的工作:

我第一次初始化了music21,它看起来很有效:

代码语言:javascript
复制
@pyimport music21
music21: Certain music21 functions might need these optional packages: matplotlib, scipy; if you run into errors, install them by following the instructions at http://mit.edu/music21/doc/installing/installAdditional.html

然后,我尝试在Julia中重新创建上面的Python示例,方法是输入:

Converter.parse(“丁香符号: 3/4 c4 d8 f g16 a g f#").show()

代码语言:javascript
复制
I received this error:
ERROR: UndefVarError: converter not defined
Stacktrace:
 [1] eval(::Module, ::Any) at ./boot.jl:235

根据rickhg12hs的建议更新1,我尝试了music21.converter.parse("tinynotation: 3/4 c4 d8 f g16 a g f#").show()。

现在,我在' parse ':ERROR: type PyObject没有字段解析堆栈跟踪:1 eval(::模块,:Any)的./boot.jl:235上收到了这条错误消息

这似乎是一个改进,因为它现在在代码链的后面崩溃,在'Parse‘而不是’转换器‘。

更新2-修正了这个问题与点过载有关。基于这个链接,我尝试修改代码如下所示:

代码语言:javascript
复制
music21.converter[:parse]("tinynotation: 3/4 c4 d8 f g16 a g f#")[:show]()

但现在我发现了这个错误

代码语言:javascript
复制
FSPathMakeRef(/Applications/MuseScore 2.app/Contents/MacOS/mscore) failed with error -43.

我发现我要做的最后一件事就是下载MuseScore,现在问题已经解决了!

请参阅@crstnbr对此解决方案的丑陋和即将修复的更多上下文的回答。

非常感谢!纳库尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 05:32:29

我没有安装这个包(我马上就会测试它),但是下面的程序应该可以工作:

代码语言:javascript
复制
@pyimport music21 as m
m.converter[:parse]("tinynotation: 3/4 c4 d8 f g16 a g f#")[:show]() 

请注意,在Julia1.0中,可以说是丑陋的(但有系统的) [:fieldname]访问将在我这里的拉请求被合并后不久消失。这种语法的原因是朱莉娅不允许覆盖.访问功能。幸运的是,这种情况在Julia1.0中发生了变化。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52196356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档