Foojay.io, the Friends Of OpenJDK! - S03 / E54

Music and MIDI with Java and Kotlin (#54)

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...

Guests

Atsushi Eno

Geert Bevin

Content

00:00 Introduction of the topic and guests
04: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 systems
15:18 Why Atsushi used Kotlin for ktmidi
https://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 Kotlin
https://melodymatrix.rocks
25:00 Geert sticks to Java and loves the 6-month releases
27:24 Apps created by Geert for various Apple devices
https://uwyn.com/midiwrist-unleashed
31:11 Atsushi uses MIDI to develop audio plugins
32:34 About Geert found back his love for Java and created Rife2 and BLD
https://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 approach
https://codewithrockstar.com
https://webtechie.be/post/2024-06-18-jfxinaction-christopher-schnick
https://www.jdeploy.com
50:46 Conclusions

About Foojay.io, the Friends Of OpenJDK!

The podcast of foojay.io, a central resource for the Java community’s daily ​information needs, a place for friends of OpenJDK, ​and a community platform for the Java ecosystem​ — bringing together and helping Java professionals everywhere.

Listen at ...

Follow us ...