阿壮博客阿壮博客阿壮博客

mido怎么把日期调回去 Mido表怎么调日期

介绍Mido

Mido是一个Python编写的MIDI库,它允许您处理MIDI文件和生成MIDI数据。该库是跨平台的,并支持Python 2和Python 3。

Mido的一个非常有用的功能是 MIDI 消息的时间戳。这使您能够准确地指定MIDI消息的时间,以便它们在节奏上正确播放。

为什么要将日期调回去

您可能会遇到一种情况,在 Mido 中加载了MIDI文件,但它的时间戳是相对于您的加载时间。例如,您可能在2019年打开了一个MIDI文件,其中的时间戳都设定为当前时间戳。但是,您现在想改变这些消息的时间戳,使它们反映该文件的原始创建日期。

此时,您可能需要将日期调回去,以便MIDI文件中的各种时间戳反映它们应有的时间。

如何在Mido中将日期调回去

要将日期调回去,您需要知道原始MIDI文件创建的日期。您可以使用Python的 datetime 模块获取该日期。

首先,将MIDI文件加载到Mido中:

```python

import mido

mid = mido.MidiFile('example.mid')

```

接下来,获取原始MIDI文件创建的日期。假设该文件是2019年5月1日创建的:

```python

from datetime import datetime

original_date = datetime(2019, 5, 1)

```

现在,对于每个MIDI消息,您可以计算出该消息在原始MIDI文件创建日期之后的时间(以秒为单位)。例如,假设这个MIDI消息的时间戳是相对于您加载该文件的当前时间戳是0.5秒:

```python

from datetime import timedelta

message_timestamp = 0.5

delta = timedelta(seconds=message_timestamp)

original_time = original_date + delta

```

上面的代码将计算该消息的时间戳应该是原始MIDI文件创建日期之后的0.5秒。

最后,将该新时间戳设置为MIDI消息的时间戳:

```python

message.time = mido.second2tick(original_time, mid.ticks_per_beat, mido.bpm2tempo(mid.tracks[0][0].tempo))

```

上面的代码将MIDI消息的时间戳设置为新时间戳。此处的 mid.ticks_per_beat 和 mid.tracks[0][0].tempo 是从MidiFile对象中提取的信息,分别是每拍的tick数和MIDI文件的初始BPM。

总结

在Mido中,您可以使用 Python 中的 datetime 模块来将 MIDI 文件中的时间戳从当前时间戳改变为原始创建日期之后的时间戳。这对于恢复原始MIDI文件的时间信息非常有用。

1.文章《mido怎么把日期调回去 Mido表怎么调日期》援引自互联网,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删举报等反馈请点击此处

2.文章《mido怎么把日期调回去 Mido表怎么调日期》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://100248.com/chao/628072.html

相关推荐

dw和ck手表相比哪个好 dw手表和ck手表哪个好

Introduction:Inrecentyears,smartwatcheshavebecomeincreasinglypopularamongconsumers.Theyprovidearangeoffeaturesbeyondsimplytellingthetime,f

T ANwANG是什么牌手表

TANWANG是什么牌手表TANWANG是一种高端品牌手表,它的设计理念是为了让消费者感受到高品质的奢华感。TANWANG手表的制造商是一家位于欧洲的知名手表品牌公司,他们注重质量和工艺细节,以实现顶尖的品质和非凡的设计。TANWANG手表设计别致,并且常常使用贵

万国表为什么这么贵 卡西欧的表为什么这么贵

什么是万国表?万国表是瑞士钟表品牌。它于1853年在斯托克曼成立,如今是全球最知名的钟表制造商之一。因其高质量、精准度和复杂机械而闻名。万国表的产品由专业工艺师手工制作,每一枚表都是独一无二的。这些表款的价格从几千美元到数十万美元不等。贵在哪里?万国表的价格主要由以下因素决定:材料:万国表选用的是最高级别的材料,如18K黄金、铂金、不锈钢等。这些材料本身就非常昂贵。制造工

tlssot有哪些男表 TlssoT手表价格1853男表

TLSSOT有哪些男表TLSSOT是一家专业的手表品牌,其推出的男表款式多种多样,下面介绍几款TLSSOT的男表。1.TLSSOT天文台系列男表这款TLSSOT天文台系列男表以星空为主题,表圈上刻有星座图案,表盘上纵横交错,仿佛夜空中的繁星。使用了ETA7750机芯,精密可靠。表背上还刻有“COSC??CERTIFIED??CHRO

一般男士买什么样的手表性价比高

前言手表作为男士的配饰之一,一直被视为身份和品位的象征。随着市场上手表的种类和品牌的增多,男士们也越来越难以选择到一款性价比高的手表。本篇文章将从品牌、款式、功能、材质等多个方面为大家推荐几款性价比高的手表。品牌推荐选购手表时,品牌是考

casio怎么选择城市 闲鱼怎么选择城市

Casio怎么选择城市Casio是一家拥有悠久历史的日本电子公司,致力于生产各种高品质电子产品。其中,Casio手表作为品牌的代表之一,一直以来备受消费者青睐。用Casio手表可以看到世界各地的时间,不同地区的时间差距也是有差别的。那么,对于不同的消费者来说,Casio在选择城市时有什么不同的策略呢?消费者的旅行需求与心理从整个市场的角度来看,消费者的旅行需求和心理是Cas

3000左右的的机械表有哪些推荐 3000左右的机械表推荐

机械表介绍机械表的定义机械表是一种使用机械运动来计时的腕表。其中主要有自动机械表和手动机械表两种类型。自动机械表依靠人手臂的震动来为表芯提供能量,而手动机械表需要通过手动上弦来提供能量。机械表的优点相比于石英表的精度和准确度,机械表的精度可能会有所欠缺。但机械表

ck手表镂空是什么系列 英国ck手表是什么牌子

CK手表镂空是什么系列CalvinKlein,简称CK,是全球著名的时尚品牌之一,其产品涵盖服装、鞋履、手袋、眼镜、香水、珠宝饰品和手表等多个领域。而CK手表是其中最受欢迎的产品之一,深受时尚人士喜爱。CK手表自1997年起推出,以精准、简约、现代的设计风格出名。而其镂空系列更是创造性的展现出了CK手表的时尚气息和品质。CK手表镂空系列的特点CK手表镂