Music and MIDI with Java and Kotlin (#54)
Foojay.io, the Friends Of OpenJDK! - A podcast by Foojay.io

Categories:
MIDI is a universal standard for communicating between musical instruments and computers. Within OpenJDK, there is a whole Java package dedicated to MIDI communication and data handling. Is it up to date? Are there better approaches now? And what can we do with music, Java, and Kotlin? Let's find out...GuestsAtsushi Enohttps://atsushieno.github.io/https://g0v.social/@atsushieno https://fedibird.com/@atsushieno Geert Bevin https://www.linkedin.com/in/gbevin/ https://gbevin.com/cv/ https://www.uwyn.com/ https://www.gbevin.com/Content00:00 Introduction of the topic and guests04:27 What is MIDI?Learn more about MIDI and the javax.sound implementation in OpenJDK:https://docs.oracle.com/javase/tutorial/sound/overview-MIDI.html https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/sound/midi/package-summary.html https://github.com/openjdk/jdk/tree/master/src/java.desktop/share/classes/javax/sound/midi https://www.baeldung.com/java-packages-vs-javax 09:53 MIDI Polyphonic Expression (MPE)https://roli.com/mpe https://midi.org/midi-polyphonic-expression-mpe-specification-adopted https://midi.org/insights 11:23 Instruments require real-time systems15:18 Why Atsushi used Kotlin for ktmidihttps://github.com/atsushieno/ktmidi https://github.com/jazz-soft/JZZ https://github.com/thestk/rtmidi Applications created with ktmidi: https://github.com/atsushieno/ktmidi/discussions/14 https://play.google.com/store/apps/details?id=org.androidaudioplugin.resident_midi_keyboard&pli=1 23:31 Using ktmidi with JavaFX and the benefits of Kotlinhttps://melodymatrix.rocks 25:00 Geert sticks to Java and loves the 6-month releases27:24 Apps created by Geert for various Apple deviceshttps://uwyn.com/midiwrist-unleashed 31:11 Atsushi uses MIDI to develop audio plugins32:34 About Geert found back his love for Java and created Rife2 and BLDhttps://rife2.com https://rife2.com/bld https://software.moogmusic.com/store Erik Thauvin https://www.linkedin.com/in/ethauvin/ 43:13 How things just happen and finding a good open-source approachhttps://codewithrockstar.com https://webtechie.be/post/2024-06-18-jfxinaction-christopher-schnick https://www.jdeploy.com 50:46 Conclusions