Making Noise with Kotlin Native
summary
Kotlin/Native generates native binaries with a C interop layer so a terminal aquarium becomes a hardware audio synth: a C DSP library produces PCM sine waves, PortAudio handles cross‑platform audio, and ncurses drives the UI. Build uses the Konan compiler + Gradle plugin, Docker for docker cross‑compile to arm32hf Raspberry Pi, and optional static linking to embed libs. The demo plays live audio from the compiled binary and the module integration is working but CV I/O is still pending.
AI-written summary · about
chapters (51)
- 0:00Intro
- 1:14Modular synthesizer
- 3:32Why Kotlin Native
- 5:28Quick Overview
- 6:08Convert C code to Kotlin
- 6:58GCC
- 8:03Hopper
- 8:36Program KXE
- 9:15Inspect Assembly
- 10:00Aquarium
- 10:38POSIX
- 11:48Gradle
- 13:15Gradle W
- 13:49Sea Lion
- 17:33Kotlin Native Module
- 18:04My Fish
- 18:41Cottons Binding
- 19:15Read a File
- 21:22Interface with Standard Library
- 22:45Memory Allocation
- 23:23Memory Management
- 24:30C Interface
- 26:04Compile
- 26:41Dependencies
- 27:37Def Files
- 28:31Gradle Task
- 30:49Embed a static library
- 31:21Embed the dotA
- 31:34The difference between dotA and dotLive
- 31:57C pointer
- 32:28C class mapping
- 33:16Window C pointer
- 33:30Cleaning up the API
- 33:59Building a synthesizer
- 34:35Writing in C
- 35:19Sine Wave Generator
- 36:07PortAudio
- 37:11PlayStream
- 37:23Header File
- 37:43Def File
- 38:30Fish as Instrument
- 39:11Tap a Raspberry Pi
- 39:23CrossCompile
- 39:56Docker
- 40:14Raspberry Pi
- 41:25pitchfork
- 42:47modular rig
- 43:14terminal tedium
- 44:09Takeaways
- 44:36Kotlin Native Wishlist
- 45:41Resources
related talks
38mKotlin/Native
36mBridge the Physical World: Kotlin/Native on Raspberry Pi
46mLive Coding Kotlin/Native Snake
43mThe Triumphs and Tribulations of Kotlin-Native in Practice
44mDeep Dive into Kotlin/Native
26mKotlin/Native for Multiplatform Development
54mKotlin/Native: Answers You Won't Find on the Internet
22mIntegrate Multiple Kotlin/Native Libraries into Your Android/iOS Apps, Vincent Nicolle Coyote System
