Package midievent
provides MIDI event type mappings for Go-lang. See docs:
$ go get github.com/xlab/midievent
for ev := range midiIn.Source() {
msg := portmidi.Message(ev.Message)
if midievent.IsNoteOn(midievent.Event(msg.Status())) {
n := int(msg.Data1())
log.Printf("note %d (%.3fHz)", n, noteToFreq(n))
}
}
CC0 (public domain).