首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIDO: ValueError:变量int必须是正整数

MIDO: ValueError:变量int必须是正整数
EN

Stack Overflow用户
提问于 2020-09-12 02:39:48
回答 1查看 69关注 0票数 0

在我的代码中,我得到

代码语言:javascript
复制
Traceback (most recent call last):
  File "Midi Projects/symbolToChord_v1.py", line 160, in <module>
    mo.save("songWithChords.mid") 
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mido/midifiles/midifiles.py", line 432, in save
    self._save(file)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mido/midifiles/midifiles.py", line 445, in _save
    write_track(outfile, track)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mido/midifiles/midifiles.py", line 251, in write_track
    data.extend(encode_variable_int(msg.time))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mido/midifiles/meta.py", line 112, in encode_variable_int
    raise ValueError('variable int must be a positive integer')
ValueError: variable int must be a positive intege

我想我在MIDO上运行的是最新版本。

代码语言:javascript
复制
pip freeze | grep mido
mido==1.2.9

我做错了什么?

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-04-28 10:00:20

我不是专家,但我也遇到过类似的问题。

mido中的时间属性有点令人困惑,因为它既可以表示刻度,也可以表示时间增量。从文档(https://mido.readthedocs.io/en/latest/midi_files.html#about-the-time-attribute ):

时间属性有几种不同的用法:在轨道内部,它是以刻度为单位的增量时间。这必须是一个整数。在由play()产生的消息中,它是增量时间(以秒为单位)(自上次产生的消息以来经过的时间)(仅对实现者重要)在某些方法中,它用于以刻度或秒为单位的绝对时间

您还可以在参考https://github.com/mido/mido/issues/189中查看此github问题

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

https://stackoverflow.com/questions/63852595

复制
相关文章

相似问题

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