class Music::Performance::MidiUtil

Constants

MIDI_NOTENUMS
QUARTER

Public Class Methods

delta(duration, ppqn) click to toggle source
# File lib/music-performance/arrangement/midi/midi_util.rb, line 6
def self.delta duration, ppqn
  pulses = (duration / QUARTER) * ppqn
  return pulses.round
end
dynamic_to_volume(dynamic) click to toggle source
# File lib/music-performance/arrangement/midi/midi_util.rb, line 28
def self.dynamic_to_volume dynamic
  (dynamic * 127).round
end
note_velocity(accented) click to toggle source
# File lib/music-performance/arrangement/midi/midi_util.rb, line 32
def self.note_velocity(accented)
  accented ? 112 : 70
end
pitch_to_notenum(pitch) click to toggle source
# File lib/music-performance/arrangement/midi/midi_util.rb, line 24
def self.pitch_to_notenum pitch
  MIDI_NOTENUMS[pitch.round]
end
usec_per_qnote(notes_per_sec) click to toggle source
# File lib/music-performance/arrangement/midi/midi_util.rb, line 11
def self.usec_per_qnote notes_per_sec
  spn = 1.0 / notes_per_sec
  spqn = spn / 4.0
  return (spqn * 1_000_000).to_i
end