~/talk

Scala and Arpeggio - Audio processing with Scala Native and FS2

Talkat Scala Days 2025 · 2025-08-19..08-21· [creative-coding, scala]
links:none on file
slides:none on file

Live Scala Native app called Arpeggio constructs a guitar pedalboard as composable FS2 pipes that run on an audio stream of floats (sampled ~4,100 Hz) and use PortAudio via SN bindings for I/O. Implementations include a gain/volume, symmetric hard clipping and a Clone‑style blend (clean + clipped signal), and a Schroeder reverb built from four parallel echo stages and two allpass stages. It runs with low latency on modern CPUs, reverb is CPU and GC sensitive over minutes, and the code is on GitHub.

AI-written summary · about

  1. 0:00Introduction
  2. 1:01Pedals on my board
  3. 5:26Sound and computer vision
  4. 7:11Infinite audio streams
  5. 9:01FS2 core concepts
  6. 11:04Audio interfaces with FS2
  7. 13:57Pedals as FS2 pipes
  8. 14:19Volume pedal in Scala
  9. 15:44Overdrive pedal history
  10. 17:55Clone Centaur pedal
  11. 21:51Splitting merging audio signals
  12. 24:05Schroeder reverb algorithm
  13. 26:55Delay lines without buffers
  14. 28:42Echo stages for reverb
  15. 30:06Live demos and thoughts
  16. 30:32Q&A
~/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.