~/talk

Implementing a MIDI player in Kotlin

Talkat KotlinConf 2023 · 2023-04-12..04-14· Berlage Zaal· [kotlin]
links:none on file
slides:none on file

Step‑by‑step implementation shows a working MIDI player built in Kotlin using Kotlin coroutines and the JVM standard library that reads MIDI files via the Java MIDI API, parses tracks and ticks into a simple note data structure (note, beat, duration, velocity), schedules playback with a coroutine-based scheduler and metronome, connects to external synths and SuperCollider via Open Sound Control, supports tempo changes, loops and sample drums, includes live reloading via Kotlin scripting and demos a live performance with Punkt while noting millisecond timing limits from the JVM/GC.

AI-written summary · about

  1. 0:00Intro
  2. 1:51MIDI? At Kotlin conference?
  3. 2:55What is MIDI?
  4. 4:39How old is MIDI?
  5. 6:30Is it still alive?
  6. 7:17Is MIDI still alive?
  7. 7:54Solid foundation
  8. 10:26Reverse engineering MIDI sequence
  9. 12:07MIDI messages
  10. 13:21MIDI commands
  11. 17:16MIDI player - the plan
  12. 17:53MIDI melody v2
  13. 19:07MIDI timing
  14. 21:44Metronome
  15. 28:05What's missing?
  16. 28:55Open Sound Control
  17. 30:02OSC Time Tag
  18. 34:48Kotlin Scripting
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.