Event#
Channel events#
下列事件都有一个 channel
属性,
NoteOff#
>>> from infmidi import NoteOff
>>> NoteOff('A4')
NoteOff(name="A4", value=69, frequency=440.00, velocity=127, location=0.00, channel=0)
备注
使用 Note 可以更方便的创建音符。
NoteOn#
>>> from infmidi import NoteOn
>>> NoteOn('A4')
NoteOn(name="A4", value=69, frequency=440.00, velocity=127, location=0.00, channel=0)
备注
使用 Note 可以更方便的创建音符。
NotePressure#
>>> from infmidi import NotePressure
>>> NotePressure('A4')
NotePressure(name="A4", value=69, frequency=440.00, pressure=127, location=0.00, channel=0)
待处理
该事件后续可能会添加到 Note 中。
ControlChange#
>>> from infmidi import ControlChange as CC
>>> CC(0, 66)
>>> ControlChange(control=0, value=66, description="Bank Select", location=0.00, channel=0)
提示
点击 速查表/CC 查看CC的完整列表
ProgramChange#
>>> from infmidi import ProgramChange as PC
>>> PC(0)
ProgramChange(id=0, name="Acoustic Grand Piano", location=0.00, channel=0)
>>> PC("Acoustic Guitar(nylon)")
ProgramChange(id=24, name="Acoustic Guitar(nylon)", location=0.00, channel=0)
提示
点击 速查表/GM Instrument 查看GM 乐器的完整列表。
ChannelPressure#
>>> from infmidi import ChannelPressure as CP
>>> CP(66, channel=10)
ChannelPressure(pressure=66, location=0.00, channel=10)
PitchBend#
>>> from infmidi import PitchBend as PB
>>> PB(0.5)
PitchBend(pitch=0.50, location=0.00, channel=0)
待处理
该事件后续可能会添加到 Note 中,来实现微分音。
Sysex events#
TODO.#
Meta events#
Text#
>>> from infmidi import Text
>>> Text('text')
Text(text="text", location=0.00)
Copyright#
>>> from infmidi import Copyright
>>> Copyright('text')
Copyright(text="text", location=0.00)
Lyric#
>>> from infmidi import Lyric
>>> Lyric('text')
Lyric(text="text", location=0.00)
Marker#
>>> from infmidi import Marker
>>> Marker('text')
Marker(text="text", location=0.00)
CuePoint#
>>> from infmidi import CuePoint
>>> CuePoint('text')
CuePoint(text="text", location=0.00)
TrackName#
>>> from infmidi import TrackName
>>> TrackName("Melody track")
TrackName(name="Melody track", location=0.00)
警告
你不需要使用这个事件, Track
和 Midi
都有一个 name
属性,设置该属性会自动生成``TrackName``事件。
SetBpm#
>>> from infmidi import SetBpm
>>> SetBpm(123. , location=32.)
SetBpm(bpm=123.00, location=32.00)
TimeSignature#
如果你的 midi 文件只有一个主要的拍号,使用类似 Midi(time_signature="4/4")
来初始化你的 Midi
对象。 否则, 使用 mid.add(TimeSignature("3/4"), location)
在 location
节拍处添加额外的拍号。
>>> from infmidi import TimeSignature
>>> TimeSignature('4/4')
>>> TimeSignature(signature="4/4", location=0.00)
>>> signature = TimeSignature('3/4')
>>> signature.numerator
>>> 3
>>> signature.denominator
>>> 4
KeySignature#
如果你的 midi 文件只有一个主调,使用 like Midi(key_signature="C#")
来初始化你的 Midi
对象。 否则,使用 mid.add(KeySignature("C#"), location)
在``location`` 节拍处添加额外的调号。
>>> from infmidi import KeySignature
>>> KeySignature('C#')
>>> KeySignature(signature="C#", location=0.00)
SequencerSpecific#
>>> from infmidi import SequencerSpecific
>>> SequencerSpecific(data=(11, 22, 33))
SequencerSpecific(data=(11, 22, 33), location=0.00)